본문 바로가기

Unity3d

유니티 기초: 플레이어 점프 메커니즘 완벽 가이드

유니티에서 플레이어의 점프 기능을 구현하는 것은 모든 액션 게임에서 필수적인 요소입니다. 이번 포스팅에서는 유니티에서 플레이어가 점프할 수 있게 하는 기본적인 방법을 단계별로 배워보겠습니다.

 

먼저, 유니티 에디터를 열고 새로운 3D 프로젝트를 시작하세요. 기본적인 플레이어 오브젝트로는 간단한 Capsule을 사용할 것입니다.

 

  1. 새로운 Scene을 생성하고, GameObject -> 3D Object -> Capsule을 통해 캡슐을 추가합니다.
  2. 캡슐에는 Rigidbody 컴포넌트가 필요합니다. 이것은 유니티의 물리 엔진과 상호작용하게 해 줍니다. 캡슐을 선택하고, Inspector 패널에서 "Add Component" 버튼을 클릭한 후 "Rigidbody"를 검색하여 추가합니다.

이제 C# 스크립트를 작성하여 점프 기능을 구현해보겠습니다. 캡슐을 선택하고, Inspector 패널에서 "Add Component" 버튼을 클릭하여 "New Script"를 선택하고, 스크립트 이름을 "PlayerJump"로 지정합니다.

 

PlayerJump.cs 스크립트를 열고 다음 코드를 입력하세요:

 

using UnityEngine;

public class PlayerJump : MonoBehaviour
{
    public float jumpForce = 7f;
    private Rigidbody rb;
    private bool isGrounded;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void Update()
    {
        if (Input.GetButtonDown("Jump") && isGrounded)
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
            isGrounded = false;
        }
    }

    void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.CompareTag("Ground"))
        {
            isGrounded = true;
        }
    }
}

 

위 코드는 플레이어가 점프 버튼을 눌렀을 때 점프하는 간단한 메커니즘을 구현합니다. isGrounded 변수는 플레이어가 땅에 닿아 있는지를 확인하고, OnCollisionEnter 함수는 플레이어가 땅에 닿았을 때 이를 감지합니다.

 

마지막으로, 플레이어가 점프할 수 있는 땅을 생성해야 합니다. GameObject -> 3D Object -> Plane을 통해 평면을 추가하고, 적절한 위치에 배치하세요.

 

이 포스팅을 통해 유니티에서 점프 메커니즘을 구현하는 기본적인 방법을 배워보았습니다. 이를 기반으로 다양한 변형을 시도해보며, 여러분만의 게임에 맞는 점프 기능을 만들어보세요.

 

이 글이 게임 개발 여정에 도움이 되기를 바랍니다. 다음 포스팅에서는 유니티에서의 오브젝트 이동과 회전 기술에 대해 더 자세히 다루어 보겠습니다. 기대해주세요!