Unityの衝突判定はRigidBodyが必要

こんにちは。ヤマヤタケシです。

範囲内にオブジェクトが入ったかどうかを検出させるためには、Colliderを使えばいいに違いない!
と、思ってやってみたら、Rigidbody も必要だったという話。

Colliderがあれば衝突判定して、OnTriggerEnterなんかが呼ばれると思っていたけれども、どっちかはRigidbodyが必要でした。

Collider vs Collider -> NG
Collider vs Rigidbody -> OK

なかなか気づかぬよ。
わかったあとでドットインストールでそんなこと言ってたなぁと記憶が蘇ったけども。

領域判定だけだし IsTrigger をOnにするし、Rigidbody は物理計算するから処理負荷が高いんじゃない?ということで、Rigidbodyを避けようとしたけれども、ダメでした。

書くほどのこともないソース。

//衝突判定
function OnTriggerEnter(other : Collider )
{
    Debug.Log( "OnTriggerEnter" );
}
 
function OnTriggerStay( other : Collider )
{
    Debug.Log( "OnTriggerStay" );
}
 
function OnTriggerExit(other : Collider)
{
    Debug.Log( "OnTriggerExit" );
}	

そんじゃまた。

軽い気持ちで有名になりたいのでクリックをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です