Как назначить материал для ColladaLoader или OBJLoader
Я просмотрел документацию, а также много примеров и нене в состоянии найти правильный синтаксис для назначения материала в файл Collada .dae или OBJLoader .obj.
Файлы Json, кажется, правильно работают при созданииMesh
и наличие загрузчика в качестве геометрии и материала в качестве заданного материала.
Код как это работает
var loader = new THREE.JSONLoader();
loader.load( "modelPath.js", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x666666});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
});
Это не работает
var loader = new THREE.ColladaLoader();
loader.load( "modelPath.dae", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x666666});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
});
И это не работает
var loader = new THREE.OBJLoader();
loader.load( "modelPath.obj", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x666666});
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
});
Я также пыталсяgeometry.material = new THREE.MeshLambertMaterial({ color: 0xff0000});
внутриfunction(geometry)
безуспешно.
Формат .Dae, кажется, сохраняет цвет материала непосредственно из 3D-программ, таких как Cinema. Как правильно установить материал для этих загрузчиков? Если это даже возможно.