Unity的Animator的动画层(Layer)
需求是这样的,角色在待机和跑动中都可以攻击也可能受击,但如果是跑动切到攻击和受击时同时还要保持跑动的动画,同样的待机切换的,执行完后就是待机动画。如果只用一层,Animator Controller 就很复杂,还可能额外编写较多的其他代码。这里有个难点在于,当正在跑时,想执行攻击,用trigger即可,但如果攻击执行完以后,该执行什么?按理说,应该是回到跑。但是,不仅仅是跑动中可以攻击,而是待机中也可以攻击。如果这要通过代码实现,可能比较冗长。不过如果用两层动画层,就很容易实现。
1.建立base层,控制 “idle”, “attack”, “hit”,“die”的切换
这个之间的切换都使用各自的trigger来切换。其中设置“die”可以被anystate切换去。
2.建立Run层,控制“run”
默认状态是null,也就是这上面没有任何动画,是空的, “null”和“run”的切换用个bool值控制。最后的参数和层看起来如下
将Run Layer的weight设置成0.5.。因为我们需要的跑的时候,能攻击,且保持跑的状态,这两个状态被简单的处理到了不同的层里了,那必须有个权重。说的直白点,跑动中攻击,播放的既不是跑动也不是攻击的动画,而是两者的混合。
3.增加代码,当“attack”或者“hit”动画执行完后回到idle。主要还是想有个“中心”状态,保持一个星型的结构,好控制。
void PlayFinishedReturnToIdle(AnimatorStateInfo stateInfo)
{//不设置Has Exit Time 切换会流畅if (stateInfo.IsName("attack") || stateInfo.IsName("hit")){if (stateInfo.normalizedTime > 1.0f){animator.SetTrigger("idle");}}
}
————————————————
版权声明:本文为CSDN博主「1024路漫漫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wuming2016/article/details/88395907
Unity的Animator的动画层(Layer)相关推荐
- 巧用Unity的Animator的动画层(Layer)实现跑动中攻击和受击
需求是这样的,角色在待机和跑动中都可以攻击也可能受击,但如果是跑动切到攻击和受击时同时还要保持跑动的动画,同样的待机切换的,执行完后就是待机动画.如果只用一层,Animator Controller ...
- Unity中Animator播放动画后无法修改transform的问题
本文分享Unity中Animator播放动画后无法修改transform的问题 在使用Animator时, 如果某些动画状态设计到transform的改动, 比如位置, 缩放等, 在默认情况下我们就不 ...
- 【unity实践记录】动画层的顺序和混合模式Override/Additive
手册上关于层顺序的介绍基本没有,只是一个不明所以的Q&A一带而过: 层的排序是否重要? 是的.层的优先级是按顺序从上到下的.层设置为 override 将始终覆盖先前的层(如果层有遮罩,则基于 ...
- Unity通过Animator获取动画clip时长
///获取动画状态机animator的动画clip的播放持续时长 public static float GetClipLength(Animator animator, string clipNam ...
- unity新动画系统之动画层和动画遮罩
这一节来说说unity动画层layer和遮罩avatarMask: weight 权重,对应着这一层动画在所有层动画中所占的比例.以上图来说明,new layer中的weight为0,模型的动画效果就 ...
- Unity Mecanim动画系统 之 动画层(Layers)和 动画遮罩(Avatar Mask)的简单使用
Unity Mecanim动画系统 之 动画层(Layers)和 动画遮罩(Avatar Mask)的简单使用 目录 Unity Mecanim动画系统 之 动画层(Layers)和 动画遮罩(Ava ...
- Unity -- Animation(旧版动画组件)和Animator(新版动画器组件)
旧版animation动画器组件 如果想让一个游戏物体具有动画表现的话,我们需要给这个游戏物体挂载动画组件 和音频组件视频组件一样,如果想在游戏对象上播放动画效果的话我们需要挂载一个动画组件,然后再给 ...
- Unity(动画层 IK动画)
动画层 关于动画层的使用 → 用于融合不同部位的动画 动画层设置 Weight(权重) → 该层动画执行的比例 Mask(遮罩) ...
- 2022-07-06 Unity核心9——3D动画
文章目录 一.3D 动画的使用 二.动画分层和遮罩 三.动画 1D 混合 四.动画 2D 混合 五.动画子状态机 六.动画 IK 控制 七.动画目标匹配 八.状态机行为脚本 九.状态机复用 十.角色控 ...
最新文章
- KD树是什么? 为什么要用KD树? KD树怎么用? KD树和KNN的关联是什么?
- IDC:预计全球人工智能支出将在四年内翻一番
- mega_[MEGA DEAL]完整的Android开发人员课程–构建14个应用程序(91%折扣)
- Centos-Server-LNMP整合---源安装
- 在线网站原型设计工具Cacoo
- 修改Apache的默认站点目录的方法,需要的朋友可以参考下
- excel怎么启用宏_EXCEL制作的小升初毕业生登记表,全自动填充,包括照片
- Android之jni出现JNIEnv has no member named ‘GetMehtodID‘解决办法
- 天猫APP也可以点外卖了!饿了么接入天猫App
- 2018-3-7 色彩的一些知识
- JAVA程序设计教程-第2版-雍俊海 介绍以及 PDF+源代码+ppt 下载链接
- 二级域名 免费+免备案
- word2013免费版下载和安装
- 杭州端点科技java,端点实习面试(一面)
- Spark 基础教程
- 通讯录——java课程设计
- Chapter 1 复杂度分析和递归分析
- Mac设置隐藏程序坞响应时间有一秒延迟
- onlyoffice-api
- android编程高级教程 pdf,Android多媒体开发高级编程