确定一个网格是否在 threejs 中的另一个网格内
Determine if a mesh is inside another mesh in threejs
我正在玩三个 JS,想确定一个网格是否完全在另一个网格内。我写了一个小机器人,它应该 运行 进入玩家导航的主页框。我知道如何检测碰撞,但是有没有一种简单的方法来检测一个对象是否在另一个对象内部?
我可以计算 homebox 的中心位置并与机器人位置进行比较,但也许 threejs 中内置了一些东西。
如果您为 'robot' 和 'home' 都创建了边界框 (THREE.Box3
),则可以使用 the containsBox
method。所以像这样:
var robotBB = new THREE.Box3().setFromObject(robot);
var homeBB = new THREE.Box3().setFromObject(home)
其中 home
和 robot
是您的对象。现在您可以:
var robotIsHome = homeBB.containsBox(robotBB);
如果 robotBB
完全在 homeBB
内,robotIsHome
将为真。
我正在玩三个 JS,想确定一个网格是否完全在另一个网格内。我写了一个小机器人,它应该 运行 进入玩家导航的主页框。我知道如何检测碰撞,但是有没有一种简单的方法来检测一个对象是否在另一个对象内部?
我可以计算 homebox 的中心位置并与机器人位置进行比较,但也许 threejs 中内置了一些东西。
如果您为 'robot' 和 'home' 都创建了边界框 (THREE.Box3
),则可以使用 the containsBox
method。所以像这样:
var robotBB = new THREE.Box3().setFromObject(robot);
var homeBB = new THREE.Box3().setFromObject(home)
其中 home
和 robot
是您的对象。现在您可以:
var robotIsHome = homeBB.containsBox(robotBB);
如果 robotBB
完全在 homeBB
内,robotIsHome
将为真。