Menu
CoddyTech

복습: 더블 점프

Coddy Unity 여정의 실제 게임 만들기 섹션에 포함된 레슨. 60개 중 43번째.

이 장에서는 CharacterController를 직접 움직였습니다. 걷기에는 Move를 사용하고, 중력은 필드에 저장했으며, 점프는 점프 높이를 기준으로 계산했습니다. 이제 영웅은 공중에서 한 번 더 점프합니다.

challenge icon

챌린지

중급

영웅이 점프와 공중 점프를 한 번 할 수 있게 하세요. 걷기 기능은 작성되어 있습니다.

  1. 먼저, 땅에 있을 때: airJumpUsed = false로 설정하고, 떨어지고 있다면 verticalSpeed를 -2f로 설정합니다.
  2. Input.GetButtonDown("Jump")일 때: 땅에 있으면 verticalSpeed = Mathf.Sqrt(jumpHeight * -2f * gravity);로 설정하고, 그렇지 않고 !airJumpUsed이면 airJumpHeight를 사용해 같은 방식으로 설정한 다음 airJumpUsed를 설정합니다.
  3. 그런 다음 gravity * Time.deltaTime을 verticalSpeed에 더합니다.

‘플레이’를 누르고 난간 위로 이단 점프하세요. 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

public class Hero : MonoBehaviour
{
    public float speed = 5f;
    public float gravity = -25f;
    public float jumpHeight = 2f;
    public float airJumpHeight = 1.28f;

    CharacterController controller;
    float verticalSpeed;
    bool airJumpUsed;

    void Start()
    {
        controller = GetComponent<CharacterController>();
    }

    void Update()
    {
        // 땅에 닿으면 초기화하고, Space를 누르면 점프하거나 공중 점프한 다음 중력을 적용합니다

        Vector3 move = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical")) * speed;
        move.y = verticalSpeed;
        controller.Move(move * Time.deltaTime);
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

실제 게임 만들기의 모든 레슨

직접 연습해 보세요: Unity 플레이그라운드