第七十一讲 Mecanim使用Root Motion的脚本处理.docx

上传人:b****8 文档编号:8998009 上传时间:2023-05-16 格式:DOCX 页数:10 大小:1.36MB
下载 相关 举报
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第1页
第1页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第2页
第2页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第3页
第3页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第4页
第4页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第5页
第5页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第6页
第6页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第7页
第7页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第8页
第8页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第9页
第9页 / 共10页
第七十一讲 Mecanim使用Root Motion的脚本处理.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第七十一讲 Mecanim使用Root Motion的脚本处理.docx

《第七十一讲 Mecanim使用Root Motion的脚本处理.docx》由会员分享,可在线阅读,更多相关《第七十一讲 Mecanim使用Root Motion的脚本处理.docx(10页珍藏版)》请在冰点文库上搜索。

第七十一讲 Mecanim使用Root Motion的脚本处理.docx

第七十一讲Mecanim使用RootMotion的脚本处理

第七十一讲Mecanim使用:

RootMotion的脚本处理

在前面的章节中RootMotion在场景中的运动,我们可以看到控制角色奔跑的动画片段中角色RootMotion角色中在空间中是不断发生变化的从而产生其来控制角色的场景中的运动而对于某些动画片段其中没有包含RootMotion或者是说其为0那么此时我们应如何来控制角色在场景中的运动呢

首页看下动画片段中RootMotion为0动画片段例子,这种动画类型的片段也称为inplis动画片段也就相当于原地踏步或原地进行的动画片段。

以我们输入的角色资源为例子,可以看到在此角色资源中包含有两个动画片段

点击查看walk类型的片段单击播放按钮进行播放,对于角色动画来说或对于此动画片段来说在角色的动作中是一个原地进行的动画循环片段,此种动画的片段就可被称为inplis的动画片段。

在动画片段中RootMotion值为0,因为动画片段中的角色在整个场景中是没有发生位移变化的那么对于此种类型的动画片段假如要将其应用在游戏中将如何控制角色在场景中的运动呢

此时unity的Mecanim也提供了其它的方法可以对于此种类型的动画片段进行处理,也就是使用脚本的方法在具体执行时,在属性的编辑器中动画中选中inplis动画片段

我们要确保我们的动画片段经过Avatar处理以及肌肉定义。

然后我们选中inplis动画片段,在属性编辑器中我们可以选中LoopPose选项以使我们动画具有很好的动画循环,其属性编辑器中角色在各个方面都具有很好的循环匹配性。

这些属性旁边的灯都是绿色的这样可以确保我们的角色具有好的循环特性,对于这种动画片段我们都可以选中BakeintoPose项。

在动画片段项底部有一曲线属性,此时按照图示可以单击三角形按钮来扩展此属性。

由于此处是使用曲线或脚本共同作用来驱动角色在场景运动,首先要为此动画片段创建一个曲线。

如上图点击加号按钮,并将此曲线重新命名,例如命名为Walkspeed,其含义是行走速度曲线。

再次单击此曲线打开可在其创建关键帧等等,通过我们定义曲线的形状,可以控制角色在场景中行走的速度,此时可设置曲线的整体运行速度1,然后单击Apply按钮来实施我们的属性设置。

接着我们创建一个属性控制器资源,其重新命名为rootContol1器资源。

双击此动画控制器资源,会看到如图所示一个视窗,然后拖动一个动画片段到此视窗中来创建一个动画状态。

此时我们可以直接拖动我们的inplis动画片段到动画控制器中,可以看到此动画片段会自动产生一个动画状态,通过多个动画状态可以形成一个动画状态机。

看到此动画状态的颜色是黄色,表明此动画状态是默认的动画状态,我们可以看到在此动画状态中使用的动画片段是inpliswalk动画片段。

动画控制器视窗中左下角单击加号按钮添加一个新的参数,我们可以设置此参数的为Foloat,然后对此参数可进行命名。

注意

在对此参数进行命名时参数的名称与之前创建的动画曲线的名称相同,因为这样我们的动画参数就可以直接获取动画片段中动画曲线的值,若不使用相同的名称

则我们的动画参数无法使用我们动画参数的数值。

接下来需要我们把动画控制器资源拖动到我们要控制的角色中。

角色中已经配好了Avatar资源,然后我们拖动角色控制器到相应的控制器属性中。

最后播放场景,可以看到在我们场景中的角色与设置动画控制器中的动画状态,此处的角色依然是原地运动,那么接下来使其播放动画的同时,使场景中的的动画发生位移,此时我们就需要使用一个脚本来控制。

创建一个新的脚本重命名此脚本为rootControl双击此脚本对其编辑。

在脚本中可以使用以下的内容,以下是脚本代码部分。

OnAnimatorMove()

此函数主要是作用是检测到动画播放时可以同时来进行动画处理,我们可以查看此回调函数。

最后拖动rootControl脚本到我们的角色物体中,在属性编辑器中我们会看到在rootMotion项中显示为脚本进行处理。

播放场景可以看到角色在场景中的位置会发生变化,也就是其Z轴会在脚本及动画曲线的位置下使其发生位移的变化。

另外我们可以通过改变角色中,动画的曲线来产生不同rootMotion的运动效果,这样可以创建更丰富的游戏效果。

对于使用脚本及动画曲线来控制动画的rootMotion来说是属于Mecanim比较高级的概念,但是为了保持对前面rootMotion介绍的连续性,我们将其放在了前面。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2