Недавно я обнаружил странное поведение с помощью программы просмотра Autodesk Forge.
При просмотре модели я выполнил следующий код, чтобы добавить красный куб в мою сцену:
const mat = new THREE.MeshBasicMaterial({color: 0xff0000});
const geom = new THREE.BoxGeometry(50,50,50);
const cube = new THREE.Mesh(geom, mat);
NOP_VIEWER.impl.createOverlayScene('testOverlay', mat, mat);
NOP_VIEWER.impl.addOverlay('testOverlay', cube);
Регулярно, результат будет выглядеть так:
Добавление цветного куба по назначению
Однако в приложении, в котором я работаю, опция setDisplayEdges
имеет вид установите на true
как стандарт. Похоже, это приводит к тому, что любой пользовательский материал, используемый в программе просмотра, отображается белым, как показано в этом примере:
Тот же куб стал белым без каких-либо изменений в самом коде
Мне удалось воспроизвести это на нескольких моделях.