티스토리 뷰

728x90

사용자가 키보드나 마우스, 게임 패드나 조이스틱, 심지어 터치까지 뭔가 신호를 주면 그에 따른 반응과 움직임을 보이는 것은 게임의 핵심이지 않을까! 사용자의 개입이 없다면 그냥 동영상이라 해도 무방할 것이다. 초보 게이머가 고도 엔진을 설치하고 데모 프로젝트를 수행하는 과정은 대부분 키보드에서 화살표를 움직이거나 마우스를 움직여 보는 것 말고는 특별히 할 수 있는 것이 없다. 사용 안내서도 없고, 일반적인 게임 방법에도 익숙하지 않기 때문이다. 

 

데모 프로젝트를 따라 하면서 개발 기술을 익히려면 우선 데모 프로젝트를 플레이 할 수 있어야 하는데, 시작부터 막힌 것이다. 고도 스크립트를 열어 보면 Input.is_action_pressed("aim")처럼 뭔가 눌러졌을 때를 처리하는 로직이 있는데, 전통적인 프로그래밍에서 키보드 이벤트를 처리하는 것을 상상하면 그 황당할 뿐이다. "if (e.KeyChar == Keys.Enter)" 처럼 어떤 키가 눌러졌는지 검사하는 로직을 상상하지만 "aim"이 눌러졌는지를 확인하고 있으니 당황스러운 것은 당연할지도 모르겠다.

 

이유는 고도 게임 엔진이 처리하는 다양한 입력기기에 있다. 위의 그림은 메뉴에서 프로젝트>프로젝트 설정을 선택하고 [입력 맵] 탭을 클릭한 상태로 여러 가지 액션 목록을 확인할 수 있다. 고도 스크립트 Input.is_action_pressed("aim")에서 문자열로 지정한 것이 이곳의 액션 이름과 연결되고 있음을 확인할 수 있다. 새로운 액션을 추가하려면 탭 상단에서 액션 이름을 입력하고 우측의 [추가] 버튼을 클릭하면 된다.

 

개별 액션 우측에는 + 버튼이 배치되어서 다양한 기기들의 입력을 선택하여 추가할 수 있다. 고도 게임 엔진에서 여러 기기의 입력을 하나의 액션으로 처리할 수 있도록 해주는 것이다. 

위의 그림은 조이스틱 버튼에만 연결된 이벤트를 키보드의 키패드에도 연결하는 그림으로 추가하면 좌측 그림처럼 "키를 눌러주세요..." 하는데 이 상태에서 원하는 키를 누르면 해당 키가 액션에 할당된다.

 

고도 프로젝트를 분석한다면 입력 맵과 고도 스크립트를 살펴보는 것으로 분석으로 시작하는 것도 좋은 방법이지 않나 싶다.

 

 

 

 

 

728x90
댓글
글 보관함
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31