标签: 建模

  • 0建模基础,如何创建自己的人物?VRoid预设二次元建模软件导入UE虚幻引擎的完整项目参考指导 【游戏方向】

    一、引入

    欢迎来到这篇文章。

    如果你不是很想真正地正式地去学习3D建模,或者学不下去,那么我和你感同身受。

    之前玩过很多能够调参、捏脸、捏身体的游戏,当时已经接触了UE,就在想为什么没有一个能够这样简单的把模型建出来,直接导入UE就能够用的软件呢?

    其实 UE5.8 的 MetaHuman 也是这样的解决方案。我们之后会发布另外的文章单独讲解 MetaHuman。

    因此在此之前我一直在寻找这样一个工作流。之前尝试过把游戏里面捏好的人物抓出来,但效果都不是很好,要么没有骨架,要么没有纹理。

    但是机缘巧合下,我发现了VRoid这个软件。它就完美的实现了简单建模,导出可用的要求。

    当然这个软件缺点也很明显,

    1. 只能建出二次元风格的人物。
    2. 只能使用预设或自定义的部位模板,模板较为有限,特别是衣物。
    3. 没有正常的途径添加自定义的装饰,因此我们设计的某个角色,比如有一个头饰,VRoid没有正常的办法完成(为什么叫正常的办法?因为某些邪修方法比如把头发骨架捏成发饰,其实也能做)

    但是,既然这个软件能够解决我们的问题,我们就还是用,之后如果找到了更好的软件或者建模插件,再替换掉它即可。

    二、准备阶段

    既然是把VRoid的模型导入到UE,那么这两个软件自然必不可少。其次,我们需要Blender对模型进行一些处理,之后再导出为vrm,再导入进UE。

    此时模型的骨架、纹理均是完整的,因此我们可以去Mixamo上下载一些动画,用重定向器定到vrm模型上,就可以完成整个工作流。

    VRoid官网:https://vroid.com/enVRoid

    下载链接:https://vroid.com/en/studio

    VRoid汉化:https://www.bilibili.com/video/BV1hn6nYHEzB

    VRM导入Blender插件:https://vrm-addon-for-blender.info/en/

    VRM导入UE插件:https://github.com/ruyo/VRM4U/releases

    VRM导入UE教程:https://www.bilibili.com/opus/855292670588747801

    动画网站:https://www.mixamo.com/#/

    三、开始 | 在VRoid中建模并导出

    我们简单的调整一些部位,完成之后点击“VRM导出”

    之后填写必填的人物名称和作者,其他的完全没有必要填写,你又不把这个vrm模型发行出去,能给他写名字和作者已经给它面子了😛。

    四、调整 | 在Blender中分离网格体并重新导出

    要将人物的衣服和配饰分离,那么你需要下一步,否则可以跳过Blender处理的步骤,直接去第「五」步

    此前你需要确保VRoid中人物的上衣和裤子的皮肤遮罩中没有黑色部分,这样导出时才不会丢失相应的网格体。

    最后将导出的.vrm模型,导入安装了插件的Blender

    或者直接拖拽进入

    选中人物,Tab进入编辑模式,按下3进入面选择模式,用鼠标滑动选中衣服的任意位置,按下Shift+G进入选择相似,选择材质,此时Blender应当会选中整个衣服,按下P进入分离,选择选中项。此时的衣服已经被分离了出来。

    同样的操作分离所有衣物和配饰


    内衣、袜子无法分离,原因是它们与皮肤的纹理被VRoid融合在了一起。如果你一定需要没有内衣内裤的人物模型,那么则不建议穿它们🤨。

    我会新建一个上半身内衣或下半身内衣的模型,然后将它的纹理用橡皮擦全部擦除,这样就是没穿的效果,我还会将他保存并命名为「None」或者「无」都可以。


    然后,不要导出为fbx等其他UE兼容的模型,这样就丢失了VRoid建出二次元人物的精髓。仍然,导出VRM模型,这样会保留模型的骨架、纹理,甚至元数据。

    五、使用 | 导入UE,正在为我们所用

    确保插件VRM4U已经启用,并已经重启过UE。

    此外,我们更推荐将VRM4U插件直接放在项目的Plugins目录下(而不是引擎的marketplace),因为貌似如果不这样,做出来的游戏无法打包。

    将.vrm文件拖入UE的内容浏览器,会弹出导入对话框。

    其中最重要的便是Material Type选项,它影响着你的二次元人物有没有二次元的效果,如果你感兴趣,你可以网上搜索或者自己逐个尝试。这里为了保证二次元的效果,我们默认Auto(MToon Unlit)

    导入完后一大堆的东西都不重要,最重要的就是网格体骨骼。以及插件自动给你绑定好的IK

    此时若将骨骼网格体拖入视口中的场景,发现它已经能够正常的使用。

    同样,如果你将骨骼网格体双击打开,也会被一起导入,这就是为什么Blender导出时要用vrm而不是fbx。

    六、动画 | 模型的灵魂

    到了这里,模型已经成功的导入,但是如果仅仅是T字型的模型,我们还无法使用。

    那么,如何实现让人物动起来的效果呢?

    打开Mixamo,登录你的Adobe账号或者注册


    不建议上传自己的vrm转成的fbx模型,因为如果这样,那么这个动画文件就只有她能用,如果其他的人物模型也想使用这个动画,是会出问题的。

    我建议直接使用Mixamo的X-Bot,在Character中,将X-Bot的模型下载下来,导入UE。

    那我到时候应该怎么做?

    (以下并不是实际操作步骤,仅做演示,不要跟着来)

    使用X-Bot的骨架,在Mixamo中下载使用X-Bot骨架的动画,在UE中也以X-Bot的骨架导入这个动画。之后使用重定向器便可以匹配我们所有的vrm模型。这样省时间也省精力。

    X-Bot的动画可以被重定向到我们的模型上。


    在Mixamo中,有很多的模型动画,全部都是免费的,可供下载。可以使用英文搜索你想要的动画,大多数基本的动画还是有的。

    比如这里我们搜索 Idle(闲置),选中你喜欢的动画,点击下载

    如果你没有下载刚才我说的X-Bot的模型,那么这里可以选择一次With Skin,这样下载下来的.fbx,会包含X-Bot的骨架和骨骼网格体。而之后的下载,不再需要了,则选择 Without Skin

    将下载的.fbx导入UE,会得到X-Bot的动画。

    需要将X-Bot的动画应用到我们的模型上,我们右键动画序列文件,找到重定向动画

    新建一个重定向器。之后我们还需要对X-Bot进行IK绑定。

    右键X-Bot的骨骼网格体,找到新建IK绑定以下的操作较为繁琐,如果你不想跟着操作,你可以从评论区下载我已经做好的IK以及其他文件。

    对新建的IK,我们需要设置左侧的重定向链。

    1. 鼠标左键按下Spine
    2. 按住Shift
    3. 鼠标左键按下Spine2, 这样可以选中从 Spine 到 Spine2 这一整条链
    4. 右键选中的蓝色区域
    5. 新建重定向链……

    重定向链的名称很有要求!不能随意命名!所有对应的名称放在下面了。

    重定向链命名要求

    所有对应的名称如下:

    有些链,UE会自动给你命名,但是它检测的并不准确,有时还是需要靠自己输入。

    Hips上的Retarget Root,是重定向根,不是重定向链的命名。

    X-Bot的这个IK可以重复利用,你可以将其迁移到其他的项目中。

    完成后打开刚才新建的重定向器,右侧细节面板,源IK,选择刚才的X-Bot的IK,目标IK则选择上面提到的最重要的文件之一的 IK_***_Mannequin, 注意一定要Mannequin结尾的那个,因为两个IK的链必须相匹配,而Mannequin结尾的那个才和我们刚刚设置的X-Bot的链相匹配。

    下方出现:成功!IK重定向器准备将从源文件***将动画转化为目标***,即代表成功。

    回到刚才的重定向动画窗口,直接选择重定向器,如果我们的模型成功出现动作,那么证明我们已经成功!

    选中需要导出的动画,点击导出动画,选择导出的位置,点击导出

    此时,导出的位置应该出现了我们模型骨架的动画序列,选择视口中的骨骼网格体,将动画模式改为使用动画资产要播放的动画选择刚才导出的动画。