如果我在 Unity3d 的游戏中没有使用光照,并且所有模型的纹理中都有光照,那么导入模型的两种方法中哪一种更好。
(在 Unity 检查器中导入设置)。
- 导入没有法线的模型
- 使用法线导入。
- 使用计算法线导入并将平滑角度设置为 180。
我使用的着色器不使用法线,所以我没有正常导入的问题。第一种方法最大程度地减少了顶点数。但我想知道是否没有法线会减少一些优化,例如背面剔除等。
简而言之,如果不使用照明,这是导入模型的最佳设置。
如果我在 Unity3d 的游戏中没有使用光照,并且所有模型的纹理中都有光照,那么导入模型的两种方法中哪一种更好。
(在 Unity 检查器中导入设置)。
我使用的着色器不使用法线,所以我没有正常导入的问题。第一种方法最大程度地减少了顶点数。但我想知道是否没有法线会减少一些优化,例如背面剔除等。
简而言之,如果不使用照明,这是导入模型的最佳设置。
没有法线的导入将适用于您提到的特定情况:根本不进行任何着色的预光照模型。但是,如果您想要任何基于角度的效果(例如,菲涅耳高光或卡通阴影),您将需要法线信息。
如果您没有法线信息,您将在模型上获得更好的优化,因为不必分割任何顶点来处理边缘折痕。
如果您在 Maya 中手动编辑了法线(特别是翻转法线或使用了“conform”),您可能会发现导入没有法线的网格会导致三角形恢复到其自然方向 - 这可能会影响您的剔除。
所以:对于光照贴图无阴影地理的有限情况,不使用法线是可以的,但在其他情况下就不行了。
“最佳”设置特定于每个模型资源。如果您的网格数据表示一个硬表面,那么您将需要使用 Maya 平滑角度,以便您可以微调在输出中混合着色的位置。
对于有机形状,我发现 89º 的平滑角度是最好的,但您的里程可能会有所不同(这完全取决于您正在寻找的视觉输出。)
法线与 Unity3d 中的背面剔除无关。如果您不需要它们来流畅地绘制您的内容;那么你可以完全丢弃它们。