Unity传统动画的实现

来源:互联网 发布:91苹果手机助手 mac版 编辑:程序博客网 时间:2024/05/16 07:24

Unity传统动画的实现

Unity传统动画一般是指在导入Unity之后将模型的Rig 中Animation Type设置为Legacy。在Animation中导入动画,并在Animation中设定动画剪辑。

using UnityEngine;using System.Collections;public class AnimationScript : MonoBehaviour {    public Animation player;    private float speed=10;    private int moveFlag=0;    private Vector3 dir=Vector3.zero;    private Vector3 moveSpace=Vector3.zero;    private Vector3 cameraMoveSpace=Vector3.zero;    private float dianx;    public GameObject cameraObject;    Vector3 v;    float dx=0;    float dianxx;    void Start () {        player.wrapMode=WrapMode.Loop;        player.CrossFade("PlayerIdle");    }    // Update is called once per frame    void Update () {        PlayerMove();    }    void PlayerMove(){        if(Input.GetKeyDown(KeyCode.A)){            player.CrossFade("PlayerJumpStart1");            player.CrossFadeQueued("PlayerJumpStart2");            moveFlag=0;        }        if(Input.GetKeyDown(KeyCode.D)){            player.CrossFade("PlayerJumpFall1");            player.CrossFadeQueued("PlayerJumpFall2");            cameraObject.transform.position=this.transform.position;            moveFlag=0;        }        if(Input.GetKeyDown(KeyCode.W)){            player.CrossFade("PlayerRun");            moveSpace=Vector3.forward*Time.deltaTime;            moveFlag=1;        }        if(Input.GetKeyUp(KeyCode.W)){            player.CrossFade("PlayerIdle");            moveFlag=0;        }        if(Input.GetKeyDown(KeyCode.S)){            player.CrossFade("PlayerRun");            moveSpace=-Vector3.forward*Time.deltaTime;            moveFlag=1;        }        if(Input.GetKeyUp(KeyCode.S)){            player.CrossFade("PlayerIdle");            moveFlag=0;        }        if(moveFlag==1){            this.transform.Translate(moveSpace);        }    }}
0 0
原创粉丝点击