input manager 이용 사용자 입력 받기

input system(input manager)에서 유닛을 사용하려면, 그 input 유닛의 출력 데이터 포트(output data port) 또는 입력 트리거(input trigger)가 다른 유닛과 연결되어 있어야만 한다. 이전 버전의 input system을 사용한다면 Edit > Project Settings > Player > Active Input Handling을 Input Manager(Old) 또는 Both로 설정해야 한다. 

참고: Input Manager(Edit > Project Settings > Input Manager)는 모든 형태의 입력 유형을 가지고 있다.



시스템 입력 받기

  1. Event 유닛(예, Update Event)을 가지고 있는 스크립트 그래프(script graph)는 빈 공간에 마우스 오른쪽 버튼을 클릭한다. 명령 목록이 나타난다.
  2. Add Unit을 선택한다. 퍼지 파인더(fuzzy finder)가 나타난다. 
  3. 색 필드에 "get axis"를 입력한다.
  4. Input: Get Axis를 선택한다. Get Axis 유닛이 그래프에 나타난다.
  5. axisName 필드에 유닛 라벨을 입력한다.예: Horizontal).  
  6. Event 유닛의 출력 포트에서 입력 받는 유닛의 입력 포트로 드래그한다. 삼각형 위에서 마우스를 놓으면 두 유닛이 연결된다. 참고: 모든 프레임에서 데이터 포트가 사용된다면 input 유닛은 신호를 받게 된다.
  7. Get Axis 유닛의 출력 트리거 포트(output trigger port)에서 다른 유닛(예: Transform 유닛)의 입력 포트로 드래그 한다. 사용자가 Get Axis 유닛의 키(예: 좌/우 화살표)를 누를 때마다 다운스트림 유닛(downstream unit)이 증가한다.
<주의> axisName 필드의 유닛 라벨은 Input Manager에 정의된 데로 동일한 철자를 입력해야 한다. 그렇지 않으면 유니티는 인식하지 못한다. 
팁: input 유닛 이름을 복사 & 붙여넣기하면 오타의 실수를 없앨 수 있다.

이 방법(3번 검색하는 방식)을 사용하여 input 유닛을 만들면 현재 event와 호환되는 유닛이 연결되었다고 확신할 수는 없다. event 출력 포트에서 드래그하여 퍼지 파인더를 사용하면 그 event와 호환되는 유닛들이 퍼지 파인터에 나타나고 그 중에 선택하면 확실하다.

 

<원문>

https://docs.unity3d.com/Packages/com.unity.visualscripting@1.7/manual/vs-capturing-player-inputs-old.html

댓글

이 블로그의 인기 게시물

EMACS - 파일 열기, 저장, 도움말

EMACS - 검색 및 바꾸기

EMACS, CLISP, SLIME 설치