Programing/Unity(C#)

[Unity] New Input System 사용하기

hye3193 2023. 12. 31. 21:05

1. Window - Pakage Manager에 들어가서 Input System을 install 해준다

 

2. 오브젝트에 Player Input 컴포넌트를 추가해준다

 

3. Create Actions 버튼을 눌러 새로운 Action Asset을 생성해 주고, Actions 필드에 해당 에셋을 넣어준다

 

4. Open Input Settings 버튼을 누르고, Create settings asset 버튼을 눌러준다

 

 

여기까지 하면 설정 끝

 

코드에서 해당 메소드들을 이용해서 작성해주면 된다

 

추가적인 Input을 생성하려면 아까 만들어두었던 input action asset을 열어서

최상단 + 버튼을 눌러 새로운 액션을 추가해주고

 

키 바인딩을 해주면 된다

(Listen 버튼을 누르고 해당 키를 누르면 바로 해당 키가 검색된다)

 

 

 

New Input System을 이용해서 플레이어를 움직이게 만드는 코드 예시

public class Player : MonoBehaviour
{
    [SerializeField] float moveSpeed = 10f;
    Vector2 rawInput;

    void Update()
    {
        Vector3 delta = rawInput * moveSpeed * Time.deltaTime;
        transform.position += delta;
    }

    void OnMove(InputValue value)
    {
        rawInput = value.Get<Vector2>();
    }
}

* Time.deltaTime을 곱해주어야 무브먼트 프레임이 독립된 채로 동작할 수 있다