Как использовать несколько материалов в кубе Three.js?

Я пытаюсь использовать Three.js для визуализации куба с 6 различными изображениями на гранях.

] Конструктор THREE.CubeGeometry выглядит следующим образом:

THREE.CubeGeometry = function ( width, height, depth, segmentsWidth, segmentsHeight, segmentsDepth, materials, sides )

Я вижу из кода, что «материалы» должны быть либо материалом, либо массивом из 6 различных материалов, но материалы, переданные здесь, никогда не кажутся используется при рендеринге.

Вместо этого один материал, данный конструктору меша, используется для всех 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 граней отдельно и добавить их в сцену?

11
задан gman 8 October 2013 в 21:43
поделиться