引用テキスト****unityで宝探しアクションゲームを作っています。
建物をMeshColliderですり抜けないようにしたのですが、どうしてもすり抜けてしまいます。ユニティちゃんに衝突判定のスクリプトを入れてみたりもしたのですが、何もかわりませんでした。どうか解決方法はないでしょうか?まだまだ未熟なので教えていただけると幸いです。
(下記に衝突判定のスクリプトを載せときます。)
コード
C#
1 private void Start(){ 2 3 } 4 5 private void Update(){ 6 7 } 8 9 private void OnTriggerEnter(Collider other){ 10 11 oldcolor = GetComponent<Renderer>().material.color; 12 GetComponent<Renderer>().material.color = Color.magenta; 13 } 14 15 private void OnTriggerExit(Collider other){ 16 17 GetComponent<Renderer>().material.color = oldcolor; 18 } 19}
すり抜け発生原因は多岐に渡ります。「unity すり抜け」でググり、出てくる内容を確認しながら「何を試したか」を全て記載してください。参考→https://teratail.com/help/question-tips
今思う範疇としては、スクリプトで「OnTriggerEnter」を使っていますがこれはColliderのisTriggerがオンになっている時に発動するスクリプトです。そしてisTriggerがオンだとすり抜けます。
また、ユニティちゃん側の設定がおかしいのではないかと思います。衝突判定スクリプトが無くてもColliderとRigidbodyの設定が正しければ衝突します。(もしユニティちゃんを何らかの方法で動かしているならそちらが問題かもしれません。衝突を無視して移動させることも可能だからです)
回答1件
あなたの回答
tips
プレビュー