某些加载的 FBX 文件的纹理映射失败

Texture mapping fails for some loaded FBX files

我仍在使用我的自定义游戏引擎开发我的游戏,并且我仍然取得了不错的进步。我目前正在研究的主题之一是内容预处理器。这个独立工具的目的是读取流行的文件格式并将它们转换成我自己设计的文件格式,我将在我的游戏(引擎)中使用这些文件格式。我使用来自 Autodesk 开发人员的官方 FBX SDK 编写了一个精简的 C++ 应用程序来读取 FBX 文件并提取我需要的信息。结果是使用我提到的自定义文件格式编写的。

大多数事情都很完美。但是,我在网上购买的模型遇到了一些问题,如下图所示。例如,左侧椅子的上半部分没有正确三角化,纹理有时是错误的(见椅子的下半部分)。床的右边部分也应该有不同的颜色。

Unity Asset Store 中的资源看起来很完美,所以我想知道我做错了什么。在我没有看到的某些 FBX 节点中是否隐藏了某种几何或纹理信息? Unity 是否将额外的映射信息存储在其他文件中,例如 *.prefabs 文件?

我购买的几项资产都存在这个问题。其他一些资产工作得很好,所以我高度认为我忘记了什么并且没有犯一般性错误。

任何提示都会很棒!

我终于找到了解决问题的方法。我没有任何几何问题,只有纹理问题。我使用了从 FBX 文件中读取的 V 坐标。然而,对于某些网格我不得不使用“1.0 - V”而不是仅仅使用 V 坐标。我调整了我的内容导入器,使其反映这些模型的 V 坐标,现在一切看起来都很好。 :-)