//Transform chestTargetTransform; public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); neuronTracker = handTarget.humanoid.neuronTracker; tracker = neuronTracker; //if (handTarget.humanoid.hipsTarget.chest.target.transform != null) { // chestTargetTransform = handTarget.humanoid.hipsTarget.chest.target.transform; //} //else { // chestTargetTransform = handTarget.humanoid.hipsTarget.hips.target.transform; //} if (neuronTracker.device == null) { return; } Side side = handTarget.isLeft ? Side.Left : Side.Right; shoulderSensor = neuronTracker.device.GetBone(0, side, SideBone.Shoulder); upperArmSensor = neuronTracker.device.GetBone(0, side, SideBone.UpperArm); forearmSensor = neuronTracker.device.GetBone(0, side, SideBone.Forearm); handSensor = neuronTracker.device.GetBone(0, side, SideBone.Hand); for (int i = 0; i < (int)Finger.Count; i++) { StartFinger(side, handTarget.fingers.allFingers[i], i); } }
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); neuronTracker = headTarget.humanoid.neuronTracker; tracker = neuronTracker; if (neuronTracker.device == null) { return; } headSensor = neuronTracker.device.GetBone(0, Bone.Head); }
public void CalibrateWithHands(SensorBone leftHandSensor, SensorBone rightHandSensor) { Vector3 avgHandPosition = (leftHandSensor.position + rightHandSensor.position) / 2; Vector3 targetLeftHandPosition = humanoid.leftHandTarget.hand.target.transform.position; Vector3 targetRightHandPosition = humanoid.rightHandTarget.hand.target.transform.position; Vector3 targetAvgHandPosition = (targetLeftHandPosition + targetRightHandPosition) / 2; Vector3 delta = targetAvgHandPosition - avgHandPosition; trackerTransform.position += (delta * 0.01F); // Just positional calibration for now }
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); astraTracker = headTarget.humanoid.astra; tracker = astraTracker; if (astraTracker.device == null) { return; } neckSensor = astraTracker.device.GetBone(0, Bone.Neck); headSensor = astraTracker.device.GetBone(0, Bone.Head); }
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); kinectTracker = hipsTarget.humanoid.kinect1; tracker = kinectTracker; if (kinectTracker.device == null) { return; } hipsSensor = kinectTracker.device.GetBone(0, Bone.Hips); spineSensor = kinectTracker.device.GetBone(0, Bone.Spine); }
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); neuronTracker = hipsTarget.humanoid.neuronTracker; tracker = neuronTracker; if (neuronTracker.device == null) { return; } hipsSensor = neuronTracker.device.GetBone(0, Bone.Hips); spineSensor = neuronTracker.device.GetBone(0, Bone.Spine); chestSensor = neuronTracker.device.GetBone(0, Bone.Chest); }
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); astraTracker = handTarget.humanoid.astra; tracker = astraTracker; if (astraTracker.device == null) { return; } Side side = handTarget.isLeft ? Side.Left : Side.Right; upperArmSensor = astraTracker.device.GetBone(0, side, SideBone.UpperArm); forearmSensor = astraTracker.device.GetBone(0, side, SideBone.Forearm); handSensor = astraTracker.device.GetBone(0, side, SideBone.Hand); }
public void CalibrateWithHeadAndHands(SensorBone headSensor, SensorBone leftHandSensor, SensorBone rightHandSensor) { Vector3 trackingNormal = TrackingNormal(humanoid.headTarget.head.target.transform.position, humanoid.leftHandTarget.transform.position, humanoid.rightHandTarget.transform.position); Vector3 TrackingSensorsNormal = TrackingNormal(headSensor.position, leftHandSensor.position, rightHandSensor.position); Quaternion rotation = Quaternion.FromToRotation(TrackingSensorsNormal, trackingNormal); float rotY = Angle.Normalize(rotation.eulerAngles.y); float rotX = Angle.Normalize(rotation.eulerAngles.x); trackerTransform.RotateAround(humanoid.headTarget.head.target.transform.position, humanoid.up, rotY * 0.01F); trackerTransform.RotateAround(humanoid.headTarget.head.target.transform.position, humanoid.transform.right, rotX * 0.01F); Vector3 delta = humanoid.headTarget.head.target.transform.position - headSensor.position; trackerTransform.transform.position += (delta * 0.01F); }
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); neuronTracker = footTarget.humanoid.neuronTracker; tracker = neuronTracker; if (neuronTracker.device == null) { return; } Side side = footTarget.isLeft ? Side.Left : Side.Right; upperLegSensor = neuronTracker.device.GetBone(0, side, SideBone.UpperLeg); lowerLegSensor = neuronTracker.device.GetBone(0, side, SideBone.LowerLeg); footSensor = neuronTracker.device.GetBone(0, side, SideBone.Foot); }
public override void Start(HumanoidControl _humanoid, Transform targetTransform) { base.Start(_humanoid, targetTransform); leapTracker = handTarget.humanoid.leapTracker; tracker = leapTracker; if (leapTracker.device == null) { return; } Side side = handTarget.isLeft ? Side.Left : Side.Right; forearmSensor = leapTracker.device.GetBone(0, side, SideBone.Forearm); handSensor = leapTracker.device.GetBone(0, side, SideBone.Hand); for (int i = 0; i < (int)Finger.Count; i++) { StartFinger(side, handTarget.fingers.allFingers[i], i); } }
public void CalibrateWithHands(SensorBone leftSensor, SensorBone rightSensor) { Vector3 astraLeftHandPosition = leftSensor.position; Vector3 astraRightHandPosition = rightSensor.position; Vector3 astraAvgHandPosition = (astraLeftHandPosition + astraRightHandPosition) / 2; Debug.DrawLine(astraLeftHandPosition, astraRightHandPosition, Color.red); Vector3 targetLeftHandPosition = humanoid.leftHandTarget.hand.target.transform.position; Vector3 targetRightHandPosition = humanoid.rightHandTarget.hand.target.transform.position; Vector3 targetAvgHandPosition = (targetLeftHandPosition + targetRightHandPosition) / 2; Debug.DrawLine(targetLeftHandPosition, targetRightHandPosition, Color.magenta); Vector3 delta = targetAvgHandPosition - astraAvgHandPosition; Debug.DrawRay(astraAvgHandPosition, delta, Color.blue); trackerTransform.position += (delta * 0.01F); // Just positional calibration for now }
public void CalibrateWithHead(SensorBone headSensor) { Vector3 delta = humanoid.headTarget.head.target.transform.position - headSensor.position; trackerTransform.position += (delta * 0.01F); }
public void CalibrateWithHead(SensorBone headSensor) { Vector3 delta = humanoid.headTarget.head.target.transform.position - device.GetBonePosition(0, Bone.Head); trackerTransform.position += (delta * 0.01F); }