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