Javascript Three.js Cube-不同的纹理和#x27;行不通
大家好,我想在我的e.js theard的每个面上添加6种纹理,以符合此theard: 这是我的密码:Javascript Three.js Cube-不同的纹理和#x27;行不通,javascript,three.js,Javascript,Three.js,大家好,我想在我的e.js theard的每个面上添加6种纹理,以符合此theard: 这是我的密码: scene = new THREE.Scene(); var textureLoader = new THREE.TextureLoader(); var texture0 = textureLoader.load( 'crate1.gif' ); var texture1 = textureLoader.load( 'crate3.gif' ); var t
scene = new THREE.Scene();
var textureLoader = new THREE.TextureLoader();
var texture0 = textureLoader.load( 'crate1.gif' );
var texture1 = textureLoader.load( 'crate3.gif' );
var texture2 = textureLoader.load( 'crate4.gif' );
var texture3 = textureLoader.load( 'crate5.gif' );
var texture4 = textureLoader.load( 'crate6.gif' );
var texture5 = textureLoader.load( 'crate7.gif' );
var materials = [
new THREE.MeshBasicMaterial( { map: texture0 } ),
new THREE.MeshBasicMaterial( { map: texture1 } ),
new THREE.MeshBasicMaterial( { map: texture2 } ),
new THREE.MeshBasicMaterial( { map: texture3 } ),
new THREE.MeshBasicMaterial( { map: texture4 } ),
new THREE.MeshBasicMaterial( { map: texture5 } )
];
var faceMaterial = new THREE.MultiMaterial( materials );
var geometry = new THREE.BoxGeometry( 20, 20, 20,1,1,1 );
var mesh = new THREE.Mesh( geometry, faceMaterial );
scene.add( mesh );
renderer = new THREE.WebGLRenderer();
当我加载页面时,没有多维数据集;没有什么。
当我只使用一种纹理时,它会工作…这个JSFIDLE可能会有帮助: 如果它与单个纹理一起工作,请以这种方式初始化它,然后设置:
mesh.material = faceMaterial;
mesh.material.needsUpdate = true;
调用
render()
后,我检查此代码段是否适用于任何您可以尝试的方法(您是否在服务器实例上运行此代码(感受系统上的差异负载)尝试以下操作:var texture0=new THREE.TextureLoader().load('crate1.gif');var texture1=new THREE.TextureLoader().load('crate3.gif'));var texture2=new THREE.TextureLoader().load('crate4.gif');var texture3=new THREE.TextureLoader().load('crate5.gif');var texture4=new THREE.TextureLoader().load('crate6.gif');var texture5=new THREE.TextureLoader().load('crate7.gif');