GAMESH

游戏美术动画unity资源搬运工!

剧情党,完美控!
桐崎千棘
当前位置:首页 > 工作 > 正文内容

Unity Root Montion详解

admin3年前 (2022-03-23)工作8607825

  在游戏开发中我们常见的动画文件一般分为两种,一种是in place动画,也就是不带位移的动画,另一种是root montion动画,也就是自带根位移的动画,这种所谓自带跟位移的动画能够带来的好处是显而易见的,它有效的避免了角色动画和实际位移不同步的现象。那么从这一教程,就让我们详细的了解一下root montion。在讲解原理之前,我们先实际应用一下,打开mixamo这里的所有角色动画都是如此磨损动画,麦克赛某的用法请参考我的这一期视频,我们在这里搜索logo motion,找到这个基本的角色移动包把它下载下来,这个动画包里没有后退的动画,所以我们再单独下载一个把下载完的FBX动画文件导入unity之后,把他们全部切换成humaoid的动画,

Unity Root Montion详解 第1张


  如果使用动画时出现了走样的问题,请参考的这期教程对avatar文件进行调试,因为这里所有的动画文件都来自于同一个模型,所以我们只需要调试一个avatar的,然后剩下的所有动画文件都可以使用这个avatar来把自己转换成humanoid动画,那么我们就使用这个调试好的idle的,全部转换好了之后,呢我们把场景里的角色模型投进来看一下,可以看出动画是完全没有走样的,只是这些动画似乎并没有自带位移,这是因为这个角色上的animator组件并没有打开root motion的功能,在场景中找到我们的角色,把他的animator组件里的apply root motion的选项给勾选上。Unity Root Montion详解 第2张

关于animator组件的详细介绍,请参考我的这一期视频(https://www.bilibili.com/video/BV1x44y1e7Ro)。再来看一下现在角色就可以移动起来了,找到我们接下来要使用的动画,把它们的循环功能给勾上,对动画片段的修改可以在fbx文件下完成,也可以找到FBX文件下的动画片段文件,按Ctrl+ d把它复制出来,然后在这个动画片段文件里进行修改,我们之前的操作都是在动画片段文件里做的,这一次我们就直接在fbx文件里操作的如果,我们把这个fbx动画文件拖进状态机的话,

Unity Root Montion详解 第3张

你会发现状态机里的动画状态的名字和FBX文件的名字并不一致,这是因为状态机里使用的还是FBX文件下动画片段的名字,我们可以选中FBX文件,然后在检视视图下找到这里的动画片段更改它的名字,然后我们再把它拖进来,这样名字就正确了。不过我并不打算为这些如此陌生动画新建动画状态,为了方便和之前的动画做对比,我们找到这个状态机,选中之后按CTRL d复制一分,重命名root motion controller,然后把这三个动画状态里的动画片段改成自带动画片段,

  下面我们新建一个角色控制脚本,当我们检测到玩家按下前进,那么就把前进设置为true,否则就把前进设置为false。检测到玩家一下后退就把后退设置为true,否则就把后退设置为false,在这个脚本里我们完全不需要处理角色的位移,

  保存脚本回到游戏场景复制一个角色,换掉animator里的状态机,确保animator这里的apply root motion是勾选的,再更换一下控制脚本,在player input中修改一下需要调用的移动方法,开始游戏看一下,角色现在可以前后移动了,仔细看一下角色的脚下现在已经完全没有滑步现象了,不过新的问题来了,角色似乎并没有走直线,我们只是按了前进和后退,他居然转向了,而且似乎角色的高度也在下降,脚都陷到了地面以下。其实在动画预览窗口这里就能够看出来,角色动画并不是沿直线运动,而且问题还不止于此,之前通过混合数不然的去我们成功的让角色移动速度,所以遥感的推动幅度而改变。现在想要使用混合术来管理root,motion动画的话就不得不面对一个问题,那就是角色的移动是由root mation动画本身,而不是脚本来控制。


[MyText]这里插入要隐藏的内容[/MyText]

扫描二维码推送至手机访问。

本サイト上に掲載の文章、画像、写真などを無断で複製することは法律で禁じられています。全ての著作権はGAMESHに帰属します。

本文链接:https://pylblog.com/post/228.html

分享给朋友:

相关文章

spine报错Uncaught Error: Region not found in atlas: │ナ﾿ (mesh attachment: │ナ﾿)

spine报错Uncaught Error: Region not found in atlas: │ナ﾿ (mesh attachment: │ナ﾿)

今天在导出spine到webgl的时候出现了一个错误,Region not found in atlas,意思是没找到对应的图像资源,我试着将导出的资源尺寸缩小,但是还是同样问题。最后我在观察ps导出...

JS动态改变网页背景

JS动态改变网页背景

废话不多说,直接上代码(去掉//就ok)<script type="text/javascript">//<!CDATA[// var bodyBgs = [];...

PBR_Guide

PBR_Guide

光与物质:基于物理的渲染与着色理论光是一种复杂的现象,它同时展现出波与粒子两种特性。于是,为了描述光的表现特性,人们建立了各种模型。作为材质艺术家,我们感兴趣的是光线模型(Light Ray Mode...

游戏性?

游戏性?

前段时间谈游戏的真实性,被人骂是破坏游戏性,回去仔细一想,堆画质堆剧情的游戏多如牛毛,这些都跟游戏性没有关系。再说我们的短篇游戏大赛,也分导演组勇士组两个组,几乎没有游戏性的导演组热度丝毫...

为美好的世界献上祝福原画欣赏

为美好的世界献上祝福原画欣赏

为这美好世界献上祝福漫画 ,窝囊废死宅与废柴女神穿越到异世界为了讨伐魔王而踏上了旅途 异世界的爆笑冒险故事...

魔界战记今日腾讯应用宝首发

魔界战记今日腾讯应用宝首发

去年这个时候还在做这款游戏,一年了终于有出来了!游戏本来说2015年年末推出,结果等到了现在才出来。看了一下效果,感觉人物跑起来有些轻飘飘的感觉,而且待机的披风有的还卡。这游戏制作的时候最注重待机的质...