【Unity】2Dでキャラクタが床を突き抜けて着地する

2023年10月26日

2Dの横スクロールゲームなどで見られる効果の実装方法になります

実行結果

次のようにした場合になります

学習のため、コライダーの機能を見ていきましょう

コライダーがない場合

シーン構成

実行結果

コライダーがある場合

シーン構成

実行結果

下からジャンプして床に着地する

Platform Effector 2Dをアタッチします
コライダーのUsed By Effectorを有効にします

ジャンプするテストコード

using UnityEngine;

public class Jump : MonoBehaviour
{
    Rigidbody2D rb2d;

    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            rb2d.AddForce(Vector2.up * 600);
        }
    }
}

参考

FloorJump

Unity

Posted by hidepon