示例#1
0
    //Haptic Properties generic function
    private void ReadHapticProperties(int ObjId, GameObject obj)
    {
        myHapticPropertiesScript = obj.transform.GetComponent <HapticProperties>();

        if (myHapticPropertiesScript == null)        //Set default Values
        {
            PluginImport.SetStiffness(ObjId, 1.0f);
            PluginImport.SetDamping(ObjId, 0.0f);
            PluginImport.SetStaticFriction(ObjId, 0.0f);
            PluginImport.SetDynamicFriction(ObjId, 0.0f);
            PluginImport.SetTangentialStiffness(ObjId, 0.0f);
            PluginImport.SetTangentialDamping(ObjId, 0.0f);
            PluginImport.SetPopThrough(ObjId, 0.0f);
            PluginImport.SetPuncturedStaticFriction(ObjId, 0.0f);
            PluginImport.SetPuncturedDynamicFriction(ObjId, 0.0f);
            PluginImport.SetMass(ObjId, 0.0f);
            PluginImport.SetFixed(ObjId, true);
            Debug.Log("Haptic Characteristics not set for " + obj.name);
        }
        else
        {
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("stiffness"), myHapticPropertiesScript.stiffness);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("damping"), myHapticPropertiesScript.damping);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("staticFriction"), myHapticPropertiesScript.staticFriction);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("dynamicFriction"), myHapticPropertiesScript.dynamicFriction);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("tangentialStiffness"), myHapticPropertiesScript.tangentialStiffness);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("tangentialDamping"), myHapticPropertiesScript.tangentialDamping);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("popThrough"), myHapticPropertiesScript.popThrough);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("puncturedStaticFriction"), myHapticPropertiesScript.puncturedStaticFriction);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("puncturedDynamicFriction"), myHapticPropertiesScript.puncturedDynamicFriction);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("mass"), myHapticPropertiesScript.mass);
            PluginImport.SetHapticProperty(ObjId, ConverterClass.ConvertStringToByteToIntPtr("fixed"), System.Convert.ToInt32(myHapticPropertiesScript.fixedObj));
        }
    }