async void Start() { _LeftHandOVRSkelton = _LeftOVRHand.GetComponent <OVRSkeleton>(); _RightHandOVRSkelton = _RightOVRHand.GetComponent <OVRSkeleton>(); #if UNITY_EDITOR _LeftHandOVRSkelton.ShouldUpdateBonePoses = true; _RightHandOVRSkelton.ShouldUpdateBonePoses = true; #endif await UniTask.WaitUntil(() => (_LeftHandOVRSkelton.IsInitialized)); await UniTask.WaitUntil(() => (_RightHandOVRSkelton.IsInitialized)); Initialize(); SetTargetPoseHandler(); if (_WristController == null) { _WristController = GetComponent <OculusWristController>(); } _WristController._LeftOVRHand = _LeftOVRHand; _WristController._RightOVRHand = _RightOVRHand; IsAvailable = true; }
public void InitializeHand(OVRHand ovrHand, OculusXRSDKDeviceManagerProfile deviceManagerSettings) { settingsProfile = deviceManagerSettings; handRenderer = ovrHand.GetComponent <Renderer>(); UpdateHandMaterial(settingsProfile.CustomHandMaterial); pinchStrengthProp = Shader.PropertyToID(settingsProfile.PinchStrengthMaterialProperty); }
private void Awake() { controllerHand = GetComponent <SkeletalControllerHand>(); handAnimator = GetComponent <Animator>(); hand = controllerTransform.GetComponentInChildren <OVRHand>(); skeleton = hand.GetComponent <OVRSkeleton>(); GetControllerHashes(); }
// Start is called before the first frame update void Start() { l_hand = GetComponent <OVRHand>(); l_finger = GetComponent <OVRSkeleton>(); r_finger = r_hand.GetComponent <OVRSkeleton>(); r_isIndexFingerPinching = r_hand.GetFingerIsPinching(OVRHand.HandFinger.Index); l_isIndexFingerPinching = l_hand.GetFingerIsPinching(OVRHand.HandFinger.Index); initial_position = item.transform.position; inkRenderer = ink.GetComponent <Renderer>(); }
// Start is called before the first frame update void Start() { skeleton = trackedHand.GetComponent <OVRSkeleton>(); mr = trackedHand.GetComponent <OVRMeshRenderer>(); smr = trackedHand.GetComponent <SkinnedMeshRenderer>(); foreach (OVRBone bone in skeleton.Bones) { if (bone.Id == OVRSkeleton.BoneId.Hand_IndexTip) { indexTipBone = bone; } if (bone.Id == OVRSkeleton.BoneId.Hand_MiddleTip) { middleTipBone = bone; } if (bone.Id == OVRSkeleton.BoneId.Hand_RingTip) { ringTipBone = bone; } if (bone.Id == OVRSkeleton.BoneId.Hand_PinkyTip) { pinkyTipBone = bone; } if (bone.Id == OVRSkeleton.BoneId.Hand_ThumbTip) { thumbTipBone = bone; } if (bone.Id == OVRSkeleton.BoneId.Hand_Start) { handBone = bone; } } for (int i = 0; i < smoothSteps; i++) { lastPositions.Add(IndexTipObject.transform.position); } }
protected override void Awake() { base.Awake(); hand = controllerTransform.GetComponentInChildren <OVRHand>(); skeleton = hand.GetComponent <OVRSkeleton>(); GetControllerHashes(); fingerBasis = new BoneBasis() { Forward = fingerForward, Up = fingerUp }; }
void Awake() { leftSkele = LeftHand.GetComponent <OVRSkeleton>(); rightSkele = RightHand.GetComponent <OVRSkeleton>(); // This fixes a Unity crash to desktop in Oculus 1.32 when using hand tracking on start in editor mode if (DisableHandTrackingInEditor && Application.isEditor && leftSkele != null) { leftSkele.enabled = false; rightSkele.enabled = false; // See https://forum.unity.com/threads/released-vr-interaction-framework-for-oculus-quest.817614/reply?quote=5468730 Debug.Log("Disabling Hand Tracking in Editor due to CTD bug in Oculus SDK"); } }
public OculusQuestHand(TrackingState trackingState, Handedness controllerHandedness, OVRHand ovrHand, Material handMaterial, IMixedRealityInputSource inputSource = null, MixedRealityInteractionMapping[] interactions = null) : base(trackingState, controllerHandedness, inputSource, interactions) { palmFilter.Reset(); indexTipFilter.Reset(); this.handMaterial = handMaterial; handRenderer = ovrHand.GetComponent <Renderer>(); if (!MRTKOculusConfig.Instance.UseCustomHandMaterial) { return; } handRenderer.sharedMaterial = handMaterial; if (MRTKOculusConfig.Instance.UpdateMaterialPinchStrengthValue) { pinchStrengthProp = Shader.PropertyToID(MRTKOculusConfig.Instance.PinchStrengthMaterialProperty); } }
private void Start() { leftSkeleton = left.GetComponent <OVRSkeleton>(); foreach (OVRBone bone in leftSkeleton.Bones) { if (bone.Id == OVRSkeleton.BoneId.Hand_IndexTip) { leftIndexTip = bone; } } rightSkeleton = right.GetComponent <OVRSkeleton>(); foreach (OVRBone bone in rightSkeleton.Bones) { if (bone.Id == OVRSkeleton.BoneId.Hand_IndexTip) { rightIndexTip = bone; } } }
void Initialize() { var skeletonBuilder = new SkeletonBuilder(this.transform); skeletonBuilder.AddBasicSkeleton(new SkeletonBuilderParams()); var leftHandRotation = Quaternion.Euler(0, 0, 180); skeletonBuilder.UpdateRotation(HumanBodyBones.LeftHand, leftHandRotation); var rightHandRotation = Quaternion.Euler(0, 180, 0); skeletonBuilder.UpdateRotation(HumanBodyBones.RightHand, rightHandRotation); _LeftHandOVRSkelton = _LeftOVRHand.GetComponent <OVRSkeleton>(); AddHandSkeletonBones(skeletonBuilder, true); _RightHandOVRSkelton = _RightOVRHand.GetComponent <OVRSkeleton>(); AddHandSkeletonBones(skeletonBuilder, false); _Skeleton = skeletonBuilder.Skeleton; var avatar = AvatarBuilder.BuildHumanAvatar(this.gameObject, skeletonBuilder.GetHumanDescription()); _SrcPoseHandler = new HumanPoseHandler(avatar, this.transform); if (_VisualizeBones && _XYZAxisPrefab != null) { foreach (var bone in skeletonBuilder.Skeleton.Values) { GameObject axis = GameObject.Instantiate(_XYZAxisPrefab, Vector3.zero, Quaternion.identity, bone); axis.transform.localScale = new Vector3(_AxisObjectScale, _AxisObjectScale, _AxisObjectScale); axis.transform.localPosition = Vector3.zero; axis.transform.localRotation = Quaternion.identity; } } }
public void InitializeHand(OVRHand ovrHand, Material handMaterial) { handRenderer = ovrHand.GetComponent <Renderer>(); UpdateHandMaterial(handMaterial); }
void Awake() { leftSkele = LeftHand.GetComponent <OVRSkeleton>(); rightSkele = RightHand.GetComponent <OVRSkeleton>(); }
void Awake() { skeleton = Hand.GetComponent <OVRSkeleton>(); }
private void Start() { rightGrabber = m_RightHand.GetComponent <PinchGrabber>(); leftGrabber = m_LeftHand.GetComponent <PinchGrabber>(); }