Mam problem. Utworzyłem sobie nowy obiekt typu THREE.Geometry() i nie działa przypisanie do niego materiału jak do innych figur (poza THREE.MeshBasicMaterial - to działa). Co znaczy, że nie działa? Widzę tylko czarny kolor bez reakcji na światło. Co robię źle?
Mój kod:
table.add(function(){
var vertices = [
new THREE.Vector3(0.5,0.2,-0.5),
new THREE.Vector3(0.3,0.2,0.5),
new THREE.Vector3(-0.3,0.2,0.5),
new THREE.Vector3(-0.5,0.2,-0.5),
new THREE.Vector3(0.5,-0.2,-0.5),
new THREE.Vector3(0.3,-0.2,0.5),
new THREE.Vector3(-0.3,-0.2,0.5),
new THREE.Vector3(-0.5,-0.2,-0.5)
];
var faces = [
new THREE.Face3(1,0,3),
new THREE.Face3(2,1,3),
new THREE.Face3(5,7,4),
new THREE.Face3(5,6,7),
new THREE.Face3(1,2,6),
new THREE.Face3(5,1,6),
new THREE.Face3(0,1,4),
new THREE.Face3(4,1,5),
new THREE.Face3(6,2,7),
new THREE.Face3(2,3,7),
new THREE.Face3(3,0,7),
new THREE.Face3(0,4,7)
];
var geom = new THREE.Geometry();
geom.vertices = vertices;
geom.faces = faces;
var o = new THREE.Mesh(
geom,
new THREE.MeshLambertMaterial({color: 0xFF0000})
);
return o;
}());
Będę bardzo wdzięczny za pomoc. W dokumentacji trudno mi się odnaleźć (poza tym miejscami wydaje mi się nieaktualna).