广告
您当前的位置:首页 > 数字教学 > UNITY教程 > 内容正文

将mmd模型改造成游戏可用模型

作者:Ava 时间:2024/3/12 14:05:13 阅读数:49 人阅读
MMD模型很多是很精美的,但一般不适用于当作游戏模型,该作者的文章很好的解决了这个问题。游戏模型的来源就又多了一个途径。另外泰课里也有个用Unity实现MMD功能的视频,感兴趣可以看一下:https://www.taikr.com/my/course/503   "这里用到了mmd4mecanim(以下简称mmd4)这个插件,实在是非常感谢作者nora先生,这个插件能非常完美的将mmd模型导入到unity中去。这里附上作者的twitter:https://twitter.com/Stereoarts 下载链接:http://stereoarts.jp/   注意需要翻墙。      这个插件能将mmd模型和里面的动作转换为fbx文件,这个格式能很方便的导入3dmax,maya,c4d等3d建模软件进行修改。      接下来我稍微讲一下导入mmd模型进入unity里的步骤,其实本身就非常的方便和简洁。"(作者原话) 1.导入mmd4插件,导入完成以后应该就会看到红箭头标出的3个文件夹了

2.找一个mmd模型,一般mmd模型格式为pmd和pmx,下载过来的mmd模型一般会是一个文件夹包含pmd或者pmx文件和一堆贴图文件,注意不要改变文件夹结构,直接将文件夹放入unity工程里,如图,这时候mmd4插件会自动对应pmx和pmd文件生成一个.MMD4Mecanim文件。

3.选中这个.MMD4Mecanim文件之后,就能在inspector窗口里看到模型使用条约,我们都勾选上并点击同意,之后就可以看到转换界面了,点击process,稍等一会儿,模型就生成了。生成的模型会在对应的pmx或者pmd的同一个文件夹下,并生成一个Materials的文件夹,里面是这个模型的所有材质。

4.将这个模型拖到场景里就能看到漂亮的mmd模型了。

5.接下来是重点,由于mmd4里的shader是完全模仿mmd效果的shader,并不是基于物理的shader,所以需要将生成出来的shader全部调为unity5里的standard,选中materials文件夹里的所有材质球,将shader改为standard。

因为没有仔细调整,所以模型会变成这个样子 mmd模型的材质命名基本都是日语的罗马音,所以懂日语的人会比较好找对应的材质球。 将材质球稍微调整之后,得到一个看上去比较正常的模型。

6.以上的效果看上去还不错,但是细节部分完全就不行了。unity可以使用lightmap来烘焙静态的物体,使得其阴影能够很好的表现出来,但是动态物体就不行了,这里就需要给动态物体添加AO贴图,在standard的shader里这个就是Occlusion贴图。接下来就需要得到一个比较好的Occlusion贴图。 7.使用3dmax打开这个fbx文件。查看该模型的uv发现,这个模型的uv非常混乱,并且使用了镜像和重叠的uv,这是因为mmd模型原本是为了做视频而做的模型,所以可能在制作的时候并没有按照游戏模型的制作标准来分uv和制作贴图,但是Occlusion贴图的烘焙又必须依靠正确的uv来烘焙,所以这里需要重新分一下模型的uv。

8.一般mmd模型会有两个网格部分,一个是脸部,一个是除脸部以外的其他部分。选择除脸以外的部分,选择可编辑网格中该部分的所有顶点,将焊接值设置为0.001,然后焊接。 焊接之后顶点应该会变少 9.选择脸以外的部分,因为焊接了顶点,可能面的平滑会出问题,选择脸以外部分网格的所有面,并自动平滑一次,选中脸以外的部分,选择导出选定对象,并导出为obj 10.将导出的obj文件导入到Zbrush 4R6中。这里准备使用zbrush 4R6里的uvmaster进行自动拆分uv。

11.在Zbrush里找到Zplugin,选择uvmaster,并使用里面的unwrap命令,稍等片刻,uvmaster将会自动把模型的uv分好

12.稍等之后在右边的tool工具栏中选择texturemap,选择create -> newfromUVcheck查看分好的uv,如果看到这样的图,则说明uv已经分好了

将模型导出成obj保存,用max将导出的obj打开并添加uvw展开修改器检查uv是否正确。现在的uv是不是好看多了。 13.将uv从3dmax中导出,回到最早obj模型的max工程中,选择身体部分的网格,添加uvw展开修改器,将贴图通道选择为2 弹出窗口中选择移动。点击加载,选择新的uv。加载之后可能会有一些显示错误,不过没关系,打开uv编辑器,随便框选几个顶点就显示正常了。   14.因为从unity导入到3dmax中会丢失模型的所有贴图,这一步要将导入的3dmax中的模型还原到unity中的正常样子,具体方法就是调整3dmax里的材质球,对应贴图就好。

15.3dmax菜单中选择 渲染-->渲染到纹理,添加渲染元素为diffusemap,渲染通道选择为2,填充设置为16,分辨率设置为2048x2048,如图

然后选择好保存位置点击渲染,渲染出来的贴图看上去感觉是有问题的,但是其实用photoshop打开或者放到unity里去之后是没有问题的

16.确保漫反射贴图正确以后打开工具->通道信息,选中贴图2并点击清除,

之后会多出一个uvw清除修改器

17.将uvw展开和uvw贴图清除修改器移动到蒙皮的下面,可编辑网格的上面

然后将这两个修改器右键--》塌陷,塌陷完以后将只留下蒙皮和可编辑网格两个修改器。 18.塌陷完以后再次添加uvw修改器,确保贴图通道为1,再次加载之前保存的uv, 这样就完成了漫反射贴图的烘焙和新uv的合并。 由于烘焙漫反射贴图会把之前的多个材质球合并为一个,接下来就是还原本来的多个材质球以便调整单个部位。 19.打开材质编辑器,点击吸管,移动到模型身上吸取材质。

20.将吸取到的材质球付给第二个新的材质球,方法选择实例。

21.最后将材质球拖到模型身上,完成材质球还原。

22.将新添加的uvw展开修改器塌陷之后就可以烘焙AO贴图了,最后把这个模型导出为fbx之后,重新放进unity中。 模型最终效果就变成这样了,是不是比最早的好很多呢 ———————————————— 版权声明:本文为CSDN博主「篱笆外的狐狸」的原创文章 原文链接:https://blog.csdn.net/sdqq1234/article/details/45604499

以上是《将mmd模型改造成游戏可用模型》的内容,希望对您有用。

如果觉得草堂品级网站内容还不错,欢迎将草堂品级推荐给好友。

标签: 模型 游戏 mmd