728x90
SMALL
nput SysTem 이란 ?
그동안 개발을 할때 유니티 Input Manager에 입력값들로 캐릭터의 이동을 구현했다. 프로젝트를 만들면서 자료를 찾아보던 도중 유니티 2019 버전부터 제공하는 Input System을 사용해 보기로 했다.
게임이라는 것은 특정 플랫폼 하나만을 위해 개발하지 않는다. PC, 콘솔, 핸드폰 등등... 많은 플랫폼에서 다양하게 즐길 수 있는데 문제는 플랫폼 마다 사용하는 입력 방식이 다르다.
아래 예시와 같이 캐릭터의 이동을 위해 입력값을 준다면 각각의 다른 플랫폼에선 다른 키값을 설정해줘야하는 번거로움이 있다.


우선 Input System을 설치해보자.
[설치 방법]
Window -> Package Manager -> Unity Registry -> Input System 을 Install 해주자.

Project -> Create -> Input Actions 가 생성되면 정상적인 설치완료

[Player 적용]
1. Player 에 Player Input 컴포넌트 추가

2. 액션 생성
Create Actions -> 해당 프로젝트 안에 Player 로 생성

매번 저장하기 귀찮으니 Auto - Save를 활성화 시키자

Action Maps - 카테고리 [사용할 키를 Map의 이름으로 저장]
Actions - [사용될 액션을 입력 받을 형태]
Action Type - [액션 타입 이다]
value - 들어온 입력값에 따라 결정
Button - 버튼 클릭의 여부로 결정
Control Type - 어떤 자료형으로 리턴값을 줄건지 결정
Interactions - 인풋의 호출 타이밍 지정(값이 변할 때)
Processors - 인풋의 값을 후보정
3. 스크립트 적용
네임 스페이스 생성 (InputSystem을 사용하기 위한 네임스페이스)
using UnityEngine.InputSystem;

InputValue 매개변수 선언 후 InputVector값에 넣어준다.
InputValue 안에서 이미 normalized를 사용하기 때문에 위 FixedUpdate 에서 제외 해도 된다.
728x90
'프로젝트 > 언데드 서바이벌 프로젝트' 카테고리의 다른 글
4장. 맵이동 (0) | 2023.10.12 |
---|---|
3장. Player의 애니메이션 적용 (0) | 2023.09.28 |
2장. Player 이동 (2) | 2023.09.25 |
1장. Player 만들기(뱀파이어 서바이벌 라이크) (0) | 2023.09.25 |
프로젝트 준비 (0) | 2023.09.19 |