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 纹理包裹没有按应有的方式重复_Three.js - Fatal编程技术网

Three.js 纹理包裹没有按应有的方式重复

Three.js 纹理包裹没有按应有的方式重复,three.js,Three.js,我试图为地板包裹一个纹理,但它不起作用-纹理没有像应该的那样重复5次。以下是我使用的代码: var floorTexture = new THREE.ImageUtils.loadTexture( 'textures/floor.jpg' ); floorTexture.wrapS = floorTexture.wrapT = THREE.RepeatWrapping; floorTexture.repeat.set( 5, 1 ); var floorMaterial = new THREE

我试图为地板包裹一个纹理,但它不起作用-纹理没有像应该的那样重复5次。以下是我使用的代码:

var floorTexture = new THREE.ImageUtils.loadTexture( 'textures/floor.jpg' );
floorTexture.wrapS = floorTexture.wrapT = THREE.RepeatWrapping; 
floorTexture.repeat.set( 5, 1 );
var floorMaterial = new THREE.MeshPhongMaterial( { map: floorTexture, side: THREE.DoubleSide } );
var floorGeometry = new THREE.PlaneGeometry( 45, 44.5 );
var floor = new THREE.Mesh( floorGeometry, floorMaterial );

您可以在此处看到项目:-选择用户组,然后选择路径、起始点和端点以访问模型

您必须确保纹理的大小为2的幂


通常WebGL不支持NPOT(非二次幂)纹理。尽管在

中概述了一些例外情况,但您的图像是2的幂吗?在您示例中的所有js文件中,哪一个是相关代码?不,图像不是2的幂,是800x1200像素;为什么?这是否相关?上面的代码在函数initFloorScale中打开,将其缩放到1024x512,然后查看发生了什么。WebGL只支持2.thx的强大功能,现在可以完美工作了。如果你将这些评论作为答案转载,我会将其标记为已接受