Cannon.js 2平面叠加碰撞
Cannon.js 2 plane overlay collision
我在底部设置了一个名为 floor
的 THREE.PlaneGeometry
,在 [=12= 顶部设置了另一个名为 grass
的 THREE.PlaneGeometry
稍微 0.2
].
当我的 raycastvehicle 车轮在两个平面上行驶时,碰撞随机检测到 floor
和 grass
,其中大多数检测到 floor
而不是 grass
。
我怎样才能使碰撞仅检测到 grass
而不是 floor
因为 grass
应该是优先级,因为它在 floor
?
之上
此问题的解决方案是为您的飞机和车辆光线使用碰撞组和遮罩。这样你就可以选择哪些对象应该被光线击中,哪些应该被忽略。
但是CANNON.RaycastVehicle class还不支持碰撞groups/masks。为了快速修复,您可以修补 Cannon,或者修补 monkey-patch RaycastVehicle.prototype.castRay
.
无论如何,请提交 feature request 碰撞 group/mask 在 RaycastVehicle 中的支持。
我在底部设置了一个名为 floor
的 THREE.PlaneGeometry
,在 [=12= 顶部设置了另一个名为 grass
的 THREE.PlaneGeometry
稍微 0.2
].
当我的 raycastvehicle 车轮在两个平面上行驶时,碰撞随机检测到 floor
和 grass
,其中大多数检测到 floor
而不是 grass
。
我怎样才能使碰撞仅检测到 grass
而不是 floor
因为 grass
应该是优先级,因为它在 floor
?
此问题的解决方案是为您的飞机和车辆光线使用碰撞组和遮罩。这样你就可以选择哪些对象应该被光线击中,哪些应该被忽略。
但是CANNON.RaycastVehicle class还不支持碰撞groups/masks。为了快速修复,您可以修补 Cannon,或者修补 monkey-patch RaycastVehicle.prototype.castRay
.
无论如何,请提交 feature request 碰撞 group/mask 在 RaycastVehicle 中的支持。