Я работаю с Three.js (r73) — из-за ошибки в ColladaLoader.js я перешел на ColladaLoader2.js. Однако, когда я загружаю файл .dae с помощью ColladaLoader2.js, вместо того, чтобы использовать цвет, определенный в файле .dae, он применяет случайный цвет. Цвета объекта случайным образом меняются каждый раз, когда я обновляю страницу. Кроме того, я заметил, что тени от источников света больше не применяются.
Вот два примера, иллюстрирующих этот вопрос. ЕДИНСТВЕННАЯ разница между этими двумя примерами заключается в том, что в одном используется ColladaLoader.js, а в другом — ColladaLoader2.js. Все остальное то же самое.
Пример 1 — ColladaLoader.js — файл .dae загружается и отображается так, как ожидалось (так же, как он выглядит в Blender, откуда был экспортирован файл .dae) http://ngndev.com/share/three/cl.html
Пример 2 — ColladaLoader.js — заметили цвет и отсутствие затенения? Это тот же файл .dae. Попробуйте обновить страницу. Цвет будет меняться каждый раз на какой-то случайный цвет. http://ngndev.com/share/three/cl-2.html
Кто-нибудь сталкивался с этим или есть решение?
Вот отрывок из примера, показывающего, как я добавляю .dae. По сути, я открываю .dae, просматриваю и затем добавляю его в сцену, если оно совпадает по имени.
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
//Load in the part
loader.load('e3d-ppppp7.dae', function (collada){
voxel = collada.scene;
voxel.traverse(function (child){
if (child.name.match("^e3d-")) {
scene.add( child );
}
});
});
ColladaLoader2
находится в разработке. Попробуйте обновленную версию в ветке r.74dev. Если вы обнаружите ошибку, вы можете сообщить об ошибке на сайте three.js. - person WestLangley   schedule 11.01.2016mesh.geometry.rotateX( - Math.PI / 2 )
. - person WestLangley   schedule 11.01.2016