Input Manager
Input Manager는 입력에 관한 것들을 다루는 매니저이다.
이동에 GetAxis()를 사용할 건데 -1부터 1까지의 값을 반환하는 함수이다. -> Horizontal 수평 Vertical 수직
- Type에 따라 입력 받는 원천이 달라진다. (조이스틱, 데스크탑 등)
- Dead : 데드존 - 값이 올라가게 하려면 얼마나 밀어야 하는지를 뜻한다.
- Sensitivity : 끝 값(-1이나 1)까지 가는데의 속도 -> 높을수록 빠름

Input System
Window - Pakage Manager - Input System을 설치한다.

문제가있다면 Edit - Project Settings - Player - Configuration - Active Input Handling의 Input Manager(old)를 선택하면 된다.

- using UnityEngine.InputSystem;을 하고
- Input Action이라는 변수를 SerializedField로 선언한다.
- 이후에 + 버튼을 누르면 여러 Action 중에서 선택할 수 있다.


- 더블클릭하여 바인딩할 Path를 정해줄 수 있다.

Path에서 Listen을 클릭해서 키보드를 누르면 해당 키를 불러와준다.

이후에 서브 키도 설정이 가능하다.

그냥 바인딩 1개를 추가하여 한 방향만 등록해놓으면 다른 방향도 알아서 적용해준다.

이후 코드에서 인스펙터에서 바인딩한 movement를 가져올 때 Vector2타입이니 축에따라 값을 넣어주면 된다.

OnEnable()
Play버튼을 눌렀을 때 Awake() 콜백이 발생하는데 그 다음으로 호출되는 함수가 OnEnable()이다.
- 유니티가 플레이 버튼이 눌렸을 때 Awake에서 찾을 수 있는 모든 스크립트에 일어나라고 명령하고 그 다음에 OnEnable이 호출되어 안에 들어있는 것들을 활성화 시킨다. ** OnDisable도 써줘야함 (비활성화를 위해)


'유데미 강의 > C#과 Unity로 3D 게임 개발하기 : 아르곤 침공' 카테고리의 다른 글
플레이어 회전 (0) | 2022.08.26 |
---|---|
플레이어 이동하기 (0) | 2022.08.25 |
Timeline (0) | 2022.08.25 |
Terrain Texture, Tree (0) | 2022.08.25 |
Terrain Tools (0) | 2022.08.25 |