저번 강의에 글에 이어 이번에는 버튼 입력 방식을 알아보자
| 버튼 방식
Edit ▶Project Settings ▶InputManager
에 들어가면 유니티에서 기본적으로 설정되어 있는 버튼들을 볼 수 있다.
이런 버튼들을 사용할 수 있게끔 하는 함수가 GetButton 이다.
GetButton: Input 버튼 입력을 받으면 true 반환
if (Input.GetButton("Jump"))
Debug.Log("점프 모으는 중...");
if (Input.GetButtonUp("Jump"))
Debug.Log("슈퍼 점프!!!");
if (Input.GetButton("Fire1"))
Debug.Log("불을 쏘았습니다.");
내가 원하는 입력을 InputManager에 지정하고 싶을 경우,
Axies 밑의 Size를 추가해서 새로운 키를 설정할 수 있다.
| 오브젝트 이동
Transform: 오브젝트 형태에 대한 기본 컴포넌트.
클래스로 만들 필요없이 유니티가 자동으로 만들어준다.
Translate: 벡터 값을 현재 위치에 더해주는 이동 함수.
Vector3: 3차원 벡터 값 가짐 (물리에서 배우는 그 벡터. 스칼라에 위치 방향을 가지는 값)
void Start() {
int number = 4;
Vector3 vec = new Vector3(5, 0, 0);
transform.Translate(vec);
}
오브젝트가 x축으로 5만큼 이동하는 모습을 볼 수 있다.
void Update(){
Vector3 vec = new Vector3(0, 0.1f, 0);
transform.Translate(vec);
}
Update의 경우 주로 1초에 60프레임씩 계속해서 적용되기 때문에
오브젝트가 0.1씩 y축으로 계속 이동하는 모습을 볼 수 있다.
| 버튼 이동
이제 이들을 적용해서 버튼을 누르면 오브젝트가 이동하는 시스템을 구현해보자
Vector3 vec = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
transform.Translate(vec);
이 글은 골드메탈님의 유니티 기초 강좌를 정리 및 내용 추가한 것 입니다.
'유니티' 카테고리의 다른 글
[멋쟁이사자처럼 유니티 TIL] UI 슬라이더, 체력바 구현 (+ 델리게이트(delegate), 이벤트) (1) | 2024.06.11 |
---|---|
[유니티 이론] 중요한 기능!! Deltatime 정의 및 사용법 (0) | 2024.01.23 |
[유니티 기초] Input 으로 키보드, 마우스 입력 기능 넣기 (1) | 2024.01.21 |
[유니티 기초] 오브젝트 라이프 사이클 (0) | 2024.01.21 |
[유니티] 레벨 만들기 - Snap Increment (1) | 2024.01.09 |