Daz3d导入unity模型减面方案
文章导航
背景
daz有着高质量的绑定模型以及活跃的社区, 对于缺少美术能力的个人开发者(比如我)有着很大的帮助。
本文分享如何将Daz高模进行减面处理并导入到unity的思路。
实践
1.前置准备
- daz 4.12
- decimator (减面插件, daz商店可够购买, 也可以自行寻找**版)
- unity 2019.3.0f5
2.准备daz模型
示例是准备导出一套服装到unity, Figures使用无贴图的Genesis 8 Female Dev Load。
3.第一次导出 (Daz -> Fbx, 不减面)
先进行一次不减面导出。
这里不进行减面的原因是: decimator对于Daz的Shaping是有兼容问题的, 直接进行减免导出会导致Morphs变形时出现网格破损的问题。
如果勾选SubD Information则会导致重新导入Daz时出现错误。
导出Morphs时需要自行编辑所需要的Export Rules。
刚才导出的不减面模型,可以看到有160M大,主要是由于Morphs比较多的缘故。
查看面数,多达26万三角形
4.不减面模型重新导入Daz
File - Import 进行重新导入
导入成功后,可以看到Shaping中有刚才导入的Morphs变形器
5.使用decimator进行减面
decimator插件需要自行安装, 这里不做阐述
压缩率这里使用的是25%,按个人需求进行调节
6.第二次导出(减面后的模型)
减面完毕,重新导出。
这里勾选SubD Information主要是为了降低fbx文件大小。
和第一次导出时不同, 第二次导出可以将模型上带的Morphs全部覆盖, 这里使用了全匹配
导出完毕,大小缩减到20M
查看面数, 仅剩余90535三角形 (疑惑25%压缩率的同学可以注意这里仅压缩了服装, 未压缩figures, 由于能力有限,本文无法对decimator这个插件做出技术型解释)
7.导入unity
直接导入
模型材质, 测试OK
骨骼动画, 测试OK
BlendShape测试, OK (Morphs导出正常)
游戏实测, 200万面+同屏, 60Fps+, 性能有所提升(减面前大约是15fps), 还可以继续调整压缩率, 进一步提升性能
补充: 这里仅压缩了服装, 人物和发型均未压缩, 每个角色大约有18~20万面 (这里还在开发阶段, 实际项目会进一步降低很多)
总结
- 直接在原始模型使用decimator减面会有有morphs不兼容的问题,一旦人物变换成别的形体,会导致模型破损严重。
- 二次导入的fbx模型的morphs命名会有些小问题, 在unity中使用时候需要自行coding做下兼容