public Transform GetIKTargetTransform(IK_TARGET target) { if (ikTargets.ContainsKey(target)) { return(ikTargets[target].transform); } else { return(null); } }
public Transform GetEmulatedIKTargetTransform(IK_TARGET bodyPart) { if (emulatedIKTargets.ContainsKey(bodyPart)) { return(emulatedIKTargets[bodyPart].transform); } else { return(null); } }
public Transform GetTrackingTargetTransform(IK_TARGET target) { if (trackingTargets.ContainsKey(target)) { return(trackingTargets[target]); } else { return(null); } }
public Quaternion GetIkTargetRotation(IK_TARGET ikTarget) { Transform ikTargetTransform = null; if (useAnimation) { ikTargetTransform = animationManager.GetEmulatedIKTargetTransform(ikTarget); } else { ikTargetTransform = vrTrackingManager.GetIKTargetTransform(ikTarget); } return(ikTargetTransform.rotation); }
public Vector3 GetIkTargetPosition(IK_TARGET ikTarget) { Transform ikTargetTransform = null; if (useAnimation) { ikTargetTransform = animationManager.GetEmulatedIKTargetTransform(ikTarget); } else { ikTargetTransform = vrTrackingManager.GetIKTargetTransform(ikTarget); } return(ikTargetTransform.position + manualPositionOffset); }
public SteamVR_TrackedObject GetTrackedObject(IK_TARGET target) { if (this.debugUseMockIKTargets) { return(null); } if (trackingTargets.ContainsKey(target)) { return(trackingTargets[target].GetComponent <SteamVR_TrackedObject>()); } else { return(null); } }
public static GameObject GenerateIKTarget( string name, Transform parent, IK_TARGET part, Vector3 localPos = new Vector3(), Quaternion localRot = new Quaternion()) { GameObject ikTarget = new GameObject(name); ikTarget.transform.parent = parent; ikTarget.transform.localRotation = localRot; ikTarget.transform.localPosition = localPos; //AddIndicator(ikTarget.transform); return(ikTarget); }
async void InitIKTopics() { foreach (IK_TARGET ikTarget in Enum.GetValues(typeof(IK_TARGET))) { GameObject ikTargetObject = new GameObject("IK-Target PoseEstimator " + ikTarget.ToString()); mapIKTargetTransforms.Add(ikTarget, ikTargetObject.transform); mapIKTarget2UbiiPose.Add(ikTarget, new UbiiPose3D { position = new Vector3(), rotation = new Quaternion() }); } tokenIkTargetPose = await ubiiNode.SubscribeTopic(ubiiComponentIkTargets.GetTopicIKTargets(), (Ubii.TopicData.TopicDataRecord record) => { for (int i = 0; i < record.Object3DList.Elements.Count; i++) { string ikTargetString = record.Object3DList.Elements[i].Id; Ubii.DataStructure.Pose3D pose3D = record.Object3DList.Elements[i].Pose; IK_TARGET ikTarget; if (IK_TARGET.TryParse(ikTargetString, out ikTarget)) { UbiiPose3D pose = mapIKTarget2UbiiPose[ikTarget]; pose.position.Set( (float)pose3D.Position.X, (float)pose3D.Position.Y, (float)pose3D.Position.Z); pose.rotation.Set( (float)pose3D.Quaternion.X, (float)pose3D.Quaternion.Y, (float)pose3D.Quaternion.Z, (float)pose3D.Quaternion.W); mapIKTarget2UbiiPose[ikTarget] = pose; } } }); initialized = true; }
public static string GetIKTargetBodyPartString(IK_TARGET ikTarget) { return(ikTarget.ToString().ToLower()); }