예제 #1
0
 private void LateUpdate()
 {
     if (isDetectingHand)
     {
         if (!materialSet)
         {
             ViveSR_DualCameraDepthCollider.ChangeColliderMaterial(handMaterial);
             materialSet = true;
         }
         Mesh handMesh = SRWorksHand.GetDynamicHandMesh();
         if (handMesh != null)
         {
             Vector3    outNearPoint, outFarPoint;
             Quaternion handRot = Quaternion.identity;
             SRWorksHand.Instance._findHandFromVerticesUpdate2(handMesh.triangles, handMesh.vertices, out outNearPoint, out outFarPoint, out handRot);
             if (_handObjNear != null)
             {
                 _handObjNear.transform.position = outNearPoint;
                 _handObjNear.transform.rotation = handRot;
             }
             if (_handObjFar != null)
             {
                 _handObjFar.transform.position = outFarPoint;
                 _handObjFar.transform.rotation = handRot;
             }
             if (_handObjArm != null)
             {
                 _handObjArm.transform.position = outNearPoint;
                 _handObjArm.transform.forward  = outFarPoint - outNearPoint;
             }
         }
     }
 }
        public void SetDynamicMesh(bool isOn)
        {
            ViveSR_DualCameraImageCapture.EnableDepthProcess(isOn);
            ViveSR_DualCameraDepthCollider.UpdateDepthCollider = isOn;
            ViveSR_DualCameraDepthCollider.SetColliderEnable(isOn);

            ViveSR_DualCameraDepthCollider.ColliderMeshVisibility = isOn ? ShowDynamicCollision : false;
        }
 private void Awake()
 {
     ShowDynamicCollision = false;
     ViveSR_DualCameraDepthCollider.ChangeColliderMaterial(CollisionMaterial);
 }