从制作OC形象到导入Unity并让角色动起来

一直想让自己以前设计的oc能变成3d并且让她作为RPG的主角动起来,并且以此为契机熟悉3d建模与游戏开发领域,于是有了标题的这个想法。

这里记录一下新人第一次从Vroid捏OC,导入blender转fbx,以及导入Unity通过修改官方的Third Person Controller来让角色动起来这个过程中所踩的坑,也顺便整理一下这一路的开发思路。这里许多地方都是参考了各路大佬的教程来进行的,写到的时候也会贴上链接,在这里再次感谢这些大佬~

使用软件:Vroid v1.19.0,Blender2.93(3以上的版本安装CATS插件可能会出错),unity2022.1

Vroid捏oc,绘制贴图

首先需要对自己想要捏的形象有个大概的设定,在Vroid可以很方便选择与设定相近的素体并进行贴图纹理绘制,或者直接用现成的贴图,是一个十分好上手的软件,同时vrm的材质渲染比较偏三渲二画风这也是我选择该软件的主要原因。这里主要参考视频BV19L4y157aS,这里主要记录下踩过的坑:

  1. 脸部的头发阴影不要绘制太大,否则闭眼动作的时候可能会出现穿帮。可以拉动闭眼表情查看并进行调节;

  1. 如果想绘制发饰或者其他部位的饰品又没有想要的素体,一个偷懒的方法是在新建的纹理上直接进行绘制(可以导出纹理图层到ps或者sai等绘画软件进行精修),不过这样不能对饰品做体积,只能说有利有弊吧。

  1. 绘制好头发点击编辑头发骨骼会自动生成头发骨骼,进入编辑界面可以对不想要绑定骨骼的头发从头发组里删除。这里前发建议骨骼数设为1,不然后面可能会出现乱飘的现象。

导出vrm文件并在blender进行fbx格式转换

捏好模型之后右上方导出vrm文件即可。为了能顺利导入Unity,这里的做法是先用blender转成fbx格式并合成材质球。教程指路:BV1up4y1S71w。需要安装的插件视频里也有贴。这里主要的踩坑点有:

1. 导入vrm文件后没有生成对应的材质球。这里不要用插件的导入按钮进行导入,直接从blender菜单进行导入并勾选第一个选项即可。

2. 点击Save Atlas to..的时候,没有跳出保存路径选择,并且也没有合并材质而是把其他材质都删了只留了一个下来。

教程的留言里也有很多人碰到这个问题。这里我的做法是将blender的系统语言调成英文,同时vrm文件路径尽量不要出现中文,再来尝试,合并材质就没问题了。如果还是不行就删掉刚刚的blender文件再新建项目再来重试。

合并好之后点击ExportModel导出fbx文件就好了。

将fbx文件导入Unity并修改Shader

把模型导入Unity并将合成好的材质球拖入人物,可以看到模型会出现各种黑边,是因为材质球的透明区域被映成了黑色。这里我安装UniVRM(https://github.com/vrm-c/UniVRM)之后,选择VRM/MToon作为Shader,并在Rendering Type处选择Cutout来保留透明网格,同时可以将Outline(模型的边缘线)调大来尽量还原三渲二的材质。

导入Third Person Controller尝试按键操作角色

成功导入Unity只是完成的第一步,接下来如何让角色在我们的操作下动起来才会让事情变得有趣。这里我选择使用官方的第三人称控制器来操作角色。

资源链接:https://assetstore.unity.com/packages/essentials/starter-assets-third-person-character-controller-196526#reviews

导入资源之后将资源文件Scene/Playground场景下的小人与跟随相机复制到你的场景下。然后将你的角色的骨骼与皮肤文件(Armture、Body)搬到小人的文件下并删除掉小人本身的骨骼与皮肤:

然后将控制器与你的角色的Avatar赋予人物即可。

这个时候点击运行用键盘操作一下角色应该就能动起来了。虽然动作可能会十分奇怪,这是因为动画绑定的骨骼与模型的骨骼不匹配,修改教程指路:BV1fg411w7HT。如果对动作本身不满意,这里提到的网站(https://www.mixamo.com/)里也有许多动作素材可以下载,导入后修改Rig的动画类型为Humanoid

然后在Controller的状态机里将原动作替换掉,并按照视频的方法调整下骨骼即可。如替换跑步动作:

让角色头发随动

让角色动起来之后发现头发并不会随着飘动起来而是保持着原来的形状移动着,这时需要给头发添加一个动态骨骼。Unity插件链接:

https://pan.baidu.com/s/11Pth4d1oynVl5gXyngs29w 提取码:fang

导入插件后找到角色的头发所在的父级目录,在上面添加Dynamic Bone组件即可自动生成动态骨骼,调整Damping、Elasticity等参数让其飘动更加自然(我的参数如下图)。在Colliders栏可以添加骨骼碰撞体尽量防止头发穿模。Exclusions栏可以添加父级目录下不想添加动态骨骼的物件(如在Head文件下的眼睛、碎发等)

给新动作添加走路音效

由于新替换的动作没有添加触发音效事件,如替换掉走路的动作后,走起路来原本挂载在ThirdPerson Controller脚本的音效就不会触发。进到脚本我们可以看到官方自带的有两种音效触发的方法,OnFootstep是走路或跑步触发音效事件,OnLand是人物落地触发音效事件。这里我修改了走路的动作,因此要给新动作添加回OnFootstep事件。

具体的添加方式为:

在动作文件的Animation/Events设置中的时间轴出选中两次脚落地的时刻,添加事件即可。

完成这些操作之后,制作的oc形象终于能比较顺心地动起来啦,虽然还有很多细节还需要调整,但还是想记录这么一个文档让自己爽一下。后面就可以操作你的角色进行你的RPG游戏啦,谢谢你能看到这里~

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值