unity3d的Animation 动画播放器的基本API
生活随笔
收集整理的這篇文章主要介紹了
unity3d的Animation 动画播放器的基本API
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
直接上代碼:
//動畫名稱 private const string ANIM_NAME = "Take 001"; //模型對象 private GameObject obj = null; //動畫長度private float animLegth=0f;//動畫組件private Animation m_Animation=null;栗子代碼://得到模型動畫 //obj = GameObject.Find("man"); //得到動畫的播放長度;舊版本可以直接獲取 obj.animation.animation[ANIM_NAME].length,5.X之后的應該都需要獲取Animation組件m_Animation = obj.GetComponent<Animation>();animLegth= m_Animation[ANIM_NAME].length; //播放動畫 : 1 m_Animation.Play();//播放默認動畫m_Animation.Play("xx");//播放xx動畫,默認是停止同一層的其他動畫;作用同m_Animation.Play("xx",PlayMode.StopSamLayer);m_Animation.Play("xx",PlayMode.StopAll);//播放xx動畫,所有當前播放的動畫都停止//2:在一定時間內淡入名稱為animation的動畫m_Animation.CrossFade(string:animation);m_Animation.CrossFade(string:animation,float:time);m_Animation.CrossFade(string:animation,float:time,PlayMode:playMode); //判斷動畫是否播放完畢;normalizedTime: 范圍0~1, 0是動作開始,1是動作結束;但是對于Animation好似沒用,Animator是可以的,建議可以嘗試下,判斷normalizedTime的值是否處于0.8~0.9嘗試,或者其他定時/委托if (m_Animation.IsPlaying("xx") && m_Animation["xx"].normalizedTime >= 1) //倒放動畫m_Animation["xx"].speed = -1f*設置的動畫播放速度;//加速可以直接在正值的基礎上乘N倍 栗子:m_Animation["xx"].speed = 1f*N; //停止播放動畫 m_Animation.Stop(); m_Animation.Stop("xx");?
注:一個要格外注意的點,一旦用了倒放動畫,播放完畢之后,要恢復;不然動畫只播放一遍;
總結
以上是生活随笔為你收集整理的unity3d的Animation 动画播放器的基本API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ThreeJS - 直接设置Fbx模型的
- 下一篇: sentinel 熔断降级