public void RefreshDirection(Vector2 direction) { var animationOffSet = Calm ? 4 : 0; if (Mathf.Abs(direction.x) > Mathf.Abs(direction.y)) { if (direction.x > 0) { CurrentAnimation = AnimationClips.Angry_Right + animationOffSet; } else { CurrentAnimation = AnimationClips.Angry_Left + animationOffSet; } } else { if (direction.y > 0) { CurrentAnimation = AnimationClips.Angry_Up + animationOffSet; } else { CurrentAnimation = AnimationClips.Angry_Down + animationOffSet; } } }
// Update is called once per frame void Update() { m_activeClip = (AnimationClips)transUpdaterScript.activeClip; animator.SetInteger("whatAnim", (int)m_activeClip); if (TransitionUpdater.m_instance.m_sync) { switch (m_activeClip) { case AnimationClips.Walking: animator.Play("WalkFWD", -1, 0.75f); break; case AnimationClips.Runnning: animator.Play("RunCycle 0", -1, 0.0f); break; case AnimationClips.Crouching: animator.Play("Crouch2Idle", -1, 0.0f); break; case AnimationClips.Idle: animator.Play("IdleCycle", -1, 0.5f); break; default: break; } TransitionUpdater.m_instance.m_sync = false; } //prevClip = m_activeClip; }
public void RefreshDirection(Vector2 direction) { if (Mathf.Abs(direction.x) > Mathf.Abs(direction.y)) { if (direction.x > 0) { CurrentAnimation = AnimationClips.Right; } else { CurrentAnimation = AnimationClips.Left; } } else { if (direction.y > 0) { CurrentAnimation = AnimationClips.Up; } else { CurrentAnimation = AnimationClips.Down; } } }
// Use this for initialization void Start() { otherGameObject = GameObject.FindGameObjectWithTag("Player"); animator = gameObject.GetComponent <Animator>(); m_activeClip = (AnimationClips)transUpdaterScript.activeClip; switch (m_activeClip) { case AnimationClips.Walking: animator.Play("WalkFWD", -1, 0.75f); break; case AnimationClips.Runnning: animator.Play("RunCycle 0", -1, 0.0f); break; case AnimationClips.Crouching: animator.Play("Crouch2Idle", -1, 0.2f); break; case AnimationClips.Idle: animator.Play("IdleCycle", -1, 0.5f); break; default: break; } }
public override ModelContent Process(NodeContent input, ContentProcessorContext context) { model = base.Process(input, context); AnimationClips clips = ProcessAnimations(model, input, context); model.Tag = clips; return(model); }
private void ProcessAnimationRecursive(NodeContent input, AnimationClips animationClips) { foreach (KeyValuePair <string, AnimationContent> animation in input.Animations) { // do we have this animation before? AnimationClips.Clip clip; if (!animationClips.Clips.TryGetValue(animation.Key, out clip)) { //never before seen clip System.Diagnostics.Trace.WriteLine("New clip: " + animation.Key); clip = new AnimationClips.Clip(); clip.Name = animation.Key; clip.Duration = animation.Value.Duration.TotalSeconds; clip.Keyframes = new List <AnimationClips.Keyframe> [bones.Count]; for (int b = 0; b < bones.Count; b++) { clip.Keyframes[b] = new List <AnimationClips.Keyframe>(); } animationClips.Clips[animation.Key] = clip; } //for each canell, determine the bone and then process all of the keyframes for that bone foreach (KeyValuePair <string, AnimationChannel> channel in animation.Value.Channels) { // what is the bone index? int boneIndex; if (!bones.TryGetValue(channel.Key, out boneIndex)) { continue; //ignore if not a named bone } foreach (AnimationKeyframe keyframe in channel.Value) { Matrix transform = keyframe.Transform; //keyframe transformation AnimationClips.Keyframe newKeyFrame = new AnimationClips.Keyframe(); newKeyFrame.Time = keyframe.Time.TotalSeconds; transform.Right = Vector3.Normalize(transform.Right); transform.Up = Vector3.Normalize(transform.Up); transform.Backward = Vector3.Normalize(transform.Backward); newKeyFrame.Rotation = Quaternion.CreateFromRotationMatrix(transform); newKeyFrame.Translastion = transform.Translation; clip.Keyframes[boneIndex].Add(newKeyFrame); } } } //System.Diagnostics.Trace.WriteLine(input.Name); foreach (NodeContent child in input.Children) { ProcessAnimationRecursive(child, animationClips); } }
internal static void Update() { if (Collector.Collect()) { SoundSources.Collect(); Cursors.Collect(); Texture2Ds.Collect(); CubemapTextures.Collect(); Fonts.Collect(); Chip2Ds.Collect(); Shader2Ds.Collect(); Shader3Ds.Collect(); Material2Ds.Collect(); Material3Ds.Collect(); MaterialPropertyBlocks.Collect(); ImagePackages.Collect(); MediaPlayers.Collect(); Effects.Collect(); Meshs.Collect(); Deformers.Collect(); Models.Collect(); MassModels.Collect(); Terrain3Ds.Collect(); KeyframeAnimations.Collect(); AnimationSources.Collect(); AnimationClips.Collect(); Scenes.Collect(); Layer2Ds.Collect(); Object2Ds.Collect(); Layer3Ds.Collect(); Object3Ds.Collect(); PostEffects.Collect(); Transitions.Collect(); StaticFiles.Collect(); StreamFiles.Collect(); Shapes.Collect(); Collider2Ds.Collect(); } }
private AnimationClips ProcessAnimations(ModelContent model, NodeContent input, ContentProcessorContext context) { //first build a lookup table so we can determine the index into the list of bones from a bone name for (int i = 0; i < model.Bones.Count; i++) { bones[model.Bones[i].Name] = i; } AnimationClips animationClips = new AnimationClips(); ProcessAnimationRecursive(input, animationClips); return(animationClips); }
public void ChangeClips(int p_clip, int p_increment, int p_flip) { //kommer enbart använda rightsideclippet så ändras left också. Kanske inte ska funka så senare så därför finns elftscreen activeClip = (AnimationClips)p_clip; m_framesToAdd = p_increment; loadAnims = true; if (p_flip == 1) { m_flip = true; } else { m_flip = false; } m_sync = true; }
public void PlayAnimations(AnimationClips clips) { switch (clips) { case AnimationClips.Idle: anim.SetBool("idling", true); anim.SetBool("combatIdling", false); anim.SetBool("moving", false); break; case AnimationClips.Move: anim.SetBool("idling", false); anim.SetBool("combatIdling", false); anim.SetBool("moving", true); break; case AnimationClips.CombatIdle: anim.SetBool("moving", false); anim.SetBool("idling", false); anim.SetBool("combatIdling", true); break; } }
// Update is called once per frame void Update() { if (prevClip != activeClip) { loadAnims = true; m_sync = true; } m_prevTrans = m_transition; m_transition += Time.deltaTime / m_timeAdjuster; //print(m_transition);///// PRINTHÄR asdasdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa if (m_transition > 1.0f) { m_transition -= 1.0f; } if (m_prevFramesToAdd != m_framesToAdd && !m_sync) { //GameObject t_hybrid1 = GameObject.Find("HybridAnimation"); //GameObject t_original1 = GameObject.Find("OriginalAnimation"); //if (m_flip) //{ // t_hybrid1.transform.position = new Vector3(1, 0, 0); // t_original1.transform.position = new Vector3(-1, 0, 0); //} //else //{ // t_hybrid1.transform.position = new Vector3(-1, 0, 0); // t_original1.transform.position = new Vector3(1, 0, 0); //} switch (activeClip) { case AnimationClips.Idle: poses.Clear(); hipspos.Clear(); m_animIdle.ResetSwitch(); m_animator.applyRootMotion = true; if (m_framesToAdd == 0) { SaveKeyFramesWalkFWD0(); SaveKeyFramesWalkFWD2(); } else if (m_framesToAdd == 1) { SaveKeyFramesWalkFWD0(); SaveKeyFramesIdleBetween1_1(); SaveKeyFramesWalkFWD2(); } else if (m_framesToAdd == 2) { SaveKeyFramesWalkFWD0(); SaveKeyFramesIdleBetween2_1(); SaveKeyFramesIdleBetween1_1(); SaveKeyFramesIdleBetween2_2(); SaveKeyFramesWalkFWD2(); } m_animIdle.ChangeKeyFrames(m_framesToAdd); m_timeAdjuster = m_animIdle.timeAdjuster; break; case AnimationClips.Crouching: poses.Clear(); hipspos.Clear(); m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { SaveKeyFramesCrouching(); SaveKeyFramesStanding(); deltaTimeIncreaser = 0.7f; // 0.86 } else if (m_framesToAdd == 2) { SaveKeyFramesCrouching(); m_between1_1 = Animator.StringToHash("Crouching_2_1"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("Crouching_1_1"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("Crouching_2_2"); SaveKeyFramesBetween1_1(); SaveKeyFramesStanding(); deltaTimeIncreaser = 0.7f; } else if (m_framesToAdd == 1) { SaveKeyFramesCrouching(); m_between1_1 = Animator.StringToHash("Crouching_1_1"); SaveKeyFramesBetween1_1(); SaveKeyFramesStanding(); deltaTimeIncreaser = 0.7f; } break; case AnimationClips.Walking: poses.Clear(); hipspos.Clear(); m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { SaveKeyFramesWalkFWD0(); SaveKeyFramesWalkFWD1(); SaveKeyFramesWalkFWD2(); SaveKeyFramesWalkFWD3(); } else if (m_framesToAdd == 1) { SaveKeyFramesWalkFWD0(); m_between1_1 = Animator.StringToHash("WalkFWD_Extend1_1"); SaveKeyFramesBetween1_1(); SaveKeyFramesWalkFWD1(); m_between1_1 = Animator.StringToHash("WalkFWD_Cross1_1"); SaveKeyFramesBetween1_1(); SaveKeyFramesWalkFWD2(); m_between1_1 = Animator.StringToHash("WalkFWD_Extend_Mirror1_1"); SaveKeyFramesBetween1_1(); SaveKeyFramesWalkFWD3(); m_between1_1 = Animator.StringToHash("WalkFWD_Cross_Mirror1_1"); SaveKeyFramesBetween1_1(); } else if (m_framesToAdd == 2) { InvokeWalkSecondIncrement(); } break; case AnimationClips.Runnning: poses.Clear(); hipspos.Clear(); m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { //SaveKeyFramesWalkFWD0(); //SaveKeyFramesWalkFWD1(); //SaveKeyFramesWalkFWD2(); //SaveKeyFramesWalkFWD3(); m_between1_1 = Animator.StringToHash("1"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("3"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("5"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("7"); SaveKeyFramesBetween1_1(); } else if (m_framesToAdd == 1) { m_between1_1 = Animator.StringToHash("1"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("2"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("3"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("4"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("5"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("6"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("7"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("8"); SaveKeyFramesBetween1_1(); } break; default: break; } m_transition = 0; m_prevTrans = 0; } if (loadAnims) { poses.Clear(); hipspos.Clear(); switch (activeClip) { case AnimationClips.Walking: m_extendHash = m_animWalk.GetExtendHash(); m_extendMirrorHash = m_animWalk.GetExtendMirrorHash(); m_crossHash = m_animWalk.GetCrossHash(); m_crossMirrorHash = m_animWalk.GetCrossMirrorHash(); m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { InvokeKeyFramesWalkingFWD(); } else if (m_framesToAdd == 1) { Invoke("InvokeWalkFirstIncrement", 0.25f); } else if (m_framesToAdd == 2) { Invoke("InvokeWalkSecondIncrement", 0.25f); } m_timeAdjuster = m_animWalk.timeAdjuster; break; case AnimationClips.Runnning: m_extendHash = m_animRun.GetExtendHash(); m_extendMirrorHash = m_animRun.GetExtendMirrorHash(); m_crossHash = m_animRun.GetCrossHash(); m_crossMirrorHash = m_animRun.GetCrossMirrorHash(); m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { //InvokeKeyFramesWalkingFWD(); Invoke("InvokeRunNoIncrement", 0.25f); } else if (m_framesToAdd == 1) { Invoke("InvokeRunFirstIncrement", 0.25f); } m_timeAdjuster = m_animRun.timeAdjuster; break; case AnimationClips.Crouching: m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { Invoke("SaveKeyFramesCrouching", 0.25f); Invoke("SaveKeyFramesStanding", 0.5f); deltaTimeIncreaser = 0.86f; } else if (m_framesToAdd == 1) { Invoke("InvokeCrouchFirstIncrement", 0.25f); deltaTimeIncreaser = 0.7f; } else if (m_framesToAdd == 2) { Invoke("InvokeCrouchSecondIncrement", 0.25f); deltaTimeIncreaser = 0.7f; } m_timeAdjuster = m_animDuck.timeAdjuster; break; case AnimationClips.Idle: m_extendHash = m_animIdle.GetIdleIdleHash(); m_extendMirrorHash = m_animIdle.GetExtendHash(); m_between1_1 = m_animIdle.GetIdleInbetweenOneOne(); m_between2_1 = m_animIdle.GetIdleInbetweenTwoOne(); m_between2_2 = m_animIdle.GetIdleInbetweenTwoTwo(); m_animIdle.ResetSwitch(); if (m_framesToAdd == 0) { Invoke("InvokeIdleNoIncrement", 0.25f); } else if (m_framesToAdd == 1) { Invoke("InvokeIdleFirstIncrement", 0.25f); } else if (m_framesToAdd == 2) { Invoke("InvokeIdleSecondIncrement", 0.25f); } m_timeAdjuster = m_animIdle.timeAdjuster; m_animIdle.ChangeKeyFrames(m_framesToAdd); break; default: break; } loadAnims = false; m_transition = 0; m_prevTrans = 0; } switch (activeClip) { case AnimationClips.Walking: if (poses.Count > 3 + m_framesToAdd) { m_animWalk.WalkingUpdate(m_transition, m_prevTrans, poses, hipspos, headBob, gameObject); //UpdateAnimationASD(); } break; case AnimationClips.Runnning: if (poses.Count > 3) { m_animRun.RunningUpdate(m_transition, m_prevTrans, poses, hipspos, headBob, gameObject);//UpdateAnimationASD(); } break; case AnimationClips.Crouching: if (poses.Count > 1) { m_animDuck.UpdateAnimation(m_transition, poses, hipspos, deltaTimeIncreaser, angularVelo, damper); } break; case AnimationClips.Idle: if (poses.Count > 1 + m_framesToAdd) { m_animIdle.IdleUpdate(m_transition, m_prevTrans, poses, hipspos, headBob, gameObject); } break; default: break; } //GameObject t_hybrid = GameObject.Find("HybridAnimation"); // GameObject t_original = GameObject.Find("OriginalAnimation"); if (m_flip) { //t_hybrid.transform.position = new Vector3(1, 0, 0); //t_original.transform.position = new Vector3(-1, 0, 0); } else { //t_hybrid.transform.position = new Vector3(-1, 0, 0); //t_original.transform.position = new Vector3(1, 0, 0); } prevClip = activeClip; m_prevFramesToAdd = m_framesToAdd; }
// Update is called once per frame void Update() { if (prevClip != activeClip) { loadAnims = true; m_sync = true; } m_prevTrans = m_transition; m_transition += Time.deltaTime / m_timeAdjuster; //print(m_transition);///// PRINTHÄR asdasdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa if (m_transition > 1.0f) { m_transition -= 1.0f; } if (m_prevFramesToAdd != m_framesToAdd && !m_sync) { //GameObject t_hybrid1 = GameObject.Find("HybridAnimation"); //GameObject t_original1 = GameObject.Find("OriginalAnimation"); //if (m_flip) //{ // t_hybrid1.transform.position = new Vector3(1, 0, 0); // t_original1.transform.position = new Vector3(-1, 0, 0); //} //else //{ // t_hybrid1.transform.position = new Vector3(-1, 0, 0); // t_original1.transform.position = new Vector3(1, 0, 0); //} switch (activeClip) { case AnimationClips.Runnning: poses.Clear(); hipspos.Clear(); m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { //SaveKeyFramesWalkFWD0(); //SaveKeyFramesWalkFWD1(); //SaveKeyFramesWalkFWD2(); //SaveKeyFramesWalkFWD3(); m_between1_1 = Animator.StringToHash("1"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("3"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("5"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("7"); SaveKeyFramesBetween1_1(); } else if (m_framesToAdd == 1) { m_between1_1 = Animator.StringToHash("1"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("2"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("3"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("4"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("5"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("6"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("7"); SaveKeyFramesBetween1_1(); m_between1_1 = Animator.StringToHash("8"); SaveKeyFramesBetween1_1(); } break; default: break; } m_transition = 0; m_prevTrans = 0; } if (loadAnims) { poses.Clear(); hipspos.Clear(); switch (activeClip) { case AnimationClips.Runnning: m_extendHash = m_animRun.GetExtendHash(); m_extendMirrorHash = m_animRun.GetExtendMirrorHash(); m_crossHash = m_animRun.GetCrossHash(); m_crossMirrorHash = m_animRun.GetCrossMirrorHash(); m_animator.applyRootMotion = false; if (m_framesToAdd == 0) { //InvokeKeyFramesWalkingFWD(); Invoke("InvokeRunNoIncrement", 0.25f); } else if (m_framesToAdd == 1) { Invoke("InvokeRunFirstIncrement", 0.25f); } m_timeAdjuster = m_animRun.timeAdjuster; break; default: break; } loadAnims = false; m_transition = 0; m_prevTrans = 0; } switch (activeClip) { case AnimationClips.Runnning: if (poses.Count > 3) { m_animRun.RunningUpdate(m_transition, m_prevTrans, poses, hipspos, headBob, gameObject);//UpdateAnimationASD(); } break; default: break; } //GameObject t_hybrid = GameObject.Find("HybridAnimation"); // GameObject t_original = GameObject.Find("OriginalAnimation"); if (m_flip) { //t_hybrid.transform.position = new Vector3(1, 0, 0); //t_original.transform.position = new Vector3(-1, 0, 0); } else { //t_hybrid.transform.position = new Vector3(-1, 0, 0); //t_original.transform.position = new Vector3(1, 0, 0); } prevClip = activeClip; m_prevFramesToAdd = m_framesToAdd; }