This commit is contained in:
Pascal Serrarens 2026-04-13 17:42:21 +02:00
parent 7c1061ade5
commit ae035d4672
11 changed files with 322 additions and 158 deletions

View File

@ -12,7 +12,7 @@ namespace CreatureControl {
animator = (CreatureAnimator)target;
}
private bool showRootVelocities = false;
//private bool showRootVelocities = false;
public override void OnInspectorGUI() {
base.OnInspectorGUI();

View File

@ -23,19 +23,20 @@ namespace CreatureControl {
creature.animator = creature.targetRig.GetComponent<Animator>();
// Keep track if anything changed while enabling the creature editor
bool anythingChanged = false;
bool somethingChanged = false;
if (IsPrefab(this.creature) == false) {
// Only do this when it is not a prefab
anythingChanged |= this.creature.CheckTargetRig();
anythingChanged |= this.creature.CheckModel();
}
// if (IsPrefab(this.creature) == false) {
// // Only do this when it is not a prefab
// somethingChanged |= this.creature.CheckTargetRig();
// somethingChanged |= this.creature.CheckModel();
// }
this.creature.targetRig.MatchTo(this.creature, ref anythingChanged);
this.creature.targetRig.MatchTo(this.creature, ref somethingChanged);
// As the above functions do not use the serialized object
// We need to manually persist the changes.
if (anythingChanged) {
if (somethingChanged) {
Debug.Log("something has changed");
EditorUtility.SetDirty(this.creature);
AssetDatabase.SaveAssets();
}

View File

@ -1,7 +1,7 @@
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEditor.Animations;
using UnityEngine;
namespace CreatureControl {
@ -14,10 +14,14 @@ namespace CreatureControl {
insect = target as Insect;
bool anythingChanged = false;
//bool anythingChanged = false;
//anythingChanged |= insect.CheckTargetRig("InsectRig");
// We already do this in Creature_Editor...
//this.creature.targetRig.MatchTo(this.creature, ref anythingChanged);
//insect.insectRig.MatchTo(insect, ref anythingChanged);
/*
anythingChanged |= insect.CheckTargetRig("InsectRig");
insect.insectRig.MatchTo(insect, ref anythingChanged);
float prefabLegLength = 0.003f;
float modelLegLength = insect.insectRig.legLength;
float scale = prefabLegLength / modelLegLength;
@ -51,21 +55,21 @@ namespace CreatureControl {
return;
}
if (insect.updateAnimations) {
AnimationEditor.ScaleClip(clips[0], scale, insect.animationsPath);
Debug.Log($"Scaled{clips[0].name} with {scale} and saved it to {insect.animationsPath}");
}
else {
Debug.Log($"Did not scale {clips[0].name} with scale {scale} and save it to {insect.animationsPath}");
}
// if (insect.updateAnimations) {
// AnimationEditor.ScaleClip(clips[0], scale, insect.animationsPath);
// Debug.Log($"Scaled{clips[0].name} with {scale} and saved it to {insect.animationsPath}");
// }
// else {
// Debug.Log($"Did not scale {clips[0].name} with scale {scale} and save it to {insect.animationsPath}");
// }
*/
if (anythingChanged) {
EditorUtility.SetDirty(creature);
AssetDatabase.SaveAssets();
}
// if (anythingChanged) {
// EditorUtility.SetDirty(creature);
// AssetDatabase.SaveAssets();
// }
}
static void CollectFromStateMachine(AnimatorStateMachine sm, List<AnimationClip> outList) {
foreach (var state in sm.states) {
var motion = state.state.motion;
@ -124,27 +128,35 @@ namespace CreatureControl {
"The target transforms controlling the body parts"
);
showTargets = EditorGUILayout.Foldout(showTargets, text, true);
if (showTargets) {
bool somethingChanged = false;
EditorGUI.indentLevel++;
if (configurationIncomplete) {
EditorGUILayout.HelpBox("Not all legs are configured", MessageType.Warning);
}
SerializedProperty leftFrontLegProp = serializedObject.FindProperty(nameof(Insect.leftFrontLeg));
Leg_Editor.Inspector(leftFrontLegProp);
somethingChanged |= Leg_Editor.Inspector(leftFrontLegProp, insect.insectRig.leftFrontLeg, insect.leftFrontLeg);
SerializedProperty leftMiddleLegProp = serializedObject.FindProperty(nameof(Insect.leftMiddleLeg));
Leg_Editor.Inspector(leftMiddleLegProp);
somethingChanged |= Leg_Editor.Inspector(leftMiddleLegProp, insect.insectRig.leftMiddleLeg, insect.leftMiddleLeg);
SerializedProperty leftHindLegProp = serializedObject.FindProperty(nameof(Insect.leftHindLeg));
Leg_Editor.Inspector(leftHindLegProp);
somethingChanged |= Leg_Editor.Inspector(leftHindLegProp, insect.insectRig.leftBackLeg, insect.leftHindLeg);
SerializedProperty rightFrontLegProp = serializedObject.FindProperty(nameof(Insect.rightFrontLeg));
Leg_Editor.Inspector(rightFrontLegProp);
somethingChanged |= Leg_Editor.Inspector(rightFrontLegProp, insect.insectRig.rightFrontLeg, insect.rightFrontLeg);
SerializedProperty rightMiddleLegProp = serializedObject.FindProperty(nameof(Insect.rightMiddleLeg));
Leg_Editor.Inspector(rightMiddleLegProp);
somethingChanged |= Leg_Editor.Inspector(rightMiddleLegProp, insect.insectRig.rightMiddleLeg, insect.rightMiddleLeg);
SerializedProperty rightHindLegProp = serializedObject.FindProperty(nameof(Insect.rightHindLeg));
Leg_Editor.Inspector(rightHindLegProp);
somethingChanged |= Leg_Editor.Inspector(rightHindLegProp, insect.insectRig.rightBackLeg, insect.rightHindLeg);
EditorGUI.indentLevel--;
if (somethingChanged) {
Debug.Log("seomthin has changed");
// don't know if this apply/update is really needed....
serializedObject.ApplyModifiedProperties();
insect.insectRig.MatchTo(insect, ref somethingChanged);
serializedObject.Update();
}
}
}

View File

@ -7,7 +7,9 @@ namespace CreatureControl {
private static bool showfield = false;
public static void Inspector(SerializedProperty legProp) {
public static bool Inspector(SerializedProperty legProp, TargetLeg targetLeg, Leg leg) {
bool anythingChanged = false;
GUIStyle foldoutStyle = new(EditorStyles.foldout) {
margin = EditorStyles.objectField.margin
};
@ -21,6 +23,7 @@ namespace CreatureControl {
Transform newFemur = (Transform)EditorGUILayout.ObjectField(femurProp.objectReferenceValue, typeof(Transform), true);
if (newFemur != femurProp.objectReferenceValue) {
// Try to determine further bones when the femur has been updated
femurProp.objectReferenceValue = newFemur;
if (newFemur != null) {
if (tibiaProp.objectReferenceValue == null && newFemur.childCount == 1)
@ -31,6 +34,7 @@ namespace CreatureControl {
tarsusProp.objectReferenceValue = tibia.GetChild(0);
}
}
anythingChanged = true;
}
EditorGUILayout.EndHorizontal();
@ -44,6 +48,7 @@ namespace CreatureControl {
// Need to check if anythingChanged and update the projection if it did
EditorGUI.indentLevel--;
}
return anythingChanged;
}
private static string ConvertCamelCase(string text) {

View File

@ -135,25 +135,15 @@ namespace CreatureControl {
// Without a target rig, the creature cannot move
return;
// UpdatePose();
UpdatePose();
// // copy animator root motion to the creature
// this.transform.SetPositionAndRotation(targetRig.transform.position, targetRig.transform.rotation);
// // As target rig is probably a child of this.transform,
// // We need to restore the position/rotation of the targetsRig.
// targetRig.transform.SetPositionAndRotation(this.transform.position, this.transform.rotation);
// copy animator root motion to the creature
this.transform.SetPositionAndRotation(targetRig.transform.position, targetRig.transform.rotation);
// As target rig is probably a child of this.transform,
// We need to restore the position/rotation of the targetsRig.
targetRig.transform.SetPositionAndRotation(this.transform.position, this.transform.rotation);
}
// void OnAnimatorMove() {
// if (animator == null || creatureRigidbody == null || creatureRigidbody.isKinematic )
// return;
// Vector3 delta = animator.deltaPosition;
// Quaternion rot = animator.deltaRotation;
// creatureRigidbody.MovePosition(creatureRigidbody.position + delta);
// creatureRigidbody.MoveRotation(creatureRigidbody.rotation * rot);
// }
/// <summary>
/// Update the pose of the creature using the target rig
/// </summary>
@ -317,7 +307,7 @@ namespace CreatureControl {
}
RaycastHit closestHit = hits[closestHitIx];
Debug.Log($"hit.distance {closestHit.distance} - {maxDistance}");
//Debug.Log($"hit.distance {closestHit.distance} - {maxDistance}");
ground = closestHit.transform;
normal = closestHit.normal;
distance = closestHit.distance - maxDistance;
@ -333,7 +323,7 @@ namespace CreatureControl {
/// <summary>
/// Update the pose of the creature when the application is not running
/// </summary>
void OnDrawGizmos() {
private void OnDrawGizmos() {
// This ensures that the model is always following the target rig
if (Application.isPlaying == false) {
this.UpdatePose();

View File

@ -16,6 +16,7 @@ namespace CreatureControl {
};
public RootMotionMode rootMotionMode = RootMotionMode.Normal;
// This part may move to editor time only
[System.Serializable]
public class RootMotion {
public string clipName;
@ -27,11 +28,12 @@ namespace CreatureControl {
angularVelocity = Vector3.zero
};
}
//public Dictionary<string, RootMotion> rootVelocities = new();
public List<RootMotion> rootVelocities = new();
public RootMotion GetRootMotion(string name) {
return this.rootVelocities.Find(rm => rm.clipName == name);
}
// end of future editor-time
public Dictionary<Vector3, string> animationDirections = new();
public float rootMotionScaleForward = 1;
@ -109,38 +111,6 @@ namespace CreatureControl {
lastOrientation = this.transform.rotation;
}
void RetrieveBlendTreeAnimations(Animator animator, string parameterName, float targetValue) {
AnimatorController ac = animator.runtimeAnimatorController as AnimatorController;
// Check if the Animator Controller is valid
if (ac == null) {
Debug.LogError("Animator Controller is not set correctly.");
return;
}
// Iterate through each layer in the Animator Controller
foreach (AnimatorControllerLayer layer in ac.layers) {
// Access the state machine
foreach (ChildAnimatorState state in layer.stateMachine.states) {
// Check if the state contains a Blend Tree
if (state.state.motion is BlendTree blendTree) {
// Iterate through blend tree children
foreach (ChildMotion child in blendTree.children) {
if (child.directBlendParameter == parameterName) {
// Simulate parameter setting
//animator.SetFloat(parameterName, targetValue);
// Get the animation clip information
if (child.motion is AnimationClip clip) {
Debug.Log($"Animation Clip: {clip.name}, Speed: {child.timeScale}");
}
}
}
}
}
}
}
}
}

View File

@ -62,8 +62,8 @@ namespace CreatureControl {
this.rightFrontLeg.PoseLimb();
}
public override void MatchTo(Creature creature, ref bool anythingChanged) {
base.MatchTo(creature, ref anythingChanged);
public override void MatchTo(Creature creature, ref bool somethingChanged) {
base.MatchTo(creature, ref somethingChanged);
if (creature is not Insect insect)
return;

View File

@ -24,13 +24,21 @@ namespace CreatureControl {
private float _femurLength;
public float femurLength {
get {
if (_femurLength <= 0)
if (_femurLength <= 0 && this.femur != null && this.tibia != null)
_femurLength = Vector3.Distance(this.femur.position, this.tibia.position);
return _femurLength;
}
}
// A bit inefficient is this is used a lot...
public float tibiaLength => Vector3.Distance(this.tibia.position, this.tarsus.position);
//public float tibiaLength => Vector3.Distance(this.tibia.position, this.tarsus.position);
private float _tibiaLength;
public float tibiaLength {
get {
if (_tibiaLength <= 0 && this.tibia != null && this.tarsus != null)
_tibiaLength = Vector3.Distance(this.tibia.position, this.tarsus.position);
return _tibiaLength;
}
}
public float length => femurLength + tibiaLength;

View File

@ -27,10 +27,6 @@ namespace CreatureControl {
targetToBoneFemur = TargetRig.TargetToBoneRotation(leg.femur, leg.tibia);
targetToBoneTibia = TargetRig.TargetToBoneRotation(leg.tibia, leg.tarsus);
float modelLegLength = leg.length;
float targetLegLength = this.bones.length;
Debug.Log($"model: {modelLegLength} rig: {targetLegLength}");
// Put the end-effector target for IK in a sensible place
Vector3 legDirection = (this.bones.tarsus.position - this.bones.femur.position).normalized;
Vector3 targetPosition = this.bones.femur.position + 0.7f * this.bones.length * legDirection.normalized;

View File

@ -58,7 +58,7 @@ namespace CreatureControl {
protected override void Awake() {
base.Awake();
this.nanoBrain = GetComponentInChildren<Brain>();
}
@ -147,7 +147,7 @@ namespace CreatureControl {
float rotateParam = Mathf.Clamp(angleRad * 3, -1f, 1f);
this.animator.SetFloat("Forward", forwardParam);
this.animator.SetFloat("Rotate", rotateParam);
this.animator.SetFloat("Rotation", rotateParam);
}
private static readonly WaitForSeconds _waitForSeconds3 = new(3);
@ -253,6 +253,7 @@ namespace CreatureControl {
}
#endregion Update
}
}

View File

@ -122,6 +122,11 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!4 &45864745 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2681310150771510278, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1 &94386191
GameObject:
m_ObjectHideFlags: 0
@ -216,6 +221,11 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!4 &125388149 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3372983822486805436, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1 &232829777
GameObject:
m_ObjectHideFlags: 0
@ -405,6 +415,16 @@ MonoBehaviour:
antPrefab: {fileID: 0}
numberOfAnts: 1
spawnAnt: 0
--- !u!4 &273765720 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3666013087391118676, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!4 &282023640 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1327310794183198169, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1 &327634872
GameObject:
m_ObjectHideFlags: 0
@ -650,6 +670,16 @@ Transform:
- {fileID: 232829778}
m_Father: {fileID: 1075240960}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &539705206 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4121123608317626207, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!4 &546513205 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4257347763753830756, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &566787347
PrefabInstance:
m_ObjectHideFlags: 0
@ -720,6 +750,16 @@ Transform:
m_CorrespondingSourceObject: {fileID: 4705673811730924170, guid: c815f0e5d65e077c5a63fa1bc48a2f08, type: 3}
m_PrefabInstance: {fileID: 566787347}
m_PrefabAsset: {fileID: 0}
--- !u!4 &673430214 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1095306108603189499, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!4 &685257250 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7208198274800747088, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &691526234
PrefabInstance:
m_ObjectHideFlags: 0
@ -1340,6 +1380,11 @@ Transform:
- {fileID: 1973137220}
m_Father: {fileID: 1075240960}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &1245228106 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8974688457054953145, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1282320487
PrefabInstance:
m_ObjectHideFlags: 0
@ -1438,19 +1483,19 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 534893054875158022, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.33182314
value: 0.33182305
objectReference: {fileID: 0}
- target: {fileID: 534893054875158022, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: -0.49444538
value: -0.4944453
objectReference: {fileID: 0}
- target: {fileID: 534893054875158022, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: -0.5847298
value: -0.5847299
objectReference: {fileID: 0}
- target: {fileID: 534893054875158022, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.5509158
value: 0.5509159
objectReference: {fileID: 0}
- target: {fileID: 1095306108603189499, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -1466,24 +1511,32 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1095306108603189499, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.6889717
value: 0.68897164
objectReference: {fileID: 0}
- target: {fileID: 1095306108603189499, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.7247883
value: 0.7247884
objectReference: {fileID: 0}
- target: {fileID: 1095306108603189499, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: -0.00000016391276
value: -0.00000017881392
objectReference: {fileID: 0}
- target: {fileID: 1095306108603189499, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.00000006332993
value: 0.00000007078051
objectReference: {fileID: 0}
- target: {fileID: 1203350180057270885, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: length
value: 0.0072452417
objectReference: {fileID: 0}
- target: {fileID: 1203350180057270885, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.femur
value:
objectReference: {fileID: 1908370719}
- target: {fileID: 1203350180057270885, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tibia
value:
objectReference: {fileID: 673430214}
- target: {fileID: 1203350180057270885, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: femurLength
value: 0.0030040143
@ -1492,6 +1545,14 @@ PrefabInstance:
propertyPath: tibiaLength
value: 0.004241227
objectReference: {fileID: 0}
- target: {fileID: 1203350180057270885, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tarsus
value:
objectReference: {fileID: 1868770260}
- target: {fileID: 1203350180057270885, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones._femurLength
value: 0.0030040161
objectReference: {fileID: 0}
- target: {fileID: 1203350180057270885, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: targetToBoneFemur.w
value: 0.6862775
@ -1524,10 +1585,26 @@ PrefabInstance:
propertyPath: length
value: 0.006537831
objectReference: {fileID: 0}
- target: {fileID: 1224259364153304487, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.femur
value:
objectReference: {fileID: 539705206}
- target: {fileID: 1224259364153304487, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tibia
value:
objectReference: {fileID: 546513205}
- target: {fileID: 1224259364153304487, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: femurLength
value: 0.0024082726
objectReference: {fileID: 0}
- target: {fileID: 1224259364153304487, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tarsus
value:
objectReference: {fileID: 2093857555}
- target: {fileID: 1224259364153304487, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones._femurLength
value: 0.002408272
objectReference: {fileID: 0}
- target: {fileID: 1224259364153304487, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: targetToBoneFemur.w
value: 0.07596097
@ -1602,35 +1679,35 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1958841765505811662, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.45984197
value: 0.6763229
objectReference: {fileID: 0}
- target: {fileID: 1958841765505811662, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: -0.6877811
value: 0.00000017881385
objectReference: {fileID: 0}
- target: {fileID: 1958841765505811662, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: -0.5008271
value: -0.7366054
objectReference: {fileID: 0}
- target: {fileID: 1958841765505811662, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.2543124
value: 0.00000011548394
objectReference: {fileID: 0}
- target: {fileID: 2005934180743361291, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.76921755
value: 0.7692175
objectReference: {fileID: 0}
- target: {fileID: 2005934180743361291, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: -0.48360723
value: -0.4836073
objectReference: {fileID: 0}
- target: {fileID: 2005934180743361291, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.17796776
value: 0.17796774
objectReference: {fileID: 0}
- target: {fileID: 2005934180743361291, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.37783065
value: -0.3778307
objectReference: {fileID: 0}
- target: {fileID: 2681310150771510278, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -1668,6 +1745,14 @@ PrefabInstance:
propertyPath: length
value: 0.007110139
objectReference: {fileID: 0}
- target: {fileID: 2828406421342858178, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.femur
value:
objectReference: {fileID: 282023640}
- target: {fileID: 2828406421342858178, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tibia
value:
objectReference: {fileID: 2045717234}
- target: {fileID: 2828406421342858178, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: femurLength
value: 0.0030040178
@ -1676,6 +1761,14 @@ PrefabInstance:
propertyPath: tibiaLength
value: 0.004106121
objectReference: {fileID: 0}
- target: {fileID: 2828406421342858178, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tarsus
value:
objectReference: {fileID: 45864745}
- target: {fileID: 2828406421342858178, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones._femurLength
value: 0.0030040166
objectReference: {fileID: 0}
- target: {fileID: 2828406421342858178, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: targetToBoneFemur.w
value: -0.42978364
@ -1726,51 +1819,51 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 3129944562958416866, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: -0.33122328
value: -0.33122316
objectReference: {fileID: 0}
- target: {fileID: 3129944562958416866, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.90636134
value: 0.9063614
objectReference: {fileID: 0}
- target: {fileID: 3129944562958416866, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.26013014
value: 0.26013026
objectReference: {fileID: 0}
- target: {fileID: 3129944562958416866, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.03365269
value: 0.03365275
objectReference: {fileID: 0}
- target: {fileID: 3205175265109727877, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.06440171
value: 0.06440168
objectReference: {fileID: 0}
- target: {fileID: 3205175265109727877, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.059745185
value: 0.059745274
objectReference: {fileID: 0}
- target: {fileID: 3205175265109727877, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.85543114
value: 0.8554311
objectReference: {fileID: 0}
- target: {fileID: 3205175265109727877, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.51041204
value: -0.51041216
objectReference: {fileID: 0}
- target: {fileID: 3285577884221125498, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.83521044
value: 0.8352103
objectReference: {fileID: 0}
- target: {fileID: 3285577884221125498, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: -0.17726359
value: -0.17726377
objectReference: {fileID: 0}
- target: {fileID: 3285577884221125498, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.19850598
value: 0.19850573
objectReference: {fileID: 0}
- target: {fileID: 3285577884221125498, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.48124483
value: 0.48124492
objectReference: {fileID: 0}
- target: {fileID: 3356290378512291932, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -1974,11 +2067,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4465520568132267032, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.00000016342258
value: 0.00000016003976
objectReference: {fileID: 0}
- target: {fileID: 4465520568132267032, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.00000016900565
value: -0.00000017439957
objectReference: {fileID: 0}
- target: {fileID: 4619691744559750327, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -2066,19 +2159,19 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5281922441378744651, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.40812153
value: 0.40812147
objectReference: {fileID: 0}
- target: {fileID: 5281922441378744651, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.2714713
value: 0.27147117
objectReference: {fileID: 0}
- target: {fileID: 5281922441378744651, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.85242325
value: 0.8524233
objectReference: {fileID: 0}
- target: {fileID: 5281922441378744651, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.18197484
value: -0.18197472
objectReference: {fileID: 0}
- target: {fileID: 5388736343723676868, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -2090,19 +2183,19 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5388736343723676868, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.9623592
value: 0.9194447
objectReference: {fileID: 0}
- target: {fileID: 5388736343723676868, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: -0.17736581
value: 0.3349856
objectReference: {fileID: 0}
- target: {fileID: 5388736343723676868, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.20251691
value: 0.19348608
objectReference: {fileID: 0}
- target: {fileID: 5388736343723676868, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.03732453
value: -0.07049368
objectReference: {fileID: 0}
- target: {fileID: 5485567755949912416, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -2132,26 +2225,50 @@ PrefabInstance:
propertyPath: m_LocalRotation.z
value: 0.14929758
objectReference: {fileID: 0}
- target: {fileID: 5641584351447400800, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.femur
value:
objectReference: {fileID: 125388149}
- target: {fileID: 5641584351447400800, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tibia
value:
objectReference: {fileID: 1899152691}
- target: {fileID: 5641584351447400800, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tarsus
value:
objectReference: {fileID: 273765720}
- target: {fileID: 5641584351447400800, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones._femurLength
value: 0.0024082738
objectReference: {fileID: 0}
- target: {fileID: 5809107228299138557, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.34205884
value: 0.46055895
objectReference: {fileID: 0}
- target: {fileID: 5809107228299138557, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.9227909
value: 0.6473188
objectReference: {fileID: 0}
- target: {fileID: 5809107228299138557, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.17563702
value: 0.58904934
objectReference: {fileID: 0}
- target: {fileID: 5809107228299138557, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.02458617
value: -0.1479351
objectReference: {fileID: 0}
- target: {fileID: 6049855982455691338, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_Name
value: LowPolyAnt (1)
objectReference: {fileID: 0}
- target: {fileID: 6090589349420666311, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.femur
value:
objectReference: {fileID: 1327786334}
- target: {fileID: 6090589349420666311, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tibia
value:
objectReference: {fileID: 685257250}
- target: {fileID: 6090589349420666311, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: femurLength
value: 0.0019033402
@ -2160,6 +2277,14 @@ PrefabInstance:
propertyPath: tibiaLength
value: 0.0030214665
objectReference: {fileID: 0}
- target: {fileID: 6090589349420666311, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tarsus
value:
objectReference: {fileID: 685257250}
- target: {fileID: 6090589349420666311, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones._femurLength
value: 0.0019033396
objectReference: {fileID: 0}
- target: {fileID: 6090589349420666311, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: targetToBoneFemur.w
value: 0.39405352
@ -2214,7 +2339,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 6651475039257777810, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.6889254
value: 0.68892527
objectReference: {fileID: 0}
- target: {fileID: 6651475039257777810, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
@ -2222,11 +2347,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 6651475039257777810, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: -0.007984172
value: -0.00798374
objectReference: {fileID: 0}
- target: {fileID: 6651475039257777810, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.3463581
value: -0.346358
objectReference: {fileID: 0}
- target: {fileID: 6689676706817588414, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -2258,19 +2383,19 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7045014934404856493, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.5119409
value: 0.5119411
objectReference: {fileID: 0}
- target: {fileID: 7045014934404856493, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.3287885
value: 0.3287884
objectReference: {fileID: 0}
- target: {fileID: 7045014934404856493, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.4640702
value: 0.4640699
objectReference: {fileID: 0}
- target: {fileID: 7045014934404856493, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.64378065
value: -0.6437808
objectReference: {fileID: 0}
- target: {fileID: 7208198274800747088, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -2286,52 +2411,60 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7208198274800747088, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.6799135
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7208198274800747088, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.7332924
value: -0.00000008940696
objectReference: {fileID: 0}
- target: {fileID: 7208198274800747088, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: -0.000000074505806
value: -0.0000000745058
objectReference: {fileID: 0}
- target: {fileID: 7208198274800747088, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.000000007450581
value: 0.00000004470348
objectReference: {fileID: 0}
- target: {fileID: 8032286693086551754, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.65108824
value: 0.6510881
objectReference: {fileID: 0}
- target: {fileID: 8032286693086551754, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.41958734
value: 0.41958737
objectReference: {fileID: 0}
- target: {fileID: 8032286693086551754, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: -0.16263431
value: -0.16263412
objectReference: {fileID: 0}
- target: {fileID: 8032286693086551754, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: -0.61121243
value: -0.6112128
objectReference: {fileID: 0}
- target: {fileID: 8123136597867026454, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: -0.027075963
value: -0.027076056
objectReference: {fileID: 0}
- target: {fileID: 8123136597867026454, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: 0.71348995
value: 0.71348983
objectReference: {fileID: 0}
- target: {fileID: 8123136597867026454, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
value: 0.6805388
value: 0.6805389
objectReference: {fileID: 0}
- target: {fileID: 8123136597867026454, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.1645173
value: 0.16451746
objectReference: {fileID: 0}
- target: {fileID: 8412519912061285269, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.femur
value:
objectReference: {fileID: 1646234598}
- target: {fileID: 8412519912061285269, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tibia
value:
objectReference: {fileID: 1530698552}
- target: {fileID: 8412519912061285269, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: femurLength
value: 0.0019033402
@ -2340,6 +2473,14 @@ PrefabInstance:
propertyPath: tibiaLength
value: 0.0029819128
objectReference: {fileID: 0}
- target: {fileID: 8412519912061285269, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones.tarsus
value:
objectReference: {fileID: 1245228106}
- target: {fileID: 8412519912061285269, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: bones._femurLength
value: 0.001903339
objectReference: {fileID: 0}
- target: {fileID: 8412519912061285269, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: targetToBoneFemur.w
value: 0.54446536
@ -2370,11 +2511,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 8736634913202717324, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.w
value: 0.26493794
value: 0.2649379
objectReference: {fileID: 0}
- target: {fileID: 8736634913202717324, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.x
value: -0.06449161
value: -0.06449163
objectReference: {fileID: 0}
- target: {fileID: 8736634913202717324, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.y
@ -2382,7 +2523,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 8736634913202717324, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalRotation.z
value: 0.22755273
value: 0.22755285
objectReference: {fileID: 0}
- target: {fileID: 8974688457054953145, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
propertyPath: m_LocalPosition.x
@ -2418,6 +2559,11 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
--- !u!4 &1327786334 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 5388736343723676868, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1413549757
PrefabInstance:
m_ObjectHideFlags: 0
@ -2593,6 +2739,16 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1485508511}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1530698552 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4825372182573643071, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1646234598 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 150961482459879826, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1670418292
GameObject:
m_ObjectHideFlags: 0
@ -3957,6 +4113,11 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1854230099}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1868770260 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4465520568132267032, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1880435925
PrefabInstance:
m_ObjectHideFlags: 0
@ -4027,6 +4188,16 @@ Transform:
m_CorrespondingSourceObject: {fileID: 4705673811730924170, guid: c815f0e5d65e077c5a63fa1bc48a2f08, type: 3}
m_PrefabInstance: {fileID: 1880435925}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1899152691 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6689676706817588414, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1908370719 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8736634913202717324, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1953862409
GameObject:
m_ObjectHideFlags: 0
@ -4237,6 +4408,11 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1973137219}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &2045717234 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6508993773649296106, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &2063840326
PrefabInstance:
m_ObjectHideFlags: 0
@ -4307,6 +4483,11 @@ Transform:
m_CorrespondingSourceObject: {fileID: 4705673811730924170, guid: c815f0e5d65e077c5a63fa1bc48a2f08, type: 3}
m_PrefabInstance: {fileID: 2063840326}
m_PrefabAsset: {fileID: 0}
--- !u!4 &2093857555 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1711874384539071963, guid: a792a0d33cab158bd9eb15179d15267f, type: 3}
m_PrefabInstance: {fileID: 1282320487}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &5139621985762388695
PrefabInstance:
m_ObjectHideFlags: 0