Я просмотрел документацию и множество примеров и не смог найти правильный синтаксис для назначения материала либо файлу Collada .dae, либо OBJLoader .obj.Как назначить материал ColladaLoader или OBJLoader
Файлы 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. Как я могу правильно установить материал для этих погрузчиков? Если это возможно.
Я получаю ошибку, 'TypeError: collada.traverse не function' ' collada.traverse (функция (ребенок) { ' – MCSharp
Ссылка на сетке был неправильным в моем коде, ваш ответ является рабочим решением. – MCSharp