ThreeJS: CSG (Wrapper?)

Я использовал автономный ThreeCSG.js ( https://github.com/chandlerprall/ThreeCSG) для создания разных фигур, но у меня возникают ошибки с некоторыми фигурами, которые я пытаюсь создать: Превышен максимальный стек вызовов.

Кажется, репо не обновляется, поэтому я попробовал обёртку CSG ( https://github.com/kraag22/csg-wrapper), которая без проблем создает фигуры, но сильно устарела для THREE.JS.

Есть ли другая библиотека CSG, которую вы можете использовать? Или одна оболочка для CSG ( https://github.com/evanw/csg.js), которая актуальна?

Мои два отчета на репо:

https://github.com/kraag22/csg-wrapper/issues/3 https://github.com/chandlerprall/ThreeCSG/issues/23

1 ответ

Да, я действительно использовал обе эти оболочки CSG раньше. После использования версии @chandlerprall я переключился на эту (THREE-CSGMesh), созданную @manthrax и предназначенную для использования с современными Three.js.

Однако после более глубокого исследования темы я обнаружил этот замечательный репозиторий ( ), созданный @giladdarshan. В этом репозитории используется совершенно другая техника, чем во всех других репозиториях, известных как Octree-Embedded BSP . После некоторых экспериментов с кодом я могу подтвердить, что этот подход на сегодняшний день является лучшим, поскольку производительность увеличивается почти в 1000 раз! Кроме того, этот репозиторий, в отличие от других, не является оболочкой для csg.js @evanw , а скорее автономной альтернативой ( подробнее читайте вкомментариях в этой теме ).

Насколько я могу судить, эта техника очень новая и не так хорошо известна. Похоже, что академические исследовательские работы по этой теме были опубликованы совсем недавно, 3 марта 2021 года, а репозиторий GitHub был создан в период с апреля по сентябрь 2022 года (более 6 лет после того, как вы задали свой вопрос, и примерно 1 год назад).

Итак, в заключение, оба репозитория, которые я упомянул, лучше, чем два, с которыми вы работаете (или работали), но OctreeCSGOctreeCSG, безусловно, лучший! Я настоятельно рекомендую вам попробовать реализовать это и сообщить мне, что вы думаете. Я еще не нашел других репозиториев CSG, использующих технику Octree, но я обновлю этот ответ, если в будущем найду что-нибудь получше.

Я надеюсь, что этот пост поможет проинформировать и просветить больше людей о последних событиях в CSG! Да пребудет с тобой сила!

Другие вопросы по тегам