トップ 一覧 検索 ヘルプ RSS ログイン

unity_script_physics_contact_eventの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!衝突イベントを取得

参考
 http://docs-jp.unity3d.com/Documentation/ScriptReference/Rigidbody.OnCollisionEnter.html

Rigidbodyの割り当てられたGameObject同士がぶつかったかどうかは、MonoBehaviour派生クラスで「OnCollisionEnter」関数をコールバックすることで検出できます。
Colliderの割り当てられたGameObject同士がぶつかったかどうかは、MonoBehaviour派生クラスで「OnCollisionEnter」関数をコールバックすることで検出できます。

たとえばSphere(球)のGameObjectに対してRigidbody/Sphere Colliderを割り当てておき、スクリプトSphereScript.csをComponentとして割り当てておきます。

 using UnityEngine;
 using System.Collections;
 
 public class SphereScript : MonoBehaviour {
   void Start () {
   }
 
   // 衝突が発生した場合に呼ばれる.
   void OnCollisionEnter(Collision collision) {
     // 衝突したGameObjectの名前を表示.
     Debug.Log("contact name : " + collision.gameObject.name);
 
     // 衝突位置を表示.
     foreach (ContactPoint contact in collision.contacts) {
       Debug.Log("contact : " + contact.point);
     }
   }
 }
球が物理運動して 他のColloderを割り当てたGameObjectとぶつかった場合に「OnCollisionEnter」が呼ばれます。

----
{{lastmodified}}