게임을 만들때 점프하는게 쉬워보이면서도 참 여러가지 기능을 줘야 되서 그런지 기본을 벗어나면 어려워져요. 게임 완성도 높이는건 나중에 생각할 문제고 일단 기본 점프하는 방법입니다. 응용은 ^^ 필요할때 하면 되욤.. ㅋ
키보드 스페이스바를 클릭하면 점프!
(동작은 동영상을 참고해 주세요. )
먼저 점프할 바닥이 필요하니 Hirerarchy > 3D Object > Plane를 클릭해서 생성해주세요.
(Hirerarchy 창에서 마우스 오른쪽 버튼을 클릭하면 오브젝트 추가하는 창이 나와요.)
하얀 바닥을 확인을 하고 다음으로는 똑같은 방법으로 Cube를 생성해 주세요.
큐브가 바닥 중간에 껴 있는데 살짝 올려 줄거에요. Y좌표를 2로 지정해 주세요. ^^
스크립트 폴더를 만들어서 JumpController라고 이름을 줄거에요. 이름은 각자 하고 싶은데로 줘도 상관없어요. ^^
스크립트 내용은 아래를 참고로 해주세요.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class JumpController : MonoBehaviour
{
private Rigidbody rigidBody;
public float jumpForce;
void Start()
{
this.rigidBody = GetComponent<Rigidbody>();
}
void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
this.rigidBody.AddForce(transform.up * this.jumpForce);
}
}
}
스크립트를 간단하게 설명하자면...
전 높이를 지정해 버리는것보다 상황이나 설정에 따라서 변경되는게 좋아서 변수로 지정했어요.
초기값은 0으로 설정되어 나오니 나중에 적당한 수치를 입력하면 되요.
public float jumpForce;
스페이스바를 눌렀을때 AddForce함수를 사용해서 점프 시켜요.
AddForce는 Rigidbody클래스의 함수에서 오브젝트에 힘을 실어 움직임이 자연스러운 느낌으로 가능하게 해줘요.
if(Input.GetKeyDown(KeyCode.Space))
{
this.rigidBody.AddForce(transform.up * this.jumpForce);
}
이제 Cube에 Rigidbody를 적용해 줄거에요.
화면 오른쪽 제일 밑에 보면 [ADD Component]가 있어요 클릭해주세요.
다시 작은 창이 뜨면 [Physics]를 클릭하면 세부 선택으로 들어가요.
여기서 [Rigidbody]를 선택하심 되요. ^^
ADD Component> Physics> Rigidbody 이런 순서대로 추가하면 되요. 나중에 하다보면 아무것도 아닌데 첨에는 좀 헤매게 되더라구요. ^^
추가하는게 끝났으면 이제 스크립트를 큐브에 적용시켜 줄거에요.
먼저 Cube를 선택하고 아까 저장해 놓은 JumpController를 끌어와서 추가해주세요.
스크립트를 추가하면 점프 높이를 입력하는 창이 밑에 같이 있을거에요. 거기에 전 300을 넣었어요.
실행시켜서 확인하시면 되요. ^^
'IT Tip > 유니티 강좌' 카테고리의 다른 글
[유니티강좌] 클릭한 오브젝트 색깔 변경하기 (0) | 2020.11.22 |
---|---|
[유니티 강좌] 오브젝트 취득하기(선택하기) (3) | 2020.11.21 |
[유니티강좌] 방향키로 오브젝트 움직이는 간단한 방법 (0) | 2020.11.19 |
[유니티 강좌] 유니티(unity) 화면구성 (0) | 2020.11.18 |
[유니티강좌] 슬라이딩 도어 (0) | 2020.11.17 |
댓글