Menu
CoddyTech

두 가지 입력 시스템

Coddy Unity 여정의 실제 게임 만들기 섹션에 포함된 레슨. 56개 중 43번째.

Unity에는 키보드와 마우스 입력을 읽는 두 가지 방법이 있습니다. 지금까지 사용한 방법은 Input Manager입니다. Input 클래스의 GetKey, GetAxis, GetButtonDown을 사용하고, Project Settings > Input Manager에서 이름을 지정한 축과 버튼을 사용합니다. 더 새로운 방법은 Input System package(com.unity.inputsystem)입니다. 이 방법을 사용하는 스크립트는 using UnityEngine.InputSystem;으로 시작하며, Keyboard.current와 Mouse.current 같은 객체로 장치를 읽고, actions를 통해서도 입력을 읽습니다. 액션은 Move와 Jump처럼 플레이어가 수행하는 동작에 이름을 붙인 것으로, 각각 키, 스틱, 버튼에 연결됩니다.

프로젝트에서 어느 방법을 사용할지는 Player 설정에서 지정합니다. Edit > Project Settings > Player > Other Settings > Active Input Handling에서 Input Manager (Old), Input System Package (New), Both 중 하나를 선택할 수 있습니다. 새 Unity 6 프로젝트는 Input System Package (New)로 시작합니다. 이 설정에서는 Input 클래스를 호출할 때마다 프로젝트가 Input System package를 사용하는데도 UnityEngine.Input을 통해 입력을 읽고 있다는 내용의 InvalidOperationException이 발생합니다. 그래서 이전 레슨에서는 Both를 선택하도록 안내했습니다. 설정을 변경하려면 에디터를 다시 시작해야 하며, Unity가 다시 시작을 제안합니다.

Unity 6은 새 시스템으로 시작합니다. 하나의 API로 키보드, 마우스, 게임패드, 터치스크린, XR 컨트롤러를 모두 지원하고, 액션을 사용하면 키 입력이 코드에 묶이지 않기 때문입니다. 스크립트에서 Jump 액션을 읽으면 같은 코드가 Space, 게임패드의 A 버튼, 휴대폰 화면의 버튼에서도 작동하며, 플레이어가 키를 다시 설정해도 작동합니다. 이전 Input Manager는 구형 프로젝트에서 계속 사용할 수 있습니다. Coddy의 게임 뷰는 Both처럼 동작하므로 키, 클릭, 휴대폰 패드(화살표와 Jump)가 두 시스템 모두에 전달됩니다. 이 장의 나머지 부분에서는 Input System을 사용합니다.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

실제 게임 만들기의 모든 레슨