衝突点
Unityでの衝突点の取得
でも実はトリガーの時は大まかな位置しか取れてない。
エフェクトを表示するとかだけなら問題ないと思うけど 何か物理的な処理を正確に行いたい場合にはちょっとアレかもしれない。
ほかにいい方法あるのかなぁ。
code:cs
// コリジョンの場合
void OnCollisionEnter(Collision other){
Vector3 hitPos;
foreach(ContactPoint point in other.contacts){
hitPos = point.point;
point.normal; // 接触点の法線
}
}
// トリガーの場合(精度はよくない)
void OnTriggerEnter(Collider other){
Vector3 hitPos = other.ClosestPointOnBounds(this.transform.position);
}