Three.js 纹理包裹没有按应有的方式重复
我试图为地板包裹一个纹理,但它不起作用-纹理没有像应该的那样重复5次。以下是我使用的代码: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
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的强大功能,现在可以完美工作了。如果你将这些评论作为答案转载,我会将其标记为已接受