Example #1
0
    private void setFingerBones(ref Transform[] bones, Vector2 angles, Senso.EFingerType fingerType)
    {
        if (fingerType == Senso.EFingerType.Thumb)
        {
            setThumbBones(ref bones, ref angles);
        }
        else
        {
            var fingerIdx = (int)fingerType;
            var vec       = new Vector3(-angles.y, 0, angles.x);
            if (vec.x > 0.0f)
            {
                vec.z += fingerInitialRotations[fingerIdx][0].eulerAngles.z;
                bones[0].localEulerAngles = vec;
            }
            else
            {
                var v = vec;
                v.x /= 3.0f;
                bones[0].localRotation = fingerInitialRotations[fingerIdx][0];
                bones[0].Rotate(v);
                vec.z = 0.0f;

                vec.x /= 1.5f;
                for (int j = 1; j < bones.Length; ++j)
                {
                    bones[j].localRotation = fingerInitialRotations[fingerIdx][j];
                    bones[j].Rotate(vec);
                }
            }
        }
    }
Example #2
0
 public void VibrateFinger(Senso.EFingerType finger, ushort duration, byte strength)
 {
     if (m_sensoHandsController.IsAlive)
     {
         SensoHandsController man = m_sensoHandsController.Target as SensoHandsController;
         man.SendVibro(HandType, finger, duration, strength);
     }
 }
Example #3
0
    void TriggerButton()
    {
        if (ButtonListeners != null)
        { // Trigger our callbacks
            ButtonListeners.Invoke(this);
        }

        foreach (SensoHandExample InteractionObj in ActiveControllers)
        { // Trigger a response on any active controllers
            foreach (string VibroFinger in ActiveFingers)
            {
                Senso.EFingerType finger = (Senso.EFingerType)Enum.Parse(typeof(Senso.EFingerType), VibroFinger);
                switch (ButtonNumber)
                {
                case 1: InteractionObj.VibrateFinger(finger, 500, 5); break;

                case 2: break;

                case 3: break;

                case 4: break;

                case 5: break;

                case 6: break;

                case 7: break;

                case 8: break;

                case 9: break;

                case 10: break;

                default: InteractionObj.VibrateFinger(finger, 500, 5); break;
                }
            }
        }
    }
Example #4
0
 public void SendVibro(Senso.EPositionType handType, Senso.EFingerType finger, ushort duration, byte strength)
 {
     sensoThread.VibrateFinger(handType, finger, duration, strength);
 }