为Unity准备资源

原文链接:Unity - Manual: Preparing Assets for Unity


        第一步就是为你想要达到的效果把资源放到一个匹配的格式中。建立一个使用的3D模型应用程序到Unity的合适的工作流是非常重要的,比如 Autodesk® 3ds Max®, Autodesk® Maya®,Blender,和Houdini。将模型从3D应用程序导出到Unity中时(https://docs.unity3d.com/Manual/HOWTO-importObject.html),你需要考虑:

        ·缩放和单位

        ·缩放模型引用的点

        ·纹理输出和通道

        ·法线贴图方向


缩放和单位

        您工程的缩放,以及您想要的度量单位,在一个可信的场景中扮演了一个非常重要的角色。在许多“真实世界”构建过程中,我们建议您假定1Unity单位=1米,因为许多物理系统使用这个单位尺寸假定。更多建议,请参照艺术资源最佳实践指导(https://docs.unity3d.com/Manual/HOWTO-ArtAssetBestPracticeGuide.html)。

        要维持3D模型应用程序和Unity的一致性,通常要确认导入的游戏物体的缩放和尺寸。3D模型应用程序在FBX导出配置中可以设置单位和缩放(请查阅您的3D模型软件文档来获取配置信息)。通常,匹配缩放的最佳方式是在导入到Unity时将这些工具设置为以厘米为单位,并且按自动比例导出FBX。当然,当建立一个新工程时您应该经常检查单位和缩放设置匹配情况。

        想要快速的使你导入的设置生效的话,在你的3D模型应用程序中,创建一个简单的1x1x1m的立方体并导入Unity。在Unity中,创建一个默认的立方体,这也是1x1x1m。使用这个作为一个缩放参考来比较你导入的模型。这些立方体当Transform组件的Scale 属性在监视面板中设置为1,1,1时应该看起来是一样的。

(图片见原网页)

对使用Autodesk® Maya®和Autodesk® 3ds Max®导入的立方体和在Unity中创建的立方体进行缩放比较。

        请注意:

        ·Autodesk® Maya®和Autodesk® 3ds Max®会根据最后一次打开的文件来重写你默认的单位。

        ·3D模型应用程序会在工作界面显示与其内部单位设置不同的单位,这可能会造成一些误解。

(图片见原网页)

Autodesk® 3ds Max®中不同的显示和内部单位。


参考点缩放模型

        当使用占位符或是素描几何体来遮挡一个场景时,拥有参考点缩放模型比较有用。选择适合于您制作场景的一个参考点比例模型。在Spotlight的管道简单模型场景情况下,我们使用一个公园长椅:

(图片见原网页)

长椅扮演了一个参考点缩放模型的作用

        您的场景无需准确的使用与真实生活中一样的比例。使用一个参考点缩放模型可以简单的实现相关游戏物体之间的缩放一致性,即使场景有趋向于夸张的比例。


纹理输出和通道

        一张纹理中的信息在添加到一个材质上时需要保持正确的信息来显示一个正确的效果。纹理程序编写软件比如Photoshop和Substance Painter在输出纹理时如果你将他们正确的配置,它们可以保证输出纹理的一致性和可预测性。

        这是对Substance Painter预先设置好的配置来对用于一个Unity的标准不透明纹理的例子:

(图片见原网页)

        在Unity标准纹理中纹理的分配是:

        用于导出的输出映射                        在Unity标准shader材质中的分配

        $textureSet_Albedo                         分配到反射率

        $textureSet_MetallicAOGloss         分配到Metallic and Occlusion.Smoothness  Source设置到Metallic的透明度

        $textureSet_Normal                        分配到法线贴图槽

        请注意:打包多通道到单独的纹理中,比如说MetallicAOGloss,将与导出Ambient Occlusion(AO)的纹理内存保存为一个单独纹理。这是配合Unity标准材质工作的最好方法。

        当创建纹理时,不要混合alpha通道非常重要。下面的例子显示了一个PNG文件的透明度可以怎样被使用Photoshop的创作者混乱,这是由于Photoshop处理一个PNG的alpha通道的方式决定的(不使用外部插件)。在这个例子中,一个不压缩的32位TGA文件有专用的alpha通道,这将会是一个更好的选择,当然这要假设原纹理文件的大小不是问题:

(图片见原网页)

        上面显示的透明PNG文件是在Photoshop中其alpha通道作为一个黑色值来创建的。有专门alpha通道的TGA显示了一个预期的值。从上面您可以看出,当每个纹理被设置到标准着色材质从alpha通道中读取平滑数据时,有PNG纹理的材质平滑度不符合预期的反转,然而有TGA纹理的材质平滑度是正常的。


法线贴图方向

        Unity按照下面的解释读取正切空间法线贴图:

        ·R通道X+为右

        ·G通道Y+为上

        例如,一个Autodesk® 3ds Max®渲染到纹理的法线贴图输出默认G通道Y+为下。这导致了一个沿着Y轴反转的表面方向,并且当光照的时候产生了一个无效的结果。为了使法线贴图方向生效,创建一个有凹斜面的简单面片(下面例子中间的图),并且把它烘焙到一个平面上。然后把这个烘焙好的法线贴图分配到Unity中具有可辨认光照方向的一个面片上,然后看它是否有任何轴上的反转。

(图片见原网页)

        如要获取关于轴设置上的建议,请参考您的3D模型应用文档。

你可能感兴趣的:(为Unity准备资源)