public override void Update() { var boneTransform = _anchor.bone.transform; { _leftHandControl.control.rotation = _anchor.bone.rotation; _leftHandControl.control.Rotate(HandsAdjustments.OVRLeftRotate, Space.Self); _leftComparePointPosition = _anchor.GetInGameWorldPosition(); _leftComparePointPosition -= boneTransform.right * (_anchor.inGameSize.x / 2f + _handsDistance / 2f) * context.scaleChangeReceiver.scale; _leftComparePointPosition += boneTransform.up * _handsOffsetY * context.scaleChangeReceiver.scale; _leftHandControl.control.position = _leftComparePointPosition; _leftHandControl.control.Translate(Quaternion.Inverse(Quaternion.Euler(HandsAdjustments.OVRLeftRotate)) * HandsAdjustments.OVRLeftOffset * context.scaleChangeReceiver.scale, Space.Self); _leftHandControl.control.RotateAround(_leftComparePointPosition, _leftHandControl.control.up, _handRotate); // _leftHandControl.control.Translate(_anchor.bone.up * _handsOffsetY, Space.World); } { _rightHandControl.control.rotation = _anchor.bone.rotation; _rightHandControl.control.Rotate(HandsAdjustments.OVRRightRotate, Space.Self); _rightComparePointPosition = _anchor.GetInGameWorldPosition(); _rightComparePointPosition += boneTransform.right * (_anchor.inGameSize.x / 2f + _handsDistance / 2f) * context.scaleChangeReceiver.scale; _rightComparePointPosition += boneTransform.up * _handsOffsetY * context.scaleChangeReceiver.scale; _rightHandControl.control.position = _rightComparePointPosition; _rightHandControl.control.Translate(Quaternion.Inverse(Quaternion.Euler(HandsAdjustments.OVRRightRotate)) * HandsAdjustments.OVRRightOffset * context.scaleChangeReceiver.scale, Space.Self); _rightHandControl.control.RotateAround(_rightComparePointPosition, _rightHandControl.control.up, -_handRotate); // _rightHandControl.control.Translate(_anchor.bone.up * _handsOffsetY, Space.World); } }
public void Update() { // VisualCuesHelper.Cross(Color.green).transform.position = _anchor.GetInGameWorldPosition() + (-_anchor.RigidBody.transform.right * (_anchor.InGameSize.x / 2f + _context.handsDistance / 2f)); // TODO: Cancel out the hand size, whatever that is. Figure out if we should compute it or just hardcode it. _leftHandControl.control.position = _anchor.GetInGameWorldPosition() + (-_anchor.rigidBody.transform.right * (_anchor.inGameSize.x / 2f + _context.handsDistance / 2f)); _leftHandControl.control.eulerAngles = _anchor.rigidBody.rotation.eulerAngles; _leftHandControl.control.Rotate(new Vector3(0, 0, 90)); _rightHandControl.control.position = _anchor.GetInGameWorldPosition() + (_anchor.rigidBody.transform.right * (_anchor.inGameSize.x / 2f + _context.handsDistance / 2f)); _rightHandControl.control.eulerAngles = _anchor.rigidBody.rotation.eulerAngles; _rightHandControl.control.Rotate(new Vector3(0, 0, -90)); }
public override void Update() { var boneTransform = _anchor.bone.transform; _rightHandControl.control.rotation = _anchor.bone.rotation; _rightHandControl.control.Rotate(HandsAdjustments.OVRRightRotate, Space.Self); _rightComparePointPosition = _anchor.GetInGameWorldPosition(); _rightComparePointPosition += boneTransform.forward * (_anchor.inGameSize.z / 2f + _handsDistance / 2f) * context.scaleChangeReceiver.scale; _rightComparePointPosition += boneTransform.up * _handsOffsetY * context.scaleChangeReceiver.scale; _rightHandControl.control.position = _rightComparePointPosition; _rightHandControl.control.Translate(Quaternion.Inverse(Quaternion.Euler(HandsAdjustments.OVRRightRotate)) * HandsAdjustments.OVRRightOffset * context.scaleChangeReceiver.scale, Space.Self); // ReSharper disable once Unity.InefficientPropertyAccess _rightHandControl.control.RotateAround(_rightComparePointPosition, boneTransform.up, -90); _rightHandControl.control.RotateAround(_rightComparePointPosition, boneTransform.forward, _handRotate); }