Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js未正确渲染外部模型上的纹理_Javascript_Three.js - Fatal编程技术网

Javascript Three.js未正确渲染外部模型上的纹理

Javascript Three.js未正确渲染外部模型上的纹理,javascript,three.js,Javascript,Three.js,我正在尝试使用Three.js创建一个非常逼真的场景。到目前为止,我已经实现了鼠标控制,从Maya加载模型,并开始应用纹理。然而,代码是有效的,因为它可以在下面的图像上看到,纹理并不像人们所期望的那样填充框。我假设问题是因为模型的每个面都是单独填充的,这是在我以线框模式显示模型时发生的 我的UV值如下所示: [[0.375,0,0.625,0,0.375,0.25,0.625,0.25,0.375,0.5,0.625,0.5,0.375,0.75,0.625,0.75,0.375,1,0.625

我正在尝试使用Three.js创建一个非常逼真的场景。到目前为止,我已经实现了鼠标控制,从Maya加载模型,并开始应用纹理。然而,代码是有效的,因为它可以在下面的图像上看到,纹理并不像人们所期望的那样填充框。我假设问题是因为模型的每个面都是单独填充的,这是在我以线框模式显示模型时发生的

我的UV值如下所示:

[[0.375,0,0.625,0,0.375,0.25,0.625,0.25,0.375,0.5,0.625,0.5,0.375,0.75,0.625,0.75,0.375,1,0.625,0,0.875,0.25,0.125,0,0.125,0.25]]

这可能会有帮助

var texture = THREE.ImageUtils.loadTexture('images/box_texture.jpg') ;
并加上:

texture.flipY = false;

多维数据集的uv坐标不正确。为了进一步了解gaitats备注,多维数据集_1.js包含不正确的uv坐标。因此,假设Maya中的长方体看起来正常,则从Maya导出的内容可能出错。导出前是否尝试对对象进行三角剖分?这总是一件很快就能尝试的事情,因为导出器通常都做得不对,或者根本做不到。我没有尝试过三角剖分,只是从Maya导出了OBJ,并使用它们的Python脚本进行转换。我会试试你的建议,看看会发生什么。我试过对模型进行三角剖分和四边形剖分,但结果还是一样的。为了简单起见,我画了一个基本的立方体,并使用python脚本将其导出到Three.js。我不是3D建模专家,所以我不确定这些UV的实际含义。我已经更新了我的问题并添加了UV阵列值,也许你可以检查一下并告诉我是否有任何错误。
texture.flipY = false;