UntiyでisTrigger同士の衝突位置を擬似的に検出する

UntiyでisTrigger同士の衝突位置を擬似的に検出する

#Unity
2024-07-26

Untiy で isTrigger 同士の衝突位置を検出する

Afraid not. Triggers aren’t simulated by the physics engine for performance reasons.

isTriggerに設定されている場合はシミュレーションから外れる場合は、物理市ミューレションが行われないようです。 Colliderの衝突位置を検出する方法なないので、位置などから擬似的に検出するしかありません。

ClosestPointOnBoundsを使って、Colliderの最も近い点を取得することができます。

1function OnTriggerEnter(Collider collider){
2    var hitPosition = collider.ClosestPointOnBounds(self.transform.position);
3}

もしくはPhysics.ComputePenetrationで、Colliderを分離するための最小の移動ベクトルと距離を取得することができるので、そこから計算することも考えられます。

参考

シェア