html
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Collision : MonoBehaviour { 6 7 void OnCollisionEnter(Collision collision) //衝突判定 8 { 9 Debug.Log("col"); //ログ 10 Destroy(this.gameObject); //このスクリプトをアタッチしたオブジェクトを消し 11 12 GameObject prefab = (GameObject)Resources.Load("PlasmaExplosionEffect"); //爆発エフェクトを読み込み 13 Instantiate(prefab, new Vector3(0, 0, 0), Quaternion.identity); // インスタンスを生成 14 Destroy(prefab,3); //インスタンス消去 15 } 16}
unity3Dで、このコードで衝突判定(&プレハブ生成)をしようとしたのですが、
Script error: OnCollisionEnter This message parameter has to be of type: Collision The message will be ignored.
このようなエラーが出て、衝突してもオブジェクトが消えません。また、debug.logメッセージは表示されません。
このコードをアタッチしたオブジェクトにはRigidbodyもアタッチされており、Rigidbodyつきの物体に当ててみたところ物理演算が動作していました。
エラーメッセージを検索したところ(Collision collision)
が(Collision collider)
になっている例がありましたが、それには当てはまらないため困っています。
追記:debug.log以降のコードを全てコメントアウトして実行してみたのですが同じエラーメッセージだったので、destroy関連が悪さをしているわけでは無さそうです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/28 06:22
2019/08/28 06:27
2019/08/28 06:36