2009년 05월 04일
[워3에디터 강좌] 트리거 에디터의 시작

이 네가지 에디터 가운데에서 지형 에디터와 사운드 에디터는 기능도 그리 많지 않고 인터페이스만 봐도 어떻게 사용할지 쉽게 알 수 있는 구성이기 때문에 특별히 설명할 것이 없다. 그래서 이 두 에디터는 차후에 다루도록 하고 우선 트리거 에디터에 대해서 살펴보도록 하자.
트리거란?
트리거(Trigger)는 영어로 총기의 방아쇠를 뜻한다. 그래서 오작동이 아닌 이상 총은 방아쇠를 당겨야만 발사된다. 즉 방아쇠를 당기는 것이 원인이고 총알이 발사되는 것은 그에 따른 결과인 셈이다. 같은 이치로, 게임에서 트리거란 원인과 결과를 설정하여 레벨(level: 이 문장에서는 게임플레이가 이뤄지는 공간이라는 의미로 쓰였다) 안에서 기획의도에 맞는 사건과 현상이 일어나도록 설정한 것이다. 트리거는 비단 워크래프트3에서만 사용하는 것이 아니라 거의 모든 게임에서도 사용하는 개념이므로 확실히 이해하고 넘어가야만 한다.
트리거는 다음과 같은 세 가지 구성요소로 이루어진다.
- 이벤트 Event : Ctrl + E
이벤트는 게임 시스템이 인식할 수 있는 일련의 사건이나 현상이다. 특정 트리거에서 설정한 이벤트에 해당하는 일이 벌어지면 그 트리거는 가지고 있는 조건을 따져본다.
예) 게임이 시작된 시점부터 특정 시간이 지난 경우, 어떤 유닛이 특정 구역에 들어서거나 나간 경우, 어떤 유닛이 어떤 명령을 받은 경우, 어떤 유닛이 공격 받거나 죽거나, 특정 스킬의 대상이 된 경우, 어떤 장치(오브젝트)가 파괴된 경우 등 - 조건 Condition : Ctrl + D
특정 트리거에서 설정한 이벤트가 발생하면 그 트리거는 설정해놓은 조건을 따져본다. 그래서 그 조건에 맞으면 액션에 설정해 놓은 것들을 실행한다.
예) 이벤트를 발생시킨 유닛의 종류/소유주/레벨/상태 비교, 특정 유닛이 획득한 아이템의 종류/레벨 비교, 랜덤하게 추출한 값이 조건에 맞는지 비교 등 - 액션 Action : Ctrl + R
액션은 이벤트-조건에 부합하는 어떤 일이 벌어지면 실행할 사항들이다.
예) 유닛 또는 오브젝트의 사운드/애니메이션 출력, 특정 장소에 유닛 또는 오브젝트 생성, 유닛에게 특정 명령 하달 등
- 이벤트
유닛이 보물상자에 접근한다 - 조건
접근한 유닛은 플레이어 소유의 유닛이어야 한다 - 액션
동굴 입구 지점에 지정한 몬스터를 생성한다
★ 예제맵 다운로드: TriggerEX_01.w3x

