Загруженная модель dae выглядит пиксельной с белыми линиями n Three.js - PullRequest
0 голосов
/ 04 июня 2019

Я загружаю модель dae, созданную в Sketctup (https://graviditetsberegner.dk/square.skp) в Three.js. Я обнаружил, что модели dae лучше всего подходят для размещения текстур и иерархического размещения различных компонентов при переходе от Sketchup к Three.js. Я загружаю модель, используя приведенный ниже код без каких-либо изменений в сетках:

var modelLoader = new THREE.ColladaLoader();

modelLoader.load("https://www.graviditetsberegner.dk/square.dae", function (dae)         {

    model = dae.scene.clone();
    scene.add(model);
    ...

Модель загружается нормально, но когда я поворачиваю камеру (а иногда и просто когда она загружается), она выглядит очень размытой и появляются белые линии.

Есть ли опция или что-то, что я могу установить, чтобы она выглядела гладкой и без белых линий? Я пробовал сглаживание для рендерера без особого эффекта.

Скрипку можно найти здесь: https://jsfiddle.net/35wc6myf/

В SketchUp это выглядит так: enter image description here

1 Ответ

0 голосов
/ 04 июня 2019

Не уверен насчет настроек экспорта в файле Sketchup, но похоже, что он добавляет довольно много LineSegments объектов, цвет которых установлен на белый. Возможно, они существуют в иерархии вашей сцены, но их видимость отключена или они добавляются при экспорте. Я смог удалить белые линии в вашей скрипке, добавив этот код сразу после того, как вы клонировали свою сцену:

model = dae.scene.clone();

model.children[0].children.forEach(child => {
    if (child.type == "LineSegments") {
        child.visible = false;
    }
});

Результат:

Model without white lines

...