Three.js 2D CSG - пересечение, объединение, вычитание
Я использую csg.js с three.js и кажется, что он поддерживает только 3D CSG. Проверьте это
Я хотел бы пересечь и объединить 2D (three.js) геометрии. Есть ли способ сделать 2D CSG с three.js?
1 ответ
Вы должны учитывать, что самолеты бесконечно тонкие. Поэтому, когда пересекаются 2 плоскости, вы получите одномерную линию, у которой нет граней для рендеринга. Если вы используете 2D-плоскость со сплошным телом, она все равно может не работать, так как один из входных данных не является сплошным, и название плагина предполагает, что он работает на твердых телах.
Примите во внимание, какие типы выходных данных вы получите, когда пересекаются два типа геометрии:
- Плоскость * плоскость => линия (1D)
- Плоскость * сплошная => плоскость (2D)
- Solid * solid => solid (3D)
Если вы хотите получить плоскость в качестве выходной информации, я рекомендую вам пересекать с очень тонкой рамкой, например, 2 x 2 x 0,01, вместо использования реальных 2D плоскостей. Думайте об этом как резак печенья.
Кроме того, убедитесь, что вы используете геометрию коллектора вместо немного коллектора, с которой вы можете ознакомиться здесь: https://blender.stackexchange.com/questions/7910/what-is-non-manifold-geometry