トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

unity_script_physics_contact_event

衝突イベントを取得


参考

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

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」が呼ばれます。


最終更新時間:2014年06月12日 11時33分29秒