본문 바로가기
게임만들기

[유니티] 물체를 자동으로 점프시켜 보자

by 택형. 2021. 4. 25.
반응형

이번에는 물체에 물리를 적용시켜 자동으로 점프를 시켜보겠습니다.

 

우선 바닥을 만들어 줘야겠죠?

Hierarchy 밑에 + 클릭 -> 3D Object -> Plane 클릭

바닥을 만들었다면 이제 점프를 시킬 물체를 만들어야 합니다.

Hierarchy 밑에 + 클릭 -> 3D Object -> Cube 클릭

 

큐브를 생성하면 바닥에 겹치게 생성되는데 바닥 위로 위치를 옮겨줍시다.

이제 본격적으로 큐브를 점프 시켜줄 거예요.

우선 생성한 큐브를 물리적 큐브로 만들어줍시다.

큐브를 선택해 주시고 인 스펙터 창에서 맨 밑에 보면 Add component라는 버튼이 있는데, 이 버튼을 클릭해 주시고 입력란에 rigidbody 입력 후 Rigidbody를 클릭해 줍니다.

이제 물리 큐브에 점프를 적용시켜보겠습니다.

점프시키는 방법은 코딩으로 점프 스크립트를 만든 다음에 큐브에 적용시켜 주면 됩니다.

프로젝트 창에서 Create -> C# script 클릭 -> 생성된 프로젝트 이름을 jump로 변경 -> 스크립트 더블클릭

}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class jump : MonoBehaviour
{
    public Rigidbody jumpstart;
   
    void Start()
    {
        jumpstart.AddForce(0, 500, 0);
    }

  
}

위에 코드처럼 입력해 주고 저장 후 유니티로 다시 돌아갑니다.

.AddForce가 입력 방향으로 힘을 가한다는 건데 500수치 부분으로 500만큼(y 축)의 힘을 가한다는 거예요.

완성된 jump 스크립트를 물리적 큐브에 드래그 앤 드롭을 해줍니다.

그러면 큐브 인스펙터창에 jump 스크립트가 적용되어 있는데 jumpstart 메뉴 옆에 none(Rigidbody)라고 되어있어서 아직 점프가 되지 않습니다.

위에 메뉴의 Rigidbody를 jumpstart의 none 부분에 드래그 & 드롭을 해줍시다.

여기까지 했으면 완성입니다. 플레이 버튼을 눌러서 잘 적용되었는지 확인해봅시다.

잘 적용 되었네요ㅎㅎ

그럼 응용으로 x축으로 300 y 축으로 300을 물리 적용해 보겠습니다. 그러면 대각으로 움직이겠죠?

한번 해보겠습니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class jump : MonoBehaviour
{
    public Rigidbody jumpstart;
   
    void Start()
    {
        jumpstart.AddForce(300, 300, 0);
    }

  
}

 

예상했던 대로 잘 되네요ㅋㅋ

유니티로 물체를 점프시키는 방법을 알아봤고요 그럼 이만 마치겠습니다~안녕~

반응형

댓글