相关文章推荐
强悍的海龟  ·  清代养老优老法制完备有效_中华人民共和国最高 ...·  5 天前    · 
光明磊落的蚂蚁  ·  国家税务总局黑龙江省税务局 ...·  7 月前    · 
闯红灯的墨镜  ·  企业详情-河南师范大学就业创业信息网·  9 月前    · 
重情义的铁链  ·  T90在叙利亚被美吊打,全球最强坦克前来支援 ...·  1 年前    · 
酒量大的板栗  ·  在推进巡视整改落实上狠下功夫 - 南粤清风·  1 年前    · 
Code  ›  Unity知识记录--制作随机Idle系统 -
动画 unity
https://www.bilibili.com/read/cv6726945/
大力的西瓜
1 年前
打开 App

Unity知识记录--制作随机Idle系统

  • 学习 ·
  • 2020-07-11 04:05 ·
  • 1366浏览
关注

闲置动画是一个非常常用的一个动画,单一的闲置动画会让人物动作显得僵硬,所以一个随机的闲置动画系统可以改变这一个情况。

用到的资源是Unity Asset Store中的Unity Chan,Chan是酱的意思,这里是Unity酱!!!

Unity酱,有5个闲置动画,导入到项目中可以看到。

我们将使用这5个动画构成一个完整的闲置系统。

完成的样子

其中HashIDs这个脚本不是必须的,制作随机系统的时候也没有用到。

Character Controller相当于Capsule Collider + Rigidbody,这里不做过多介绍。

接下来进入正题从Animator Controller开始制作。

我们这里会用到RandomIdle变量(int类型),Speed可以作为控制退出闲置的一个条件。我们首先创建的是Sub-State Machine

右键后选择

这个创建出来的就是一个六边形的State,然后我们Make Transition连接到这个六边形的State,并且将这个六边形State重命名为IdleSM,然后双击打开这个IdleSM。然后将我们的闲置动画全部添加到IdleSM中,整理后,得到下图。

接下来连接transition,先不要急着设置每一个transition,这个我们之后再来处理,连接好之后如下所示。

首先对这些蓝色的transition进行设置,将Has Exit Time取消勾选。

这里主要是为了能够随时退出这个子系统。接下来给这些退出,添加一个条件进行触发,将Speed设置为大于0.1,也就是希望人物只要处于移动状态就不会进入到我们的闲置系统中。

设置速度大于0.1

接下来对这四个transition进行设置。

我们使用RandomIdle来控制这些transition。

随机闲置1
随机闲置2
随机闲置3
随机闲置4

最后记着将默认的RandomIdle随机值设置为-1。

接下来需要设置一个脚本来控制这个随机数值。这个脚本是挂载在一个State上的,继承的是StateMachineBehaviour。选中WAIT00这个是最常用的闲置状态,点击Add Behavior,添加一个脚本,我们命名为RandomIdleState。

接下来对这个RandomIdleState的脚本内容进行编写。

我们编写两个部分的内容,一个是OnStateEnter,一个是OnStateUpdate。

首先我们先声明几个变量




numberOfStates表示有几个可以转换的闲置动画,这里我们有四个可以切换的。

minNormTime表示最小的在WAIT00停留的时间,用于随机。

maxNormTime表示最大的在WAIT00停留的时间,用于随机。

m_RandomNormTime表示在WAIT00停留的时间,是随机的结果。

m_HashRandomIdle是RandomIdle的HashID,用来代替String的设置提高运行效率的。

首先是OnStateEnter,当我们进入到WAIT00状态的时候,我们要随机一个在这个状态维持的时间出来,便于我们记录什么经过多少时间切换。

这个函数中只写了一个在最大最小值之间随机的一个函数。

这里可以直接照抄,第一个if主要是判断动画离开WAIT00时,将RandomIdle设置回-1,以方便下次进入这个状态时使用,这里的离开包括进入到其他WAIT状态和直接退出整个随机闲置系统。

第二个if就是用来随机我们的RandomIdle的值的。当在WAIT00待的时间>随机的维持时间,随机一个值,切换到其他的WAIT状态。

至此整个随机闲置的系统都完成了,效果可以看视频,压缩成gif分辨率太低了。


看完文章和视频后给个三连哦!!!

彩紫睨羽

本文禁止转载或摘编

本文为我原创

    • --
    • --
    • --
展开阅读全文
打开App,看更多精彩内容
 
推荐文章
强悍的海龟  ·  清代养老优老法制完备有效_中华人民共和国最高人民检察院
5 天前
光明磊落的蚂蚁  ·  国家税务总局黑龙江省税务局 个体工商户定额公示 国家税务总局肇州县税务局2021年7月份定期定额公示
7 月前
闯红灯的墨镜  ·  企业详情-河南师范大学就业创业信息网
9 月前
重情义的铁链  ·  T90在叙利亚被美吊打,全球最强坦克前来支援,局势发生逆转_俄罗斯
1 年前
酒量大的板栗  ·  在推进巡视整改落实上狠下功夫 - 南粤清风
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号