[팁] 이미 설정한 트리거 이름을 변경하고 싶다면 트리거 이름을 한 번 클릭한 다음 그대로 1-2초 정도 기다리면 된다.
트리거 이름을 지었다면 이제 본격적으로 트리거의 구성요소인 이벤트, 조건, 액션을 만들 차례다.
이벤트/조건/액션 설정
트리거를 생성했다면 트리거 에디터 우측 하단에 있는 '트리거 함수'창에
이벤트
조건
액션 목록이 만들어져 있을 것이다. 이 항목들을 우클릭해서 '새로운 이벤트/조건/액션 만들기'를 하거나 아니면 단축키를 눌러서 원하는 이벤트/조건/액션을 만들어 넣으면 된다.
우선 Ctrl + E를 눌러 새로운 이벤트를 만들자. 그다음 이벤트 종류 항목에서 '유닛'을 선택하고 세부 이벤트로는 '어떤 유닛이든 구역에 들어가면 작동'을 지정하자. 그러면 그 아래에 이벤트 텍스트로 '어떤 유닛이든 구역에 들어가면 작동합니다'라는 문장이 나타날 것이다. 그리고 이 상태에서는 [확인] 버튼이 비활성화되어 이벤트 만들기가 완료가 안되는데, 왜냐면 어떤 구역에 들어가면 이벤트가 발생하는 것인지 규정되지 않았기 때문이다.
그러면 여기서 구역이라는 링크를 클릭해보자. 그러면 구역(rect)를 지정하는 새로운 창이 나타날 것이다. 여기서 변수 항목을 체크하자. 이미 만들어져 있는 ZoneTreasure <생성>이 선택될 것이다. 이 구역은 예제맵 상에 이미 만들어져 있는 구역이다. 이 구역이 어딘지 보고 싶다면 월드 에디터 메인화면에서 도구 팔레트를 연 다음, 지역 팔레트를 선택하면 된다. 그러면 ZoneTreasure 라는 구역이 이미 생성되어 있음을 알 수 있을 것이다. 이 구역 명칭을 더블클릭하면 에디터 화면시점이 그 구역의 중심으로 이동한다.
[주의] 한글화가 불완전해서 맵 에디터 상에서는 지역이라고 나오고 트리거 에디터에서는 구역이라고 나오는데 둘 다 같은 말이다.
[팁] 만약 화면에 구역이 보이지 않는다면, 월드에디터 상단의 [보기] 메뉴에서 [지역]을 체크하라, 단축키는 Ctrl + R 이다.


그러면 트리거를 완성시키기 위해서 마지막으로 액션을 만들어보자. 트리거 에디터에서 Ctrl + R 을 누르면 새로운 액션을 만드는 [설정 액션] 창이 뜬다. 액션 종류 중에서 맨 아래쪽에 있는 [유닛] 항목을 선택하고 세부 액션으로는 '유닛 특정 각도로 한다'를 선택하자. 한글화가 좀 즈질이라 무슨 뜻인지 좀 불명확한데, 이 액션이 어떤 유닛을 특정 지점에 생성하는 액션이다.


이제는 유닛이 생성될 위치를 정해야 한다. 그러기 위해서는 맵 에디터에서 유닛이 생성될 지역(구역)을 설정해야 하는데, 잠시 맵 에디터로 가서 [도구 팔레트]에서 [지역 팔레트]를 선택한 다음 아래 그림과 같이 동굴안쪽에 새로운 지역을 그린다.

이제 다시 트리거 에디터로 돌아와서 아까 설정하다가 만 액션을 다시 더블클릭해서 열어보자. 그다음((플레이 가능 구역)의 중심)을 클릭하고 아래 그림과 같이 지역을 지정하자.

자 여기까지 액션 설정이 끝났다면 이제 맵을 테스트 플레이해보자. Ctrl + F9 를 누르거나 맵 에디터 상단 메뉴 아이콘 중에 제일 오른쪽에 있는 버튼을 누르면 바로 맵을 플레이해볼 수 있다. 이 강좌에서 설명한대로 트리거를 잘 설정했다면 아서스가 동굴 앞 보물 근처에 가자마자 동굴에서 오우거 2기가 나타나 공격해올 것이다. 만약 제대로 나오지 않는다면 이벤트/조건/액션 중에 무언가가 잘못 설정된 것이니 찬찬히 다시 살펴보라. 정 안되겠다 싶으면 위 트리거까지 다 완성된 맵을 받아서 열어보도록 하라. TriggerEX_01_done.w3x
그런데 막상 플레이를 해보면, 무언가 연출이 부자연스럽게 느껴질 것이다. 그리고 또 보물 근처를 들락거리면 오우거가 계속 반복해서 생성되기도 한다. 이런 문제점들은 다음 강좌에서 고쳐나가도록 하자.
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- [워3에디터 강좌] 에디터 입문 by storm
- [UnrealEd강좌] 언리얼3 엔진과 에디터 by storm
- 테터툴즈 에디터 by loadrich
- 이젤론의 AMV/MAD Best 작품 10 by 이젤론
# by | 2009/05/04 00:44 | ▶ War3 Editor 강좌 | 트랙백 | 핑백(1) | 덧글(8)







☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
... 지난 3편 강좌에서 우리는 워크래프트3에서 사용하는 트리거의 기초적인 개념에 대해서 알아보았다. 그리고 예제맵을 통해서 아주 간단한 트리거를 한 번 만들어보았다. 다 ... more
오우거가 아닌 풋맨 나와서 놀랐음 ㅋㅋ