我在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,但这似乎不起作用。
答案 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.