Как улучшить отображение края моего изображения, как в программном обеспечении САПР - PullRequest
0 голосов
/ 21 октября 2018

Я пытаюсь добиться внешнего вида CAD в ThreeJS - обратите внимание на общие черты:

Я использую загрузчик .OBJ для загрузки объекта в мою сцену ThreeJS:

Я хотел бы иметь такой же тип отображения краев, или, по крайней мере, в целом, аналогичный моему программному обеспечению САПР.К сожалению, так как это довольно сложная модель и экспортированная с высокой точностью, при использовании дисплеев EdgesHelpers или Wireframe возвращается:

Результата можно ожидать, так как CAD знает о каждой отдельной функциии может точно нарисовать эти линии.OBJ знает только, как строится сетка, и может из-за этого отображать только ребра, как в каркасе. Вот крупный план одной из функций:

Использование двух отдельно масштабируемых EdgesHelpersи, играя с PolygonOffsets моего материала, я смог получить несколько удовлетворительный результат, но линии увеличиваются при приближении, они довольно жадные, и некоторые функции отсутствуют - посмотрите, что я придумала

Я открыт для всех предложений о том, как решить эту проблему.Одной из моих идей является вычисление угла между нормалями каждой грани индивидуально, а затем отображение грани между двумя гранями, только если угол больше, скажем, 20 °

...