Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
    // 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;
    }
Esempio n. 3
0
 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;
         }
     }
 }
Esempio n. 4
0
    // 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);
            }
        }
Esempio n. 7
0
        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;
 }
Esempio n. 10
0
    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;
    }