在Unity中构建信得过的真实场景,项目地址
术语:
- DCC: 三维建模软件,如3dmax、maya、blender、houdoni等
- SP: Substance Painter
1. 基础知识
1.1 单位和缩放的重要性
- 1 unity 单位 = 1米(100cm)
- DCC中一般都有单位设置和fbx导出设置两个地方决定系统单位和缩放。大多数情况下,将单位设置为cm,导出缩放设置为自动即可。
- 检验的办法是在DCC中建一个1m×1m×1m 的cube,导出后和unity中的默认cube对比。
- 要注意,maya和3dmax可能会在你打开文件时自动覆盖你的单位设置。
1.2 贴图输出和通道指定
- 和单位设置一样,贴图及其通道的正确指定对unity正确配置物体材质也至关重要
-
下图是SP导出贴图的一个典型设置
与其将AO贴图等作为单独的贴图导出,利用贴图通道将所有的图片进行整合是一个更好的主意。既节省了图片空间又减少了文件数量。
-
alpha通道的迷惑
很多人喜欢使用photoshop的png图片存贮图片alpha通道信息,不幸的是,这种想法是完全错误的。photoshop的alpha通道并不是真正的alpha通道,它单独存在,并且几乎在任何时候都得不到正确的效果,比如,将smoothness信息存储在PNG图片的alpha通道中,将贴图应用到模型上时会得到完全相反的结果。这时正确的做法是使用一张32bit的TGA图片存储alpha信息。
很多人不喜欢用TGA的原因是它太大了,实际上,不需要考虑文件的原始体积,因为unity会对图片进一步处理。所以,如果你的贴图要用到alpha通道,请使用TGA格式图片。下图是两者的对比。可以看到PNG图片的alpha通道是单独出来的:
- 法线贴图方向
unity使用红色通道X正方向为右、绿色通道Y正方向为上
的机制读取正切空间法线信息。但DCC的定义有可能会有所不同。比如在3dmax的渲染到贴图工具中,绿色通道Y正方向为下
,这样就会造成错误的结果。检验的办法是使用一个倒角平面,观察法线是否正常。