前言
- 之前因为新公司试用期+春节项目太忙,导致博客鸽了大半年了,年后总算有那么点时间给我捡起UE了,现在先从简单的开始搞起= =
- 因为没有建模的基础,搞这东西其实也搞了我一整天了,主要是想初步替代掉引擎默认的小白人
- 前排说明:
- 这里使用的方式可能比较“古老”,但验证过当下依旧可行,也算一种方式
- 本篇使用的是旧版Blender的方式转换模型,半透明的处理也是CG还没入门的方法,如果有高级需求还请回到搜索引擎😂
PMX是MMD常用的格式,虽说99.99%都不允许商用,但耐不住免费下载模型数量碾压其它模型网站,要是能一键导入引擎就学习而言还是很方便的
PMX转单个FBX文件
Vrm4u好像也支持,不过没捣鼓过~~(之后用上了再水一篇)~~
- 下载到的模型目录大致如下:
- 安装好插件后,第一步就是打开插件,插件的位置还挺隐蔽的,藏在Blender右上角的小箭头里:
- 之后点击Import Model导入pmx模型(用Blender自身的菜单导入也可)
- 导入后发现是个白模(如下图所示),先不要急:
- 点上GLSL和Shaders,才会“上色”,如果这一步后没问题,就说明模型的贴图导入没有问题了:
- 之后返回CATS选项卡,点击Fix Model,这一步是更改骨骼层级,非常重要,高版本的Blender就是栽在这里了
- 修复后的骨骼如下图所示(你可以根原来的对比,确实不一样了)
- 之后要修改根骨骼,这一步也同样重要,因为Unreal需要且仅需要一个根骨骼(少了多了都不行)
- 添加根骨骼,就是先选中模型最外层,然后直接添加:
- 添加完后就能看到视图下多了一段骨骼:
- 把Bone重命名成
root
: - 再把Hips的父级设置成root:
- 回车后变成下面这样:
- 最后再到处模型,基本就OK了:
- 导出设置不需要修改
- FBX到这里就制作完成了,下一步就是导入Unreal
FBX导入Unreal
当前演示为Unreal5.1版本
- 将FBX拖进Unreal自定义的文件夹:
- 拖进去后会出现一个新的框,无论是4.X还是5.X的Unreal都需要把
转换场景单元
勾上: -
- 如果需要保留表情/变形,则需要把
导入变形目标
也勾上:
- 如果需要保留表情/变形,则需要把
- 之后点击
导入所有
即可: - 把模型拖到场景,就大功告成了:
半透明材质初步处理
PS:全透明和半透明是两回事,能处理全透明的方式不一定适合半透明
- 模型是导入了,但目前是没有定义渲染/渲染管线的,这一点在一些半透明的模型上得以体现,比如我重新换个带半透明效果的模型导入,下载预览是下面这样的:
- 而我的模型导入后是这样:
- 原因就在于并没有处理半透明的渲染,而一种简易的方式就是直接把混合模式改成半透明,然后连上A通道:
- 结果就是确实半透明了,但翼的影子不见了(
半透明模式
的通病): - 除此之外,单纯设置
半透明模式
时,如果多个半透明物体叠加在一起时,就会出现渲染乱序的情况 - 比如隔着一块半透明的玻璃看就会发现翅膀不见了:
- 又或者,我换一个头以下部位全都用一张贴图的模型,开启半透明模式前如下所示:
- 改成半透明模式后:
- 咳咳...围着模型转一圈能明显感觉到渲染顺序出错了,下面就先解决这个问题
解决半透明模式下渲染顺序问题
- 虽然阴影的问题暂时解决不了,但是渲染顺序总归是能解决的
- 首先打开shader,勾上
允许自定义深度写
: - 然后拉如下节点:
-
- 注意箭头的位置要修改
- 然后修改光照模式为
前向渲染
: - 再勾上
允许自定义深度
: - 可以看到对比一开始确实有些半透明了,但距离模型网站预览还是没那么透(还是shader问题,这里先不再深入了):
- 到这里为止算是解决了顺序的问题,但由于头下全是贴图+设置半透明,所以地上只有头的影子,这还蛮奇怪的,于是就有了遮罩的实现方式
遮罩模式实现伪半透明
- 玩过游戏的你一定见过下面这种效果,即视角贴近角色时角色就会被虚化,拿崩铁举例子就是下面这样:
- 又或者Blender导入半透明模型且用上面的CATS点击Fix Model后,默认的透明也会有这种虚化效果:
- 在UE里模仿可以使用
DitherTemporalAA
节点(设置遮罩模式): - 效果如下:
- 但无论是哪个方法其实都没有还原导入MMD中的效果,既有半透明,也有影子(游戏中也一致):
- 想必在UE中是要拉一堆shader才能实现,但目前CG水平有限,以后有发现了再补补吧= =
后续发现是CATS导入模型的方式有问题
其它补充
导入变形目标的作用
- 还记得上面说过的
如果需要保留表情/变形,则需要把导入变形目标也勾上
吗: - 这里勾上的作用就是可以像下面这样:
- 镜师傅的萌嘤身也是这么来的:
导入模型物理结构问题
- 通过这篇文章的方式导入的模型,物理结构会变得非常大(碰撞盒子会很大),如下图所示:
- 正常的模型物理结构应该是下面这样的:
半透明模式的问题
- 一个是上面提到过的没有影子:
- 另一个是半透明模式的性能也会更差: