public override void Update() { if (tracker == null || !tracker.enabled || !enabled || neuronTracker.device == null || tracker.status == Status.Unavailable) { return; } status = Status.Present; if (hipsSensor.rotationConfidence == 0) { return; } UpdateHips(hipsTarget.hips.target); UpdateSpine(hipsTarget.spine.target); UpdateChest(hipsTarget.chest.target); HumanoidTarget.TargetTransform neckTarget = hipsTarget.humanoid.headTarget.neck.target; neckTarget.transform.position = hipsTarget.chest.target.transform.position + hipsTarget.chest.target.transform.rotation * Vector3.up * (hipsTarget.chest.target.length); status = Status.Tracking; }
private void UpdateChest(HumanoidTarget.TargetTransform chestTarget) { float confidence = chestSensor.rotationConfidence; if (confidence > 0) { chestTarget.confidence.rotation = confidence; chestTarget.transform.rotation = tracker.trackerTransform.rotation * chestSensor.rotation; } }
private void UpdateSpine(HumanoidTarget.TargetTransform spineTarget) { float confidence = spineSensor.rotationConfidence; if (confidence > 0) { spineTarget.confidence.rotation = confidence; spineTarget.transform.rotation = tracker.trackerTransform.rotation * spineSensor.rotation; } }
protected virtual void UpdateTarget(HumanoidTarget.TargetTransform target, SensorComponent sensorComponent) { if (target.transform == null || sensorComponent.rotationConfidence + sensorComponent.positionConfidence <= 0) { return; } target.transform.rotation = GetTargetRotation(sensorComponent.transform); target.confidence.rotation = sensorComponent.rotationConfidence; target.transform.position = GetTargetPosition(sensorComponent.transform); target.confidence.position = sensorComponent.positionConfidence; }
protected virtual void UpdateTarget(HumanoidTarget.TargetTransform target, Transform sensorTransform) { if (target.transform == null || sensorTransform == null) { return; } target.transform.rotation = GetTargetRotation(sensorTransform); target.confidence.rotation = 0.5F; target.transform.position = GetTargetPosition(sensorTransform); target.confidence.position = 0.5F; }
protected override void UpdateTarget(HumanoidTarget.TargetTransform target, SensorComponent sensorComponent) { if (target.transform == null || sensorComponent.rotationConfidence + sensorComponent.positionConfidence <= 0) { return; } Quaternion sensorRotation = GetTargetRotation(sensorComponent.transform); Vector3 sensorForward = sensorRotation * Vector3.forward; target.transform.rotation = Quaternion.LookRotation(sensorForward, hipsTarget.humanoid.up); target.confidence.rotation = sensorComponent.rotationConfidence; target.transform.position = GetTargetPosition(sensorComponent.transform); target.confidence.position = sensorComponent.positionConfidence; }
protected override void UpdateTarget(HumanoidTarget.TargetTransform target, SensorComponent sensorComponent) { if (target.transform == null || sensorComponent.rotationConfidence + sensorComponent.positionConfidence <= 0) { return; } // Workaround for 90 degrees issue in SteamVR without Action Manifests target.transform.rotation = GetTargetRotation(sensorComponent.transform); target.confidence.rotation = sensorComponent.rotationConfidence; // Foot rotation is derived from lowerleg //target.transform.rotation = footTarget.lowerLeg.bone.targetRotation; //Quaternion.identity; //target.confidence.rotation = 0.5F; target.transform.position = GetTargetPosition(sensorComponent.transform); target.confidence.position = sensorComponent.positionConfidence; }
private void UpdateHips(HumanoidTarget.TargetTransform hipsTarget) { float confidence = hipsSensor.rotationConfidence; if (confidence > 0) { hipsTarget.confidence.rotation = confidence; hipsTarget.transform.rotation = tracker.trackerTransform.rotation * hipsSensor.rotation; } confidence = hipsSensor.positionConfidence; if (confidence > 0) { hipsTarget.confidence.position = confidence; // This is double, in the NeuronTracker this happens too... // Currently it is disabled in the NeuronTracker (see PerceptionNeuron.cs, line 47) hipsTarget.transform.position = neuronTracker.trackerTransform.TransformPoint(hipsSensor.position); } }