Получить элемент пересечения в BabylonJS

Есть ли способ получить фактическое пересечение геометрии с BabylonJS?

Например, точка пересечения линии и плоскости, линия пересечения двух плоскостей, точка пересечения дуги сферы и плоскости и т. Д.

Спасибо!

1 ответ

Я считаю, что вы ищете инструменты CSG (Constructive Solid Geometry) в Babylon.js. Чтобы использовать его, вы можете сослаться на этот учебник здесь. По сути, вы хотите сделать следующее:

CSG пересекаются (модифицированный код по ссылке)

// a and b can be any mesh you define
var a = BABYLON.Mesh.CreateBox("box", 500, scene); 
var b = BABYLON.Mesh.CreateBox("box", 500, scene);

// Convert to CSG meshes
var aCSG = BABYLON.CSG.FromMesh(a);
var bCSG = BABYLON.CSG.FromMesh(b);
var subCSG = bCSG.intersect(aCSG);

// Disposing original meshes since we don't want to see them on the scene
a.dispose();
b.dispose();

// Convert back to regular mesh from CSG mesh
subCSG.toMesh("csg", new BABYLON.StandardMaterial("mat", scene), scene);

Для более широкого использования CSG вы должны проверить документацию.

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