Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
Three.js 三个js加载obj+;mtl将纹理图像作为画布获取_Three.js - Fatal编程技术网

Three.js 三个js加载obj+;mtl将纹理图像作为画布获取

Three.js 三个js加载obj+;mtl将纹理图像作为画布获取,three.js,Three.js,我正在three.js场景中加载一个obj+mtl模型 在mtl文件中,我定义了三种材质,它们都使用jpg文件作为纹理 当我加载模型时,效果很好,但是当我检查child(looking child.material.map.image)时,其中一种材质将纹理加载为jpg文件,另外两种材质将纹理加载为画布元素 我需要强制将所有纹理作为jpg文件加载到child.material.map.image中,并防止将它们作为画布元素加载 有没有办法避免three.js创建画布元素来处理加载的纹理并强制加载

我正在three.js场景中加载一个obj+mtl模型

在mtl文件中,我定义了三种材质,它们都使用jpg文件作为纹理

当我加载模型时,效果很好,但是当我检查child(looking child.material.map.image)时,其中一种材质将纹理加载为jpg文件,另外两种材质将纹理加载为画布元素

我需要强制将所有纹理作为jpg文件加载到child.material.map.image中,并防止将它们作为画布元素加载

有没有办法避免three.js创建画布元素来处理加载的纹理并强制加载jpg文件


提前感谢。

如果纹理宽度或高度不是二的幂,则
THREE.MTLLoader.ensurePowerOfTwo.
函数将创建画布元素。(它使用画布调整图像的大小。)


我认为您的一种纹理具有两种宽度和高度的能力,但其他两种没有。

非常感谢。这就是错误所在。我已经将所有纹理文件的大小调整为二次方(512x512),现在可以在没有画布的情况下正确加载jpeg文件。当做