1

我在 C4D 中创建几何图形;导出OBJ,然后使用threejs转换器转换,导入到three.js。然后我加载了我在 C4D 中使用的图像文件,它正确对齐;这按预期工作。

有时,我从 OBJ 获得坐标是 [-1 到 1] 而不是 [0 到 1]。发生这种情况时,纹理无法正确显示(仅显示放大了几个像素)。

问题):

  • 有没有办法始终将坐标导出为 [0-1] 比例(我知道我可以编写一些规范化代码,但似乎这种情况只是偶尔发生,所以我宁愿解决问题而不是创建解决方法) -这可能是 Cinema 4D 问题或一般 3D 问题......

  • 在three.js中,如果它们是[-1到1],有没有办法让UV坐标正确显示?我已经阅读了有关将 .wrapS 和 .wrapT 设置为 THREE.RepeatWrapping 的信息,但这似乎不起作用。

4

1 回答 1

1

您使用什么格式上传 ThreeJS?如果你对编译器有疑问,你可能想看看ObjLoader Demo

如果值不在 0 和 1 之间,则应将纹理的 wrapS 和 wrapT 属性设置为 THREE.RepeatWrapping

var texture = new THREE.TextureLoader().load("texture.jpg");
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
texture.needsUpdate = true; //  if texture is already initialized.
于 2017-06-22T01:31:10.113 回答