从Three.js场景中将具有偏移的纹理导出到GLTF

时间:2018-06-14 07:12:09

标签: javascript three.js

编辑:

我有一个关于导出到obj和mtl的问题,但发现我可以使用GLTFExporter.js从three.js导出,并且从中获得了几个和纹理中的三个.js。

我在GLTF Exporter中遇到的问题是,当我在Blender中打开文件时,我的纹理具有偏移和重复设置,似乎无法从three.js导出。在Blender中,整个纹理占据了MeshPlane,过去只有一小部分纹理在Three.js场景中显示。

可能有人知道我可以添加到GLTF导出器中以便能够记录并保留重复和偏移纹理设置吗?

非常感谢:)

1 个答案:

答案 0 :(得分:1)

我自己就是这样说的......据我所知,答案是否定的。

偏移和重复是THREE.js的特定功能。一些其他库具有等价物。一些引擎使用直接纹理矩阵操作来实现相同的效果。

一种解决方法是在导出前修改模型UV坐标以反映texture.offset和texture.repeat的设置。 您基本上将每个顶点UV乘以texture.repeat,然后添加texture.offset。这会将这些参数有效地“烘焙”到模型UV中,但之后需要将.repeat和.offset分别重置为1,1和0,0,以便在THREE.js中再次正确渲染模型。 / p>

以下是GLTF工作组的一个稍微相关的主题:

https://github.com/KhronosGroup/glTF/issues/107