前提・実現したいこと
Unityで下記のソースコードを空のオブジェクトにアタッチして実行しました.
重力で落下してきたCubeが衝突してもOnCollision系のメソッドが一度も呼ばれません.
CreatePrimitiveで生成されたCubeにBoxColliderが追加されていることは確認済みです.
どのようにすれば衝突判定をとることができるでしょうか.
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class BehaviourScript : MonoBehaviour 6{ 7 GameObject obj0, obj1, obj2; 8 9 void Start() 10 { 11 obj0 = GameObject.CreatePrimitive(PrimitiveType.Cube); 12 obj0.transform.position = new Vector3(0, 0, 0); 13 obj1 = GameObject.CreatePrimitive(PrimitiveType.Cube); 14 obj1.AddComponent<Rigidbody>(); 15 obj1.transform.position = new Vector3(0, 15, 0); 16 obj2 = GameObject.CreatePrimitive(PrimitiveType.Cube); 17 obj2.AddComponent<Rigidbody>(); 18 obj2.transform.position = new Vector3(0, 30, 0); 19 } 20 21 void Update() 22 { 23 } 24 25 void OnCollisionEnter(Collision other) 26 { 27 Debug.Log("OnCollisionEnter"); 28 } 29 void OnCollisionExit(Collision other) 30 { 31 Debug.Log("OnCollisionExit"); 32 } 33 void OnCollisionStay(Collision other) 34 { 35 Debug.Log("OnCollisionStay"); 36 } 37}
補足情報(FW/ツールのバージョンなど)
Unity 2019.1.9f1 Personal
回答1件
あなたの回答
tips
プレビュー