Babylonjs,得到点(x,y,z)指向其中一个面的网格
问题描述:
我有一个3D点,我需要知道这个点是否在我场景中的任何网格中。Babylonjs,得到点(x,y,z)指向其中一个面的网格
我发现:
var pickResult = scene.pick(scene.pointerX, scene.pointerY);
,但我需要通过一个三维点不是指针位置。
答
据我可以告诉你需要保持一个数组包含所有你需要检查的网格。
var meshList = []; // List Containing all your meshes you want to check if the point is in
var point = new BABYLON.Vector3(x,y,z); // Where x,y,z are replaced with your coordinates
for(i=0; i<meshList.length; i++){
if(meshList[i].intersectsPoint(point)){
console.log("Your point is in a mesh");
}
}
答
您可以使用scene.pickWithRay:
VAR rayPick1 =新BABYLON.Ray(原点,方向); var meshFound1 = scene.pickWithRay(rayPick1,function(item){
});