【Vrm制作学习笔记】我在纯手搓皮套时遇见的坑-01

请注意!本专栏部分内容已经过时或具有误导性!请耐心等待修正!

本笔记仅在于分享我的思路并云备份,如果有意向研究请务必仔细阅读下列标准与流程,并且保证具有一定的技术基础,独立思考,动手验证,理性讨论,人道主义等能力与精神

请记住,这些都是我所得到的教训与经验
另外我没有系统学过unity,如果有术语问题请指出,感谢

软件标准
Unity 19.4.31
UnityVrm 0.93
Blender 3.12
AutoRig 3.59.35(blender插件)
制作流程
blender完成建模,绑定,权重,uv,表情等工作,交由unity对物理碰撞表情进行后期设置与调试
在unity制作中参考了BV1E4411g7XY,很棒的教程!

1.AutoRig前篇
在建模完成后,会利用autorig进行骨骼的绑定的操作,在绑定完成后,需要使用插件内自带导出工具,导出为fbx格式然后再导入回blender(建议使用betterfbx插件),以去除多余的控制器

2.AutoRig后篇
尽管我们去除了多余的控制器,但并不代表这个骨骼就完事了。事实上,如果使用autorig默认的骨骼,会有一些问题,应该可以在“编辑参考骨骼”中进行编辑并且一劳永逸,当然我还没试过。具体问题是:
01,body骨骼会缺一段,标准的vrm模型骨骼body部分应当有hips,spine,chest,upper chest(由父到子顺序),但默认会缺失掉spine这个骨骼,导致导入后一些匹配的错误从而严重影响到vrm文件在某些场景下的使用(例如导入playanimaker时严重bug),解决方法是手动添加并重刷权重;

02,在大臂和大腿根部会多出一段骨骼(其作为大臂大腿根骨的子集),目前不是太能证明其对于vrm模型运行有任何bug,不过我出于保守还是去掉骨骼并处理了权重,理论上只要在unity的骨骼配置界面选中正确的根骨骼即可正常使用;


03,vrm模型的手部骨骼只有手指的三根骨骼,而autorig除了这么多,除拇指外的四根手指还多添加了手掌骨骼,这也导致了导入unity时,这多出来的骨骼顶替了原本的骨骼,会导致严重的手部骨骼错误!理论上在unity骨骼配置界面重新选择即可,但我一直报错便在blender中对骨骼进行了重新制作。


3.MtoonShader篇
大家讨厌这玩意的透明bug,大家都讨厌立本程序员。我并没有使用vrm10中的mtoon10,而是vrm中的mtoon。在color-texture里面,litcolor alpha和shader color都需要加载贴图,如果shader color没有加载贴图在某些情况下可能会产生贴图丢失一片白的bug。另外litcolor alpha后面的颜色框务必更改一下成白色,否则会影响贴图效果。

同时关于描边,我的做法是给例如眼眶等不需要描边的地方面一个单独材质(例如脸给face,但眼睛周围一圈给face001之类的),而vroid的做法是使用黑白图来控制,黑白图本质是一张基于脸部uv的贴图,加载在Outline>Width>width处,其原理也及其简单,即黑色部分没有描线,白色部分有描写,只要在脸部uv对应的眼窝等区域涂上黑色即可。

4.手搓完美同步前篇
(注意:此处操作尚存疑问,vsf能够加载完美同步,但rhylive无法识别任何blendshape!正在研究,后续专栏更新时会详解!)(不必担心重复操作,往后看有简单方法!)
众所周知vroid的模型有对应的unity插件可以一键完美同步,而我这种在blender内进行建模等,理论上是无法使用的。在blender内制利用“形态键”,对照相关资料(见评论区)制作完美同步。在unity中,导入模型后,按照流程确保骨骼材质都已经配置好后,我们便将文件导出为vrm并重新导入(参考BV1E4411g7XY)。导入后进入blendeshape文件夹,首先右键>创建>Vrm>Blendshape clip,重命名为完美同步的形状名称(应当与形态键名称保持一致),检查器中Blendshapename也应当一致,俗称三名合一,Preset保持unknown。尽管完美同步有52个blendshape,但其中有8个是控制眼动的,我的眼动由骨骼控制,只需要44个blendshape,也就是说我们需要重复上面操作添加44个blendshape clip,随后选中blendshape avatar,在检查器中点击“list”,在列表下方点击加号,在弹出的文件管理器中选择对应的blendshape clip,添加后确保Blendshape name一致即可!44个blendshape添加后即可返回editor进行对应操作!




05手搓完美同步后篇(重复操作解决法)
只要你在blender中形态键的命名是按照相关资料命名(见前面的图,特别注意eyeBlink),则可以导入我提供的unity包(评论区),包内在基础的blendshape之上添加了44个完美同步blendshape,只需导入后,删除原blendshape文件夹内所有clip与avatar,再移动过去即可,理论上甚至不用再去editor里面进行编辑,注意此时模型的blendshape avatar已经丢失,需要重新指定!(原blenshpe中的angry等需要进入editor编辑,blink,aiueo不需要)
以上就是历时近两个月在blender,unity中的摸爬滚打得到的教训与经验,真的耗费了我很多的时间(比如我提供的unity包的制作,耗费了很多时间),希望阅读到此的诸位能有所理解与吸收。在泥沼里面蹦跶真的很困难,答应我,如果帮到了你,一定要三连转发好吗
以上,Aixeka敬