유니티:데이터 입력받기
- 유니티:개요
- 유니티:기본 조작
- 유니티:카메라
- 유니티:오브젝트
- 유니티:코딩기초
- 유니티:UI
- 유니티:게임 내 화면
- 유니티:플레이어
- 유니티:맵
- 유니티:씬
- 유니티:몬스터
- 유니티:아이템
- 유니티:음향
- 유니티:빌드
- 유니티:VR
- 유니티:팁
개요
캐릭터를 움직이려면 키 입력을 받아야 한다.
컴퓨터, 단말기에 데이터를 넘겨 오브젝트를 조작한다.
방법
Update() 안에서 Input 클래스를 사용한다.(유니티 제공 클래스)
다음과 같이 사용한다.
void Update() {
if (input.GetKey(KeyCode.UpArrow) == True) { // 윗쪽 화살표가 눌리면..
Rigidbody.AddForce(0f, 0f, speed); // speed만큼의 힘을 z축에 더한다.
}
키 조작
키 입력은 누를 때, 누르고 있을 때, 뗐을 때 3가지 행동으로 조작할 수 있다.
설명 | |
---|---|
Input.anyKeyDown | 아무 키나 받으면 true |
Input.anyKey | 아무 키를 누르고 있을 때에만 true |
Input.GetKeyDown(KeyCode) | 키를 누르는 순간에만 true
KeyCode는 클래스. 해당 클래스 안에 키 지도를 찾아 넣는다. KeyCode.f1, KeyCode.Return(큰엔터) 등으로 키코드가 있다. 키코드는 유니티 문서를 참고하자. |
Input.GetKey(키코드) | 키를 누르고 있을 때 발생 |
Input.GetKeyUp(키코드) | 키를 눌렀다 떼는 순간에 true |
마우스 입력
누를 때, 누르고 있을 때, 뗐을 때 3가지 행동으로 조작할 수 있다.
설명 | |
---|---|
Input.GetMouseButtonDown(마우스코드) | 누를때 발생 |
Input.GetMouseButton(마우스코드) | 누르고 있을 때 발생 |
Input.GetMouseButtonUp(마우스코드) | 뗄 때 발생 |
코드 | 설명 |
---|---|
0 | 왼쪽버튼 |
1 | 우측버튼 |
버튼
위는 조작 자체에 대한 것. 일반적으로 버튼을 사용한다.
빠르고 여러 개의 조작키를 입력할 때 버튼이 적절한 듯하다.
Edit>Project Settings>Input Manager
에서 버튼세팅 가능. 기본적인 키입력이 들어있다. 코드가 아니더라도 간단하게 조작 가능.
Input.GetButton ("버튼명") 형식으로 사용한다. 마찬가지로 Down, Up 가능.
같은 이름으로 여러 디바이스의 입력을 설정할 수 있다. 키보드, 마우스, 컴퓨터 뿐 아니라 모바일에서도 버튼으로 대체하게끔.
새 버튼 만들기
Input Manager 위쪽의 Size를 늘려주면 그에 맞춰 버튼이 더 생긴다. 버튼의 이름, 다양한 속성을 변형할 수 있다.