просто испачкал руки с three.js, и мне любопытно кое-что, что может быть относительно простым…
Я построил сцену в редакторе three.js и понял, как загрузить сцену. В редакторе я добавил изображение в качестве текстуры карты, но я понимаю, что он не будет знать, где он загружается извне на моем сервере. Итак, я загрузил сцену, объекты и источники света, но как я могу сопоставить свои текстуры с объектами?
// MATERIALS
var wireframe = THREE.ImageUtils.loadTexture( 'textures/wireframe.jpg' );
wireframe.wrapS = wireframe.wrapT = THREE.RepeatWrapping;
wireframe.repeat.set( 4, 4 );
var wireframeMaterial = new THREE.MeshLambertMaterial({
map : wireframe,
side : THREE.DoubleSide
});
// LOAD SCENE
var loader = new THREE.ObjectLoader();
loader.load( 'js/scene.js', function ( obj ) {
obj.traverse( function( node ) {
if ( node instanceof THREE.Mesh ) {
node.castShadow = true;
node.receiveShadow = true;
var plane = scene.getObjectByName( "plane", true );
plane.material = wireframeMaterial;
}
});
scene.add( obj );
render();
});
При добавлении plane.material = wireframeMaterial;
в загрузчик все мои объекты просто исчезают... Как мне правильно отобразить wireframeMaterial объект плоскости?
рабочий пример с закомментированными var plane
и plane.material
: http://goo.gl/czSg7P
Сцена: http://goo.gl/BAVgVS