unity5, animator state machine, 无条件transition实现播放动画序列
2015-06-26 17:21
639 查看
今天遇到这样一个需求,我有一个名为happy的animation clip和一个名为speak的animation clip。想实现当主角胜利后播放动序列:
happy->speak->happy->speak->...
这样无限循环。
走了一些弯路后发现直接在animator state machine里就可以搞定,如下图:
transition{idle->happy}上condition设为triggerWin,由于idle到happy的transition不能太拖沓,所以Has Exit Time要去掉勾选。
transition{happy->speak}上condition设为空,Has Exit Time可以保留,另外调节好过度。
transition{speak->happy}上condition设为空,Has Exit Time可以保留。另外调节好过度。
这样只要在胜利的时候调用Animator.SetTrigger("triggerWin"),就可以看到如下动画序列的播放效果了:
idle->happy->speak->happy->speak->happy->speak->...
而且各动画之间是带过度的。
----补充:
貌似如果Condition为空,则必须勾选Has Exit Time,否则不会自动跳转,且面板上报warning:Transition needs at least one condition or an Exit Time to be valid, otherwise it will be ignored.
happy->speak->happy->speak->...
这样无限循环。
走了一些弯路后发现直接在animator state machine里就可以搞定,如下图:
transition{idle->happy}上condition设为triggerWin,由于idle到happy的transition不能太拖沓,所以Has Exit Time要去掉勾选。
transition{happy->speak}上condition设为空,Has Exit Time可以保留,另外调节好过度。
transition{speak->happy}上condition设为空,Has Exit Time可以保留。另外调节好过度。
这样只要在胜利的时候调用Animator.SetTrigger("triggerWin"),就可以看到如下动画序列的播放效果了:
idle->happy->speak->happy->speak->happy->speak->...
而且各动画之间是带过度的。
----补充:
貌似如果Condition为空,则必须勾选Has Exit Time,否则不会自动跳转,且面板上报warning:Transition needs at least one condition or an Exit Time to be valid, otherwise it will be ignored.
相关文章推荐
- unity视频播放,
- Unity5.1 创建IOS的Xcode项目. 如何手动增量更新应用的资源和代码.
- Unity3D占用内存太大的解决方法
- 【Unity实用小技巧】Unity使用总结(一)
- [Unity3d]打包Assetbundle并加载
- Unity Ray 射线检测
- Unity3D读取XML文档信息
- Unity3d_UGUI虚拟摇杆(简易)
- Unity3D4.x之AssetBundle学习笔记
- Unity3D研究院之详解游戏开发音频的播放(十五)
- Unity3D-SLua+ProtocolBuffers构建说明
- 追踪所下载的AssetBundle
- Unity3d陀螺仪看全景图
- Unity NGui 利用UIToggle做个分页标签
- Unity NGui 利用UIToggle做个分页标签
- Unity shader 官网文档全方位学习(一)
- Unity3d_NGUI和UGUI的学习
- 关于Unity特效未播放完的问题
- Unity3D实践系列10, Canvas画布的创建和使用
- unity, change shader for me and all my children