我想使用Three.js在立方体的6个面上渲染不同的图片。
THREE.CubeGeometry的构造函数如下:
THREE.CubeGeometry = function ( width, height, depth, segmentsWidth, segmentsHeight, segmentsDepth, materials, sides )
从代码中可以看出,“materials”预计是一个材料,或者是由6种不同材料组成的数组,但是这里传入的材料在渲染时似乎从未被使用。
相反,给Mesh构造函数的单个材料用于所有6个面。
var face_materials = ... <load 6 textures here>...
var cube_g = new THREE.CubeGeometry(400,400,400,1,1,1, face_materials); // <= ignored?
var cube = new THREE.Mesh(cube_g, some_material); // <= this is used instead
即使我将null或undefined作为"some_material"传递,它似乎会覆盖face_materials并且什么都不会渲染。是否有一种方法可以在使用CubeGeometry时使其正常工作?还是我必须单独创建6个面并将它们添加到场景中?