Unity 角色自动播放随机动画 |
您所在的位置:网站首页 › 随机动画怎么设置 › Unity 角色自动播放随机动画 |
Unity 角色自动播放随机动画 在游戏过程中(尤其是RPG类游戏中),为了让一切显得更加真实,我们往往希望一些NPC或者怪物能够在多个动画或是状态间自动切换,而不是一直重复播放同一个IDLE。这时候就需要为他们实现自动播放随机动画的功能。 写在前边:1.本文章为个人实际项目过程中遇到了该问题,在国内各大论坛检索没有得以解决,最终在Youtube找到相关视频后得以解决 2.所以文章内知识由该频道的视频和视频后的文章学习总结而来,并非原创 3.首先贴出原视频原文链接,习惯看英文教程的朋友可以直接跳转 原视频传送门:Unity 5.0: Sub-State Machine for Random Animations 原文章传送门:Having fun with the new Mecanim features 正式开始: 一、图示最终效果 二、实现步骤: 1.导入素材并新建一个Plane便于观察,找到需要实现动画效果对象的Animator组件中的Animator Controller 2.如下图修改Animator Controller1).空白处右键,Create Sub-State Machine,得到如图灰色六边形的子状态机,重命名 2).在新建的Sub-State Machine子状态机中,按下图编辑各个Animator State(动画状态)间的顺序为并行,在左侧Parameters参数列表中,点击“+”新增一个Int类参数,命名为CatState,用来配合脚本控制当前Cat的动画状态 3.新增子状态机的控制脚本 12345678910111213141516171819202122232425using System.Collections; using System.Collections.Generic; using UnityEngine; public class CatStateBehaviour : StateMachineBehaviour { public string m_parametersName = "CatState"; public int[] m_stateIDArray = { 0, 1, 2, 3 }; // OnStateEnter is called before OnStateEnter is called on any state inside this state machine //官方注释翻译:在此状态机内的任何状态上调用OnStateEnter之前调用OnStateEnter override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (m_stateIDArray.Length |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |