unity3d游戏开发之动画控制(状态机).docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
unity3d游戏开发之动画控制(状态机)

??首先,创建一个animator controller(动画控制),在你的模型上添加一个组件(animator),把animator controller绑定到controller选项栏中,双击打开你新建的animator controller,会出现下图所示①??,单击右键创建一个空的状态,然后把你所要展现的动画拖到这个新建的状态上,需要用几个状态,就拖几个,在你最初始的状态上,单击右键,选择make transtion,会出现一条线,连到你下一个状态下,这里给大家解释一下,打个比方,一个动画人物从站立到把敌人杀死,所需要的动画为 站立-》跑动-》攻击-》站立,这就形成了一个循环(当然了,有的也可逆向播放,比如跑动后站住不动,就是跑动-》站立),在那你animator controller中提现出来,如图所示②??,大家注意了!!看左下角③?,这就是我们今天的主角,状态机,点击那个“+”号,选择你根据那种数据类型来控制这个动画的播放,然后点击状态跟状态之间的连线,会出现如下界面④?? ,注意我拿红线圈起来的地方,就是决定控制动画的地方,这里我选择了用布尔类型来控制,这就代表我可以在我的代码中控制这个状态的值到底为true或者false,来控制我这个动画是否要播放,这就是状态机,其他的数据类型根据需求来改变,比如要做一个三连击的动画,你也可以用float类型的数据,靠数值来判断两个招式之间的间隔时间的长短是否达成连招的效果。 ??接下来就是给大家展示一下代码: [C#]?纯文本查看?复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /** ?By_Robin ?*/ ? using UnityEngine; using System.Collections; ? public class animatorController : MonoBehaviour { ????private Animator player; ????// Use this for initialization ????void Start () { ????????player = GameObject.Find(Player).GetComponentAnimator(); ????????//初始状态,不播放移动的动画 ????????player.SetBool(move, false); ????} ????? ????// Update is called once per frame ????void Update () { ????????//如果按下“w”键,执行前进的动画 ????????if (Input.GetKey(KeyCode.W)) { ????????????//动画的布尔值为true,执行动画 ????????????player.SetBool(move, true); ????????} ????} }

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档