コード例 #1
0
 // Update is called once per frame
 void FixedUpdate()
 {
     if (ledgeScript.GetGrabbing())
     {
         RaycastHit L_hit;
         RaycastHit R_hit;
         //Physics.Raycast(IKRayOrigin.transform.position + originOffset, -IKRayOrigin.transform.up + leftVector, out L_hit, ledgeScript.grabHeight)
         if (Physics.Raycast(IKRayOriginLeft.position, IKRayOriginLeft.forward, out L_hit, grabbableLayer))
         {
             leftHandIK = true;
             Debug.Log(L_hit.collider.name);
             leftHandPos = L_hit.point;
             leftHandRot = Quaternion.FromToRotation(Vector3.forward, L_hit.transform.right);
         }
         else
         {
             leftHandIK = false;
         }
         //Physics.Raycast(IKRayOrigin.transform.position + originOffset, -IKRayOrigin.transform.up + rightVector, out R_hit, ledgeScript.grabHeight)
         if (Physics.Raycast(IKRayOriginRight.position, IKRayOriginRight.forward, out R_hit, grabbableLayer))
         {
             Debug.Log(R_hit.collider.name);
             rightHandIK  = true;
             rightHandPos = R_hit.point;
             rightHandRot = Quaternion.FromToRotation(Vector3.forward, R_hit.transform.right);
         }
         else
         {
             rightHandIK = false;
         }
     }
 }