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");
注:一个要格外注意的点,一旦用了倒放动画,播放完毕之后,要恢复;不然动画只播放一遍;
不积跬步,无以至千里;不积小流,无以成江海。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