(一)简单动画控制播放

很久之前讲述过animation动画播放https://www.cnblogs.com/llstart-new0201/p/7294373.html,现在研究一下animator

(一)Project视图新建AnimatorController

(二)在上述界面右键Create state->Empty,并命名为Init,重复上述步骤并命名为State01,在Empty上右键Make Transition并在State01上左键点击,如下图所示。至此建立了两个动画状态Init和State01,并且创立了init状态到State01的两个切换开关(箭头)。由于Init状态与Extry相连,所以属于初始状态,即运行即激活Init动画。

(三)点击Init状态,并在Inspector面板中绑定动画,如下图所示,同理设置State01动画。动画为其他软件如Maya等导出,也可以自己通过animation简单制作一下。

(四)设置开关,如下图所示。点击+可以选择开关类型,在此选择int并命名为Switch

(五)选择(二)中init到State01的箭头,在inspector面板中点击Conditions中+,选择switch,中间选项选为Equals,并把数值设为1。同样的设置应用到State01到Init的箭头,并把数值设为2。至此两个动画状态的开关设置好了。即switch=1时动画从init切换到State01, switch=2时动画返回到Init(因为init与entry相连,所以一般init状态动画为静止动画,如站立)。注意HasExitTime参数,如果动画切换时,需要当前动画播放完成后切换,则勾选上,而且一连串动画播放时也需要勾选上。

(六)代码控制

在某一游侠物体上添加animator组件,并将上述建立的animatorController赋值给他,通过animator控制switch参数即可实现控制动画播放

animator.SetInteger("switch", 1)

可以通过state名字单独控制动画播放,此种播放可以不用设置transition

animator.Play("State01", 0, 0f);

以后有时间会陆续更新,更复杂详细介绍参考https://www.cnblogs.com/lancidie/p/7818559.html

猜你喜欢

转载自www.cnblogs.com/llstart-new0201/p/9883974.html