[Unity] 5. 키보드와 마우스 이용 (2)
공부/Unity

[Unity] 5. 키보드와 마우스 이용 (2)

안녕하세요.

기계과 감성쟁이입니다.

 

 

[Unity] 4. 키보드와 마우스 이용 (1)

안녕하세요. 기계과 감성쟁이입니다. Unity에서 키보드/마우스 사용에 대해 적어보겠습니다. * 영상 앞부분을 참고했습니다. 1. 키보드 아무 키나 누를 때 키보드를 누르는 데엔 3가지 방식이 있다

senti-mech.tistory.com

 

위 글에 이어지는 글입니다.

못보신 분들은 먼저 보고 오시는 것을 추천드립니다.

 

 

* 해당 영상

 

1. Unity 기본 설정 키를 이용한 버튼 활용


 

Unity 에서는

특정 기능에 대해 일반적으로 사용하는 키들을

기본 설정을 통해 지원하고 있습니다.

 

예를 들면,

점프는 Space, 이동은 화살표나 WASD 등을 말이죠.

 

이렇게 해도 이해가 잘 안되실 건데요,

아래 사진을 봐주세요.

 

 

Edit - Project Setting - Input Manager 에서 Axes 를 펼친 모습입니다.

 

Fire1 은 Ctrl 과 마우스 왼쪽버튼

Jump 는 Space 로 설정되어 있네요.

 

우리가 흔히 사용하는 키죠?

다른 것들도 확인해보시면 아마 예상과 맞아 떨어질 겁니다!

 

이것은 GetButton() 관련 함수들로 이용할 수 있어요.

 

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

public class move : MonoBehaviour
{

    void Update()
    {
        if (Input.GetButtonDown("Fire1"))
            Debug.Log("단발");

        if (Input.GetButton("Fire1"))
            Debug.Log("연발");

        if (Input.GetButtonUp("Jump"))
            Debug.Log("점프!");
    }

}

 

 

InputManager 에서 Size를 변경하여 갯수를 늘릴 수 있고,

이름과 키 설정도 변경가능하니, 다양한 방법으로 활용하면 되겠습니다.

 

2. GetAxis() 를 이용한 축 방향 데이터 얻기


 

GetAxis() 는 수평, 또는 수직 버튼 입력을 받으면 float 값을 반환합니다.

이 값은 축에 대한 가중치를 의미합니다.

 

임의의 축 방향으로 얼마나 이동할지 등

사용할 수 있습니다.

 

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

public class move : MonoBehaviour
{

    void Update()
    {

        if (Input.GetButton("Horizontal"))
            Debug.Log("축 가중치 : " + Input.GetAxis("Horizontal"));
    }

}

 

 

여기서 GetAxis() 대신 GetAxisRaw() 를 이용한다면,

단순히 -1, 0 ,1 로 출력이 가능합니다.

 


 

다음 글에선 오브젝트를 이동시켜 보겠습니다.

배고프네요... 야식을 먹어야하나

 

 

야식의 기쁨,

포 기 못 해