Получить элемент пересечения в 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 вы должны проверить документацию.