三个uv坐标超出[0-1]范围

时间:2017-06-21 22:59:35

标签: three.js cinema-4d

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

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

问题(S):

  • 有没有办法让coords导出到[0-1]比例(我知道我可以编写一些规范化代码,但似乎只是偶尔发生这样,所以我只是修复问题而不是创建一个解决方法) - 这可能是一个Cinema 4D问题或一般3D问题......

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

1 个答案:

答案 0 :(得分: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.