大家好,我想在thee.js theard的每个面上放置6个纹理以符合该theard:Three.js-使用CubeTextureLoader在多维数据集的每个面上创建不同的图像
这是我的代码:
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();
当我加载页面时,没有立方体。没有什么。当我仅使用一个纹理时,它可以工作...
这个jsfiddle可能会有所帮助:http : //jsfiddle.net/plotnik/8RtTy/3/
如果它与单个纹理一起使用,请以这种方式初始化它,然后进行设置:
mesh.material = faceMaterial;
mesh.material.needsUpdate = true;
打电话后render()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句