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){

});