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窗口对比观察,发现人物跳起时动画状态并没有同步发生转换,而是有一定延迟,导致人物动画 ...
随机推荐
- 前端bower使用
Bower是一个客户端技术的软件包管理器,是由twitter推出的.它可用于搜索.安装和卸载如JavaScript.HTML.CSS之类的网络资源.其他一些建立在Bower基础之上的开发工具,如Yeo ...
- Swift动画编程指南-01 简介
大家好,我是老镇,这段时间家里和工作上发生了很多的事情,所以很长一段时间都没有出来搞什么小动作了.在接下来的一段时间内我会制作一些列关于使用Swift进行动画编程的视频,希望和大家胃口. 在iOS的世 ...
- PostgreSQL 中定义自己需要的数据类型
PostgreSQL解决某系数据库中的tinyint数据类型问题,创建自己需要的数据类型如下: CREATE DOMAIN tinyint AS smallint CONSTRAINT tinyint ...
- JAVA的JVM虚拟机工作原理.V.1.0.0
注意:一下内容纯属个人理解,如有错误,欢迎批评指正. (90度弯腰)谢谢. java在JVM上的运行过程: 1,编辑好的java代码(IDE无报错,测试运行无错误): 2,java源代码通过javac ...
- t4 multiple output sample
<#@ output extension=".js" #> <#@ template debug="false" hostspecific=& ...
- C# 类的介绍,参数传递,各种符号说法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言
最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且 ...
- 封装自己的smartyBC类
<?php/** * Project: Smarty: the PHP compiling template engine * File: SmartyBC.class.p ...
- 查看Linux服务器各种信息方法
有的时候需要搜集服务器的各种信息,比如cpu信息,内存信息,linux版本信息,安装的各种软件信息等等.下面总结几种主要指标的查看方法. 1. 查看Linux发行版信息 [root@pcmweb ~] ...
- PHP浮点数的一个常见问题的解答 (转载 http://www.laruence.com/2013/03/26/2884.html)
不过, 我当时遗漏了一点, 也就是对于如下的这个常见问题的回答: <?php $f = 0.58; var_dump(intval($f * 100)); //为啥输出57 ?> 为啥输出 ...