如何在框架中的一个模型上应用多个纹理

How to apply multiple textures on one model in aframe

a 在 maya/blender 中有一个模型,它有多个 UV。

我认为 .mtl 包含有关 materials/textures 的所有信息(正如我在 .mtl 中看到的 link),但显然我必须 link 每个纹理到对象 @ src="texture.jpg".

除了在 photoshop/gimp 中组合这些纹理,或者将我的模型分解成具有自己纹理的单独 .obj 之外,还有其他方法吗?

我是否应该更多地了解 aframe/three.js @registerShader 中的自定义着色选项?

OBJ/MTL 格式不支持多个 UV 集。它可能也不支持同一几何体上的多种材料,我不确定。 FBX 和 Collada 确实支持多个 UV,因此您可以尝试其中之一。

但是,搜索 "threejs multiple UVs" 表明在没有自定义着色器的情况下进行多个 UV 并不容易,即使您拥有较新的模型格式也是如此。如果可能的话,我可能会尝试将您的多个 UV 烘焙到建模软件中的一个集合中。

MTL 文件可以将不同的纹理贴图与 OBJ 文件中的不同 material 组相关联,但 OBJ 文件只能描述每个多边形面的一组 UV。您的 OBJ 编写器或 THREE 的 OBJ reader 是否支持它是另一回事。

旁注:实际的 Wavefront OBJ 规范很有趣,因为它支持 1999 年左右之后无人实现的各种东西,包括具有 trim 曲线的 NURBS 补丁,以及一维纹理贴图(本质上LUT)

https://en.wikipedia.org/wiki/Wavefront_.obj_file