Unity-Animator深入系列---FAQ
Q: 如果想做角色负伤的一套动画,但是又和原有状态机不冲突,只是想换动画剪辑,应该怎么办?
A:
新建一个层,设置为同步模式。这时候你不能在同步层添加状态,但你可以替换动画剪辑。
官方的解释是:
Sometimes it is useful to be able to re-use the same state machine in different layers. For example if you want to simulate "wounded" behavior, and have "wounded" animations for walk / run / jump instead of the "healthy" ones. You can click the Sync checkbox on one of your layers, and then select the layer you want to sync with. The state machine structure will then be the same, but the actual animation clips used by the states will be distinct.
有些时候在不同层中能够重用一些相同的状态机是很有用的。比如:如果你希望模拟一个“负伤”的行为,并且这个“负伤”的动画是为代替走动/跑动/跳动中“健康”(的动画)。你可以点击某个层上的“同步”(Sync)复选框,并且选择你希望同步的那一层。这样的话,这些状态机结构将会保持一致,但是实际的动画剪辑会有区别。
Q: 公用状态机还是单独配置状态机?
A:村民之类的角色可以公用状态机,Unity有一个Animator Override Controller(Project面板下,右键创建里)。用这个来重写公用状态机的动画文件。
而主角没办法,只能单独配置状态机,最后策划在表里填写用哪一个控制器文件,控制器文件可以经过Resources载入
Q: 位移如何通过状态机的变量而改变长度?
A: 游戏中可能你角色力量值高一些,位移就长一些。解决方法有很多可以用StateMachineBehaviour,在OnAnimatorMove中添加附加移动值,这种最为直观
可以参考这篇:LINK
Q: 使用Animator时,以前Animation的事件去哪了?
A:选中带动画的模型(就是@后缀),Inspector里第三个页签Animations-最下方Events
Q: 角色连技难道要手动链接状态吗?
A:可以用.CrossFade(...)接口自行去实现逻辑,关于CrossFade可以看这个LINK
Q:Animator打开根骨骼位移后,动画一直向上飘?
A:原因可能是当前状态没有加动画剪辑去控制根骨骼,可以加一个idle动画,默认播放这个idle动画
Q:如何实现Animator的动画倒播?
A:比较麻烦,可以参考我的这篇文章:LINK
Q:Animator空中播放动画不能应用重力怎么办?
A:使用gravityWeight,具体用法请看:LINK 。其中第11条是这个接口
Q:根骨骼坐标被锁定,不可修改?
A:在Animator初始化时候会锁定一次根骨骼坐标,重置好坐标,调用Rebind()即可解决
Q:一帧内调用CrossFade先后播放2个状态,第二个状态不执行?
A:Animator默认混合结束之后才算进入第二个状态,比如在Idle状态,进入Run状态。这时同一帧内或者短时间内再回到Idle,由于混合没有结束,未到达Run之前还在Idle,就会无效
最后会发现还在Run状态,没回去
Unity-Animator深入系列---FAQ的更多相关文章
- 【转】Unity Animator卡顿研究
Unity Animator卡顿研究 发表于2017-07-26 点赞3 评论3 分享 分享到 2.3k浏览 想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏程序行业精英群 ...
- 【转】unity Animator 怎么判断一个动画播放结束
关于unity Animator 怎么判断一个动画播放结束这里有几种方法.希望对大家有帮助.还有其他办法的可以分享一下 第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了? ...
- Unity Animator动画状态机 深入理解(一)
接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我 ...
- Unity S老师系列课程学习
AssetBundle(创建打包)入门学习(基于Unity2017) (已看) 分组策略 逻辑实体分组 按照类型分组 按照使用分组 分组策略----总结 把经常更新的资源放在一个单独的包里面,跟不经常 ...
- Unity Animator动画状态机 深入理解(二)IK控制
IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下 ...
- 【Unity】UGUI系列教程——拼接一个简单界面
0.简介: 在目前的游戏市场上,手游依然是市场上的主力军,而只有快速上线,玩法系统完善的游戏才能在国内市场中占据份额.而在手游开发过程中,搭建UI系统是非常基本且重要的技能,极端的说如果对Unity的 ...
- unity, Animator.ResetTrigger
解: 正确的写法应该是:Animator.SetTrigger("unfoldTrigger")Animator.ResetTrigger("unfoldTrigger& ...
- Unity优化----drawcall系列
本文由博主(国宝大熊猫)原创,转载请注明出处:http://www.cnblogs.com/xsln/p/5151951.html 知识普及: *Drawcall影响的是CPU的效率.因为d ...
- unity, animator stateMachine立即触发状态转换
例如按下键jump按钮人物执行跳起动作,同时动画状态由idle转换为jump,同时打开Game窗口和Animator窗口对比观察,发现人物跳起时动画状态并没有同步发生转换,而是有一定延迟,导致人物动画 ...
随机推荐
- GTA项目 三, 使用 bootstrap table展示界面,使得data和UI分离
/** bootstrap-table - v1.5.0 - 2014-12-12* https://github.com/wenzhixin/bootstrap-table* Copyright ( ...
- JAVA类加载机制详解
“代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是变成语言发展的一大步”,这句话出自<深入理解JAVA虚拟机>一书,后面关于jvm的系列文章主要都是参考这本书. JAV ...
- nyist 626 intersection set
http://acm.nyist.net/JudgeOnline/problem.php?pid=626 intersection set 时间限制:1000 ms | 内存限制:65535 KB ...
- 每天一个shell知识--数组
1.shell中数组的定义: 数组名=(value value1 value2 ) 也可以单独的设定数组的分量: arrayL[0]=value arrayL[1]=value1 2.${arrayL ...
- Calculation
定义一个Strategy接口,其中定义一个方法,用于计算 using System; using System.Collections.Generic; using System.Linq; usin ...
- 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
老早就想写这个话题了,今天正好有机会研究了一下 git 的自动化部署.最终做到的效果就是,每当有新的 commit push 到 master 分支的时候,就自动在测试/生产服务器上进行 git pu ...
- 关于mybatis 在C#.Net中批量增,删,改
发现很久没有更新空间里的日志了,有时候实在忙没有时间记录,有时候又觉得自己整理的不够清晰,还是缓缓在记录吧. 下面直接进入正题 对于急需方法的阅读者 可以直接转至代码以下忽略 对于数据库进行操作的类 ...
- MVC Controller弹窗的几种方式
MVC3 Controller弹窗的几种方式 return Content("<script language='javascript' type='text/javascript ...
- java-excel导出
java excel导出分为两种2003年的格式和2007年的格式. 2003年的xls一个sheet限制65536. 2007年的xlsx限制为1048576. jxl导入2003 gradle j ...
- smarty简单介绍
smarty简单介绍 示意图如下 简单介绍smarty.class.php类的大体内容,如下: <?php class Smarty //此类就是libs中的Smarty.class.php类 ...