diff --git a/Assets/Art/Personnages/Animation Controllers/Personnage.controller b/Assets/Art/Personnages/Animation Controllers/Personnage.controller index eff52d5..a5887f2 100644 --- a/Assets/Art/Personnages/Animation Controllers/Personnage.controller +++ b/Assets/Art/Personnages/Animation Controllers/Personnage.controller @@ -57,30 +57,6 @@ AnimatorController: m_IKPass: 0 m_SyncedLayerAffectsTiming: 0 m_Controller: {fileID: 9100000} ---- !u!1101 &110102342 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 3 - m_ConditionEvent: Dead - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110271148} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: .100000001 - m_TransitionOffset: 0 - m_ExitTime: .899999976 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 --- !u!1101 &110102964 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -100,19 +76,19 @@ AnimatorStateTransition: m_TransitionDuration: .0961538404 m_TransitionOffset: 0 m_ExitTime: .903846145 - m_HasExitTime: 1 + m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 ---- !u!1101 &110103648 +--- !u!1101 &110106324 AnimatorStateTransition: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: m_Conditions: - - m_ConditionMode: 3 + - m_ConditionMode: 1 m_ConditionEvent: IsMoving m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} @@ -124,7 +100,7 @@ AnimatorStateTransition: m_TransitionDuration: .0961538404 m_TransitionOffset: 0 m_ExitTime: .903846145 - m_HasExitTime: 1 + m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 @@ -148,30 +124,6 @@ AnimatorStateTransition: m_TransitionDuration: .107142806 m_TransitionOffset: 0 m_ExitTime: .892857194 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 ---- !u!1101 &110110122 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 1 - m_ConditionEvent: isCaptured - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 110228994} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: .100000001 - m_TransitionOffset: 0 - m_ExitTime: .899999976 m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 @@ -201,7 +153,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 ---- !u!1101 &110128166 +--- !u!1101 &110129690 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Dead + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 110271148} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: .100000001 + m_TransitionOffset: 0 + m_ExitTime: .899999976 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &110133282 AnimatorStateTransition: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} @@ -209,7 +185,31 @@ AnimatorStateTransition: m_Name: m_Conditions: - m_ConditionMode: 2 - m_ConditionEvent: IsMoving + m_ConditionEvent: IsCaptured + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 110298898} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: .107142806 + m_TransitionOffset: 0 + m_ExitTime: .892857194 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &110153376 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: IsCaptured m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 110207420} @@ -217,9 +217,9 @@ AnimatorStateTransition: m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: .375 + m_TransitionDuration: .107142806 m_TransitionOffset: 0 - m_ExitTime: .625 + m_ExitTime: .892857194 m_HasExitTime: 1 m_HasFixedDuration: 1 m_InterruptionSource: 0 @@ -244,7 +244,31 @@ AnimatorStateTransition: m_TransitionDuration: .0961538404 m_TransitionOffset: 0 m_ExitTime: .903846145 - m_HasExitTime: 1 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &110165958 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: IsCaptured + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 110228994} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: .0961538404 + m_TransitionOffset: 0 + m_ExitTime: .903846145 + m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 @@ -268,7 +292,7 @@ AnimatorStateTransition: m_TransitionDuration: .374999821 m_TransitionOffset: 0 m_ExitTime: .625000179 - m_HasExitTime: 1 + m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 @@ -292,7 +316,7 @@ AnimatorStateTransition: m_TransitionDuration: .25862062 m_TransitionOffset: 0 m_ExitTime: .74137938 - m_HasExitTime: 1 + m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 @@ -321,6 +345,54 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &110191020 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: IsMoving + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 110207420} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: .375 + m_TransitionOffset: 0 + m_ExitTime: .625 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &110191820 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: IsCaptured + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 110228994} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: .375 + m_TransitionOffset: 0 + m_ExitTime: .625 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &110207420 AnimatorState: serializedVersion: 5 @@ -331,9 +403,10 @@ AnimatorState: m_Speed: 1 m_CycleOffset: 0 m_Transitions: - - {fileID: 110103648} - {fileID: 110154068} - {fileID: 110102964} + - {fileID: 110165958} + - {fileID: 110106324} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -382,6 +455,8 @@ AnimatorState: m_CycleOffset: 0 m_Transitions: - {fileID: 110107204} + - {fileID: 110153376} + - {fileID: 110133282} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -499,7 +574,8 @@ AnimatorState: m_Speed: 1 m_CycleOffset: 0 m_Transitions: - - {fileID: 110128166} + - {fileID: 110191020} + - {fileID: 110191820} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -523,10 +599,10 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: 110207420} - m_Position: {x: 324, y: 72, z: 0} + m_Position: {x: 300, y: 60, z: 0} - serializedVersion: 1 m_State: {fileID: 110298898} - m_Position: {x: 324, y: 204, z: 0} + m_Position: {x: 312, y: 204, z: 0} - serializedVersion: 1 m_State: {fileID: 110221200} m_Position: {x: 564, y: 120, z: 0} @@ -547,9 +623,8 @@ AnimatorStateMachine: m_Position: {x: 36, y: -60, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: - - {fileID: 110102342} - - {fileID: 110110122} - {fileID: 110187702} + - {fileID: 110129690} m_EntryTransitions: [] m_StateMachineTransitions: data: diff --git a/Assets/Art/Personnages/PeronnagesAnim.FBX.meta b/Assets/Art/Personnages/PeronnagesAnim.FBX.meta index d765bb4..5b1b420 100644 --- a/Assets/Art/Personnages/PeronnagesAnim.FBX.meta +++ b/Assets/Art/Personnages/PeronnagesAnim.FBX.meta @@ -660,7 +660,7 @@ ModelImporter: level: 0 cycleOffset: 0 loop: 0 - loopTime: 0 + loopTime: 1 loopBlend: 0 loopBlendOrientation: 0 loopBlendPositionY: 0 diff --git a/Assets/Scenes/sam_animations.unity b/Assets/Scenes/sam_animations.unity index f5d8756..a2114e8 100644 --- a/Assets/Scenes/sam_animations.unity +++ b/Assets/Scenes/sam_animations.unity @@ -87,6 +87,56 @@ NavMeshSettings: cellSize: .166666672 manualCellSize: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &237808464 stripped +GameObject: + m_PrefabParentObject: {fileID: 100080, guid: 927610a088e26e54893541b8be6c050c, type: 3} + m_PrefabInternal: {fileID: 749299731} +--- !u!136 &237808467 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 237808464} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 1.5 + m_Height: 5 + m_Direction: 1 + m_Center: {x: 0, y: 2.54999995, z: 0} +--- !u!54 &237808468 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 237808464} + serializedVersion: 2 + m_Mass: 1 + m_Drag: Infinity + m_AngularDrag: Infinity + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 84 + m_CollisionDetection: 0 +--- !u!114 &237808469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 237808464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 74f0a139db076b941b792c3ed8936539, type: 3} + m_Name: + m_EditorClassIdentifier: + AnimationSpeed: 1.5 + LookSmoother: 3 + ForwardSpeed: 7 + BackwardSpeed: 2 + RightSpeed: 7 + LeftSpeed: 7 + RotateSpeed: 2 --- !u!1 &614457924 GameObject: m_ObjectHideFlags: 0 @@ -190,6 +240,10 @@ Prefab: propertyPath: m_Controller value: objectReference: {fileID: 9100000, guid: d02531a894e458e46a8e40c930cdc460, type: 2} + - target: {fileID: 9500000, guid: 927610a088e26e54893541b8be6c050c, type: 3} + propertyPath: m_ApplyRootMotion + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: 927610a088e26e54893541b8be6c050c, type: 3} m_IsPrefabParent: 0 diff --git a/Assets/Scripts/CharacterBehavior.cs b/Assets/Scripts/CharacterBehavior.cs new file mode 100644 index 0000000..38d7935 --- /dev/null +++ b/Assets/Scripts/CharacterBehavior.cs @@ -0,0 +1,107 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(Animator))] +[RequireComponent(typeof(CapsuleCollider))] +[RequireComponent(typeof(Rigidbody))] + +public class CharacterBehavior : MonoBehaviour +{ + + //public float AnimationSpeed = 1.5f; + //public float LookSmoother = 3.0f; // a smoothing setting for camera motion + //public float ForwardSpeed = 7.0f; + //public float BackwardSpeed = 2.0f; + //public float RightSpeed = 7.0f; + //public float LeftSpeed = 7.0f; + //public float RotateSpeed = 2.0f; + + private CapsuleCollider _col; + private Rigidbody _rb; + // speed vector + private Vector3 _velocity; + // origin collider height + private float _orgColHight; + // + private Vector3 _orgVectColCenter; + + private Animator _animator; + private AnimatorStateInfo _currentBaseState; + + private GameObject cameraObject; + + //static int idleState = Animator.StringToHash("Base Layer.Idle"); + //static int movingState = Animator.StringToHash("Base Layer.IsMoving"); + //static int attackState = Animator.StringToHash("Base Layer.Smash"); + ////static int restState = Animator.StringToHash("Base Layer.Rest"); + //private static int fetchState = Animator.StringToHash("Base Layer.IsEating"); + //private static int runNCaptureState = Animator.StringToHash("Base Layer.RunNCapture"); + //private static int idleCapture = Animator.StringToHash("Base Layer.IdleCapture"); + //private static int deadStage = Animator.StringToHash("Base Layer.Dead"); + //private static int fetchedState = Animator.StringToHash("Base Layer.Fetched"); + + void Start() + { + // retreive the character components + _animator = GetComponent(); + _col = GetComponent(); + _rb = GetComponent(); + cameraObject = GameObject.FindWithTag("MainCamera"); + _orgColHight = _col.height; + _orgVectColCenter = _col.center; + } + + public void PlayRunAnimation(bool decision) + { + _animator.SetBool("IsMoving", decision); + } + + public void PlayAttackAnimation(bool decision) + { + _animator.SetBool("IsAttacking", decision); + } + + public void PlayCaptureAnimation(bool decision) + { + _animator.SetBool("IsCaptured", decision); + } + + public void PlayDeathAnimation() + { + _animator.SetTrigger("Dead"); + } + + public void PlayFetchedAnimation() + { + _animator.SetTrigger("Fetched"); + } + + public void PlayEatingAnimation(bool decision) + { + _animator.SetBool("IsEating", decision); + } + + public void PlayRunWhileCaptured(bool decision) + { + // TODO to test running while being captured + PlayCaptureAnimation(decision); + _animator.SetBool("IsMoving", decision); + } + + void FixedUpdate() + { + PlayRunAnimation(true); + //PlayRunAnimation(false); + //PlayAttackAnimation(true); + //PlayAttackAnimation(false); + //PlayCaptureAnimation(true); + //PlayCaptureAnimation(false); + //PlayDeathAnimation(); + //PlayFetchedAnimation(); + //PlayEatingAnimation(true); + //PlayEatingAnimation(false); + //PlayRunWhileCaptured(true); + //PlayRunWhileCaptured(false); + + } +} diff --git a/Assets/Scripts/CharacterBehavior.cs.meta b/Assets/Scripts/CharacterBehavior.cs.meta new file mode 100644 index 0000000..177a152 --- /dev/null +++ b/Assets/Scripts/CharacterBehavior.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 74f0a139db076b941b792c3ed8936539 +timeCreated: 1439588607 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: