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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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 Cube-不同的纹理和#x27;行不通_Javascript_Three.js - Fatal编程技术网

Javascript Three.js Cube-不同的纹理和#x27;行不通

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

大家好,我想在我的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 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');