Esempio n. 1
0
    // Use this for initialization
    void Start()
    {
        Type = "constant";
        setIntPtr();
        PluginImport.SetEffect(_type, effect_index, gain, magnitude, duration, frequency, _position, _direction);
        PluginImport.StartEffect(effect_index);

        InvokeRepeating("ChangeForce", 2.0f, 0.5f);
    }
Esempio n. 2
0
    public static void SetEnvironmentForce(string nType, int index, float[] positionEffect, float[] directionEffect, float gain, float magnitude, float duration, float frequency)
    {
        //convert String to IntPtr
        IntPtr type = ConverterClass.ConvertStringToByteToIntPtr(nType);
        //Convert float[3] to intptr
        IntPtr position = ConverterClass.ConvertFloat3ToIntPtr(positionEffect);
        //Convert float[3] to intptr
        IntPtr direction = ConverterClass.ConvertFloat3ToIntPtr(directionEffect);

        //Set the effect
        PluginImport.SetEffect(type, index, gain, magnitude, duration, frequency, position, direction);
        PluginImport.StartEffect(index);
    }
Esempio n. 3
0
    void ChangeForce()
    {
        Vector3 vec = transform.position - target.position;

        magnitude          = (vec.magnitude) / 1000;
        directionEffect[0] = vec[0];
        directionEffect[1] = vec[1];
        directionEffect[2] = vec[2];
        setIntPtr();
        PluginImport.StopEffect(effect_index);
        //Set the effect
        PluginImport.SetEffect(_type, effect_index, gain, magnitude, duration, frequency, _position, _direction);
        PluginImport.StartEffect(effect_index);
    }
    public void SetTangentialForce()
    {
        myTangentialForceScript = transform.GetComponent <TangentialForce>();

        /*****************************
        * Tangential Force Example
        *****************************/
        //convert String to IntPtr
        IntPtr type = ConverterClass.ConvertStringToByteToIntPtr(myTangentialForceScript.Type);
        //Convert float[3] to intptr
        IntPtr position = ConverterClass.ConvertFloat3ToIntPtr(myTangentialForceScript.positionEffect);
        //Convert float[3] to intptr
        IntPtr direction = ConverterClass.ConvertFloat3ToIntPtr(myTangentialForceScript.directionEffect);

        //Set the effect
        PluginImport.SetEffect(type, myTangentialForceScript.effect_index, myTangentialForceScript.gain, myTangentialForceScript.magnitude, myTangentialForceScript.duration, myTangentialForceScript.frequency, position, direction);
        PluginImport.StartEffect(myTangentialForceScript.effect_index);
    }
    /******************************************************************************************************************************************************************/

    //Haptic Effects generic functions
    public void SetEnvironmentViscosity()
    {
        //Get data from script
        myViscosityScript = transform.GetComponent <ViscosityEffect>();


        /*****************************
        * Viscous Force Example
        *****************************/
        //convert String to IntPtr
        IntPtr type = ConverterClass.ConvertStringToByteToIntPtr(myViscosityScript.Type);
        //Convert float[3] to intptr
        IntPtr position = ConverterClass.ConvertFloat3ToIntPtr(myViscosityScript.positionEffect);
        //Convert float[3] to intptr
        IntPtr direction = ConverterClass.ConvertFloat3ToIntPtr(myViscosityScript.directionEffect);

        //Set the effect
        PluginImport.SetEffect(type, myViscosityScript.effect_index, myViscosityScript.gain, myViscosityScript.magnitude, myViscosityScript.duration, myViscosityScript.frequency, position, direction);
        PluginImport.StartEffect(myViscosityScript.effect_index);
    }