Fix HumanoidControl.Rotate
This commit is contained in:
parent
69a1ed2fff
commit
328edcb44c
@ -69,7 +69,7 @@ namespace Passer.Tracking {
|
|||||||
if (boneRenderer != null) {
|
if (boneRenderer != null) {
|
||||||
Vector3 localParentPosition = bone.transform.InverseTransformPoint(bone.transform.parent.position);
|
Vector3 localParentPosition = bone.transform.InverseTransformPoint(bone.transform.parent.position);
|
||||||
boneRenderer.SetPosition(1, localParentPosition);
|
boneRenderer.SetPosition(1, localParentPosition);
|
||||||
//boneRenderer.enabled = show;
|
boneRenderer.enabled = show;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ namespace Passer.Tracking {
|
|||||||
/// A sensor component is used to add tracking to a transform
|
/// A sensor component is used to add tracking to a transform
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// Custom sensor implementation can be made by deriving from this class.
|
/// Custom sensor implementation can be made by deriving from this class.
|
||||||
public abstract class SensorComponent : MonoBehaviour {
|
public class SensorComponent : MonoBehaviour {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The transform which is used as the root of the tracking space
|
/// The transform which is used as the root of the tracking space
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -9,11 +9,12 @@ namespace Passer.Tracking {
|
|||||||
|
|
||||||
protected static Material boneWhite;
|
protected static Material boneWhite;
|
||||||
|
|
||||||
public static TrackedBone Create(string name, Transform parent) {
|
public static TrackedBone Create(string name, Transform parent, bool addRenderer = true) {
|
||||||
GameObject boneGO = new GameObject(name);
|
GameObject boneGO = new GameObject(name);
|
||||||
boneGO.transform.SetParent(parent, false);
|
boneGO.transform.SetParent(parent, false);
|
||||||
|
|
||||||
AddBoneRenderer(boneGO);
|
if (addRenderer)
|
||||||
|
AddBoneRenderer(boneGO);
|
||||||
|
|
||||||
TrackedBone bone = new TrackedBone() {
|
TrackedBone bone = new TrackedBone() {
|
||||||
transform = boneGO.transform
|
transform = boneGO.transform
|
||||||
|
@ -1184,12 +1184,23 @@ namespace Passer.Humanoid {
|
|||||||
//if (gameControllerEnabled && traditionalInput != null)
|
//if (gameControllerEnabled && traditionalInput != null)
|
||||||
// traditionalInput.UpdateGameController(gameController);
|
// traditionalInput.UpdateGameController(gameController);
|
||||||
|
|
||||||
|
InitializeTrackingConfidence();
|
||||||
|
|
||||||
for (int i = 0; i < trackers.Length; i++) {
|
for (int i = 0; i < trackers.Length; i++) {
|
||||||
if (trackers[i] != null)
|
if (trackers[i] != null)
|
||||||
trackers[i].UpdateTracker();
|
trackers[i].UpdateTracker();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void InitializeTrackingConfidence() {
|
||||||
|
hipsTarget.InitializeTrackingConfidence();
|
||||||
|
headTarget.InitializeTrackingConfidence();
|
||||||
|
leftHandTarget.InitializeTrackingConfidence();
|
||||||
|
rightHandTarget.InitializeTrackingConfidence();
|
||||||
|
leftFootTarget.InitializeTrackingConfidence();
|
||||||
|
rightFootTarget.InitializeTrackingConfidence();
|
||||||
|
}
|
||||||
|
|
||||||
protected void StartSensors() {
|
protected void StartSensors() {
|
||||||
hipsTarget.StartSensors();
|
hipsTarget.StartSensors();
|
||||||
headTarget.StartSensors();
|
headTarget.StartSensors();
|
||||||
@ -1627,6 +1638,16 @@ namespace Passer.Humanoid {
|
|||||||
//targetVelocity += Vector3.right * x;
|
//targetVelocity += Vector3.right * x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Moves the humanoid in 2D space
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="velocity">The velocity to move with</param>
|
||||||
|
/// The velocity axis are mapped as follows:
|
||||||
|
/// x = left/right movement
|
||||||
|
/// y = forward/backward movement
|
||||||
|
public virtual void Move(Vector2 velocity) {
|
||||||
|
targetVelocity = new Vector3(velocity.x, 0, velocity.y);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Moves the humanoid</summary>
|
/// <summary>Moves the humanoid</summary>
|
||||||
public virtual void Move(Vector3 velocity) {
|
public virtual void Move(Vector3 velocity) {
|
||||||
@ -1645,8 +1666,7 @@ namespace Passer.Humanoid {
|
|||||||
/// Rotates the humanoid along the Y axis
|
/// Rotates the humanoid along the Y axis
|
||||||
/// <param name="angularSpeed">The speed in degrees per second</param>
|
/// <param name="angularSpeed">The speed in degrees per second</param>
|
||||||
public void Rotate(float angularSpeed) {
|
public void Rotate(float angularSpeed) {
|
||||||
angularSpeed *= Time.deltaTime * rotationSpeed;
|
angularSpeed *= Time.deltaTime;
|
||||||
//transform.RotateAround(hipsTarget.transform.position, hipsTarget.transform.up, angularSpeed);
|
|
||||||
transform.RotateAround(headTarget.transform.position, hipsTarget.transform.up, angularSpeed);
|
transform.RotateAround(headTarget.transform.position, hipsTarget.transform.up, angularSpeed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,6 +69,9 @@ namespace Passer {
|
|||||||
UpdateTarget();
|
UpdateTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void InitializeTrackingConfidence() {
|
||||||
|
}
|
||||||
|
|
||||||
public override void UpdateTarget() {
|
public override void UpdateTarget() {
|
||||||
sensorComponent.UpdateComponent();
|
sensorComponent.UpdateComponent();
|
||||||
|
|
||||||
|
@ -832,10 +832,17 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
#region Update
|
#region Update
|
||||||
|
|
||||||
public override void UpdateTarget() {
|
public override void InitializeTrackingConfidence() {
|
||||||
upperLeg.target.confidence = Confidence.none;
|
upperLeg.target.confidence = Confidence.none;
|
||||||
lowerLeg.target.confidence = Confidence.none;
|
lowerLeg.target.confidence = Confidence.none;
|
||||||
foot.target.confidence = Confidence.none;
|
foot.target.confidence = Confidence.none;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void UpdateTarget() {
|
||||||
|
// If the targets are update in the tracker, this will reset the confidence...
|
||||||
|
//upperLeg.target.confidence = Confidence.none;
|
||||||
|
//lowerLeg.target.confidence = Confidence.none;
|
||||||
|
//foot.target.confidence = Confidence.none;
|
||||||
|
|
||||||
UpdateSensors();
|
UpdateSensors();
|
||||||
|
|
||||||
|
@ -1473,6 +1473,13 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
#region Update
|
#region Update
|
||||||
|
|
||||||
|
public override void InitializeTrackingConfidence() {
|
||||||
|
hand.target.confidence.Degrade();
|
||||||
|
forearm.target.confidence.Degrade();
|
||||||
|
upperArm.target.confidence.Degrade();
|
||||||
|
shoulder.target.confidence.Degrade();
|
||||||
|
}
|
||||||
|
|
||||||
public bool grabbedChanged;
|
public bool grabbedChanged;
|
||||||
|
|
||||||
public override void UpdateTarget() {
|
public override void UpdateTarget() {
|
||||||
@ -1484,10 +1491,10 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
grabbedChanged = (lastGrabbedObject != grabbedObject);
|
grabbedChanged = (lastGrabbedObject != grabbedObject);
|
||||||
|
|
||||||
hand.target.confidence.Degrade();
|
//hand.target.confidence.Degrade();
|
||||||
forearm.target.confidence.Degrade();
|
//forearm.target.confidence.Degrade();
|
||||||
upperArm.target.confidence.Degrade();
|
//upperArm.target.confidence.Degrade();
|
||||||
shoulder.target.confidence.Degrade();
|
//shoulder.target.confidence.Degrade();
|
||||||
|
|
||||||
UpdateSensors();
|
UpdateSensors();
|
||||||
|
|
||||||
|
@ -881,12 +881,18 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
#region Update
|
#region Update
|
||||||
|
|
||||||
|
public override void InitializeTrackingConfidence() {
|
||||||
|
neck.target.confidence.Degrade();
|
||||||
|
head.target.confidence.Degrade();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Update all head sensors</summary>
|
/// <summary>Update all head sensors</summary>
|
||||||
public override void UpdateTarget() {
|
public override void UpdateTarget() {
|
||||||
tracking = false;
|
tracking = false;
|
||||||
|
|
||||||
neck.target.confidence.Degrade();
|
//neck.target.confidence.Degrade();
|
||||||
head.target.confidence.Degrade();
|
//head.target.confidence.Degrade();
|
||||||
|
|
||||||
#if hFACE
|
#if hFACE
|
||||||
if (head.bone.transform != null)
|
if (head.bone.transform != null)
|
||||||
|
@ -618,10 +618,16 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
#region Update
|
#region Update
|
||||||
|
|
||||||
public override void UpdateTarget() {
|
public override void InitializeTrackingConfidence() {
|
||||||
hips.target.confidence.Degrade();
|
hips.target.confidence.Degrade();
|
||||||
spine.target.confidence = Confidence.none;
|
spine.target.confidence = Confidence.none;
|
||||||
chest.target.confidence = Confidence.none;
|
chest.target.confidence = Confidence.none;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void UpdateTarget() {
|
||||||
|
//hips.target.confidence.Degrade();
|
||||||
|
//spine.target.confidence = Confidence.none;
|
||||||
|
//chest.target.confidence = Confidence.none;
|
||||||
|
|
||||||
UpdateSensors();
|
UpdateSensors();
|
||||||
|
|
||||||
|
@ -33,6 +33,11 @@ namespace Passer {
|
|||||||
public virtual void StartSensors() { }
|
public virtual void StartSensors() { }
|
||||||
protected virtual void UpdateSensors() { }
|
protected virtual void UpdateSensors() { }
|
||||||
public virtual void StopSensors() { }
|
public virtual void StopSensors() { }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the tracking confidence before all tracking information is updated
|
||||||
|
/// </summary>
|
||||||
|
public abstract void InitializeTrackingConfidence();
|
||||||
public abstract void UpdateTarget();
|
public abstract void UpdateTarget();
|
||||||
|
|
||||||
public static List<Collider> SetColliderToTrigger(GameObject obj) {
|
public static List<Collider> SetColliderToTrigger(GameObject obj) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user