유니티:데이터 입력받기: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
잔글 (→‎버튼)
6번째 줄: 6번째 줄:
컴퓨터, 단말기에 데이터를 넘겨 오브젝트를 조작한다.
컴퓨터, 단말기에 데이터를 넘겨 오브젝트를 조작한다.


=== 방법 ===
Update() 안에서 Input 클래스를 사용한다.(유니티 제공 클래스)


Update()를 사용한다.
다음과 같이 사용한다.<syntaxhighlight lang="c#">
{| class="wikitable"
void Update() {
|Input
    if (input.GetKey(KeyCode.UpArrow) == True) {  // 윗쪽 화살표가 눌리면..
|입력을 받는 클래스
        Rigidbody.AddForce(0f, 0f, speed);  // speed만큼의 힘을 z축에 더한다.
|}
        }
MonoBehaviour 내에 정의되어 있는 기능인듯.
</syntaxhighlight>


===키 입력===
===키 조작===
키 입력은 누를 때, 누르고 있을 때, 뗐을 때 3가지 행동으로 조작할 수 있다.
키 입력은 누를 때, 누르고 있을 때, 뗐을 때 3가지 행동으로 조작할 수 있다.<br />
<br />
{| class="wikitable"
{| class="wikitable"
!
!
24번째 줄: 25번째 줄:
|아무 키나 받으면 true
|아무 키나 받으면 true
|-
|-
|Input.anKey
|Input.anyKey
|키를 누르고 있을 때에만 true
|아무 키를 누르고 있을 때에만 true
|-
|-
|Input.GetKeyDown(KeyCode)
|Input.GetKeyDown(KeyCode)
|키를 누를때 발생
|키를 누르는 순간에만 true
KeyCode는 클래스. 해당 클래스 안에 키 지도를 찾아 넣는다.
KeyCode는 클래스. 해당 클래스 안에 키 지도를 찾아 넣는다.


KeyCode.f1, KeyCode.Return(큰엔터) 등으로 키코드가 있다.
KeyCode.f1, KeyCode.Return(큰엔터) 등으로 키코드가 있다. 키코드는 [https://docs.unity3d.com/kr/530/ScriptReference/KeyCode.html 유니티 문서]를 참고하자.
|-
|-
|Input.GetKey(키코드)
|Input.GetKey(키코드)
37번째 줄: 38번째 줄:
|-
|-
|Input.GetKeyUp(키코드)
|Input.GetKeyUp(키코드)
|키를 뗄 때 발생
|키를 눌렀다 떼는 순간에 true
|}
|}


===마우스 입력===
===마우스 입력===
누를 때, 누르고 있을 때, 뗐을 때 3가지 행동으로 조작할 수 있다.
누를 때, 누르고 있을 때, 뗐을 때 3가지 행동으로 조작할 수 있다.<br />
<br />
{| class="wikitable"
{| class="wikitable"
|+
!
!
!설명
!설명

2021년 8월 10일 (화) 01:53 판

틀:유니티

  1. 유니티:개요
  2. 유니티:기본 조작
    1. 유니티:에셋스토어
  3. 유니티:카메라
  4. 유니티:오브젝트
    1. 유니티:데이터 입력받기
    2. 유니티:오브젝트 이동(오브젝트 조작)
    3. 유니티:힘으로 오브젝트 이동
    4. 유니티:충돌 이벤트
    5. 유니티:오브젝트 작성 tip
    6. 유니티:프리팹
  5. 유니티:코딩기초
    1. 유니티:C sharp 코딩 편의기능
    2. 유니티:MonoBehaviour
    3. 유니티:이벤트 메서드
    4. 유니티:컴포넌트 조작하기
  6. 유니티:UI
  7. 유니티:게임 내 화면
  8. 유니티:플레이어
    1. 유니티:모델
    2. 유니티:캐릭터 이동
    3. 유니티:애니메이션
    4. 유니티:주인공 시점
  9. 유니티:맵
    1. 유니티:투명한 벽 만들기
    2. 유니티:내비게이션
  10. 유니티:씬
  11. 유니티:몬스터
  12. 유니티:아이템
  13. 유니티:음향
    1. 유니티:배경음
    2. 유니티:효과음
  14. 유니티:빌드
  15. 유니티:VR
    1. 유니티:VR:UI
    2. 유니티:VR:VR로 변환
  16. 유니티:팁

개요

캐릭터를 움직이려면 키 입력을 받아야 한다.

컴퓨터, 단말기에 데이터를 넘겨 오브젝트를 조작한다.

방법

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를 늘려주면 그에 맞춰 버튼이 더 생긴다. 버튼의 이름, 다양한 속성을 변형할 수 있다.