#解決したいこと
キャラクターの移動処理を実装し、細かい調整を行っていたところ、稀にタイルマップのスプライト一つ一つに引っかかるような挙動が見られたため、CompositeCollider2Dを利用して当たり判定を一つにまとめようと考えました。
しかし、CompositeCollider2Dを実装すると、実装前は有効だった地面とキャラクターの衝突検知が機能しなくなってしまいました。
ジャンプの処理を地面との衝突検知を利用して実装しており、キャラクターがジャンプモーションに移れないため、これを解決したいと考えています。
#実装内容
Unity 2Dアクションの作り方【接地判定】
上記のサイトを参考に全く同じ衝突検知の処理を行っています。
#やってみたこと
CompositeCollider2Dをタイルマップに追加した状態で、衝突検知の基準となるbool型変数IsGroundをDebug.Log()で呼び出し、キャラクターが立つ地点において衝突が検知されているかを確認してみると、
・ほぼすべての地面でIsGroundはfalse
・タイルマップの左右の端に立っている時だけtrue
という結果になりました。
なお、CompositeCollider2Dを外して調べると、適切に衝突検知が機能することが確認できています。
#最後に
Unityに触れ始めて間もないので根本的な間違いをしているかもしれませんが、原因として考えられることをご教授いただきたいです。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。