投稿

3月, 2025の投稿を表示しています

【Unity2D】コード無しでキャラが段差を乗り越えるようにする方法

この記事は以下のような段差乗り越え方法を解説しています。 爆速で移動できる某ハリネズミ系ゲームを作っていたのですが、大きい段差で止まらず滑らかに乗り越えてほしいと思い 試行錯誤してみました。 よくネットにある記事には段差を乗るときにCapsule Coliderを使うと段差を乗り越えられると書かれています。 しかし、このように腰ぐらいの段差になると乗り越えるのが難しくなります。 今から解決法を書いていきます。 事前に物理演算を使う移動プログラムをアタッチしてください。 以下はプログラムの例です。 using UnityEngine; using UnityEngine; //以下は物理演算を使用したプレイヤーの移動スクリプトの例です public class Player : MonoBehaviour { Rigidbody2D rb;//rigidbody2Dを使います。 void Start() { rb = GetComponent<リジッドボディ2D>();//rigidbody2Dの文字がなぜか消えるのでRigidBody2Dに直してください… } void FixedUpdate() { if (Input.GetKey(KeyCode.D)) { rb.AddForce(Vector2.right * 10);//Dキーが押されたら右に進む } if (Input.GetKey(KeyCode.A)) { rb.AddForce(Vector2.left * 10);//Aキーが押されたら左に進む } } } 解決法は、EdgeColider2Dを使います。 下の動画はわかりやすいようにキャラを透明にしています。 ※うまく乗り越えていませんが対処法を次で解説しています。 ①まず、Inspectorからedge colider2D,RigidBody2Dを追加します。 (RigidBody2Dのrotationをロック) ②Edg...