前提・実現したいこと
Prefabから動的に生成したオブジェクトとキャラクターが接触・衝突した際にシーン遷移を行いたい
発生している問題・エラーメッセージ
キャラクターに敵が衝突した際に、当たり判定(ここではOnControllerColliderHit)が全く機能しないため、シーン遷移ができない。
該当のソースコード
プレイヤー側には、このようなスクリプトをインポートしています。
C#
1 2 3using System.Collections; 4using System.Collections.Generic; 5using UnityEngine; 6using UnityEngine.SceneManagement; 7 8public class GameOverSceneChanger : MonoBehaviour 9{ 10 11 // Use this for initialization 12 void OnControllerColliderHit(ControllerColliderHit other) 13 { 14 if (other.gameObject.CompareTag("Enemy(Clone)")) 15 { 16 SceneManager.LoadScene("GameOver"); 17 } 18 } 19}
試したこと
・Prefabから生成されるオブジェクトはオブジェクト名最後尾に(Clone)がつくため、このせいで動かないのではと推測し、Enemyを一定時間ごとに生成するスクリプトの中に毎回Update()内でリネームするための処理を入れてみました。
→リネームがうまくいかず断念
・最初はEnemy側でもCharactor Controllerを用いて動かしていましたが、Enemy側にCharatorControllerではなく、Rigidbody + CapsuleCollider を実装し、当たり判定を取ろうとしました。
→どちらでもうまくいかない
・上記のスクリプトをPrefab内のEnemyに適応してみました。
→これもうまくいきませんでした
実装力が未熟で非常に申し訳ないです。しかし、これ以上どうすれば正しく動作するのか、今の私にはどう考えてもわかりませんでした。
ぶしつけではありますが、もしよろしければ何かアドバイスをいただきたいです。
最後に、プレイヤーと敵のプロパティ、並びに実行した際のプレイヤーと敵が衝突している際のスクリーンショットを添付します。
回答お待ちしています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/28 12:34