private void Update()
    {
        // Update the position of the finger trigger based on the position of the index tip of its parent's hand
        Transform indexTipTransform = ovrAvatarScript.GetHandTransform(OvrAvatar.HandType.Right, OvrAvatar.HandJoint.IndexTip);

        if (indexTipTransform)
        {
            transform.position = indexTipTransform.position;
        }
    }
Esempio n. 2
0
    public PlayerData GetCurrentPlayerData()
    {
        Transform  left         = avatar.GetHandTransform(OvrAvatar.HandType.Left, OvrAvatar.HandJoint.HandBase);
        Transform  right        = avatar.GetHandTransform(OvrAvatar.HandType.Right, OvrAvatar.HandJoint.HandBase);
        GameObject parent       = myPlayerObject.GetComponent <NetworkedRootController>().ovr_parent;
        PlayerData updated_data = new PlayerData {
            camera_p      = eye_anchor.transform.position,
            camera_f      = eye_anchor.transform.forward,
            left_wrist_p  = left.position + (wrist_forward_offset * left.forward) + (wrist_up_offset * left.up) - (wrist_right_offset * left.right),
            right_wrist_p = right.position + (wrist_forward_offset * right.forward) + (wrist_up_offset * right.up) + (wrist_right_offset * right.right),
            left_p        = left.position,
            right_p       = right.position,
            parent_p      = parent == null ? Vector3.zero : parent.transform.position,
            camera_r      = eye_anchor.transform.rotation,
            camera_ey     = eye_anchor.transform.eulerAngles.y,
            hp            = this.hp,
            update_id     = this.update_id,
        };

        return(updated_data);
    }