GAMESH

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

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

Unity Root Montion详解

admin2年前 (2022-03-23)工作40960

  在游戏开发中我们常见的动画文件一般分为两种,一种是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://www.pylblog.com/post/228.html

分享给朋友:

相关文章

材质绘制的色彩理论 Color Theory

材质绘制的色彩理论 Color Theory

Color Theory ---- 一些关于材质绘制的色彩理论 Kevin 首先在这里我们要感谢来自 Mythic 的TK为我们整理了相关的色彩理论知识,并且感谢骚 骚的EDDIE不远万里带回...

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导出...

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

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

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

最近在做腾讯的一款NBA游戏

最近在做腾讯的一款NBA游戏

这个项目接触快三周了但是目前一个都没通过,目前我尚不清楚这款游戏全称是啥,他们猜测是nba2k,但我觉得可能不是,不过这些都是猜测!游戏模型面数不高我估量着是一款移动平台的游戏,但也不排除端游!不过没...

CGJOY动画教程收集

CGJOY动画教程收集

 四足动物循环动画怎么做?给你一篇超透彻的教程https://www.cgjoy.com/thread-196465-1-1.html...

2D骨骼动画工具SPINE

2D骨骼动画工具SPINE

Spine 是一款针对游戏开发的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画。在 Spine 中通过将图片绑定到骨骼上,然后再控制骨骼实现动画。 2D...

发表评论

访客

看不清,换一张

QQ登录
◎欢迎参与讨论,请在这里发表您的看法和观点。