무작정 따라하기2009. 6. 18. 14:53
리스폰룸 만들기 1 - 리스폰 공간과 보급락커 만들기
리스폰룸 만들기 2 - 리스폰구역 설정과 배리어 만들기


이제 마지막으로 리스폰룸의 문을 제작 해 보겠습니다.

엔티티툴을 이용해 prop_dynamic 엔티티를 하나 생성한 뒤 속성창을 엽니다.
(앞에서 자주 했던 과정이라 스샷은 생략)

그림1 - prop_dynamic 속성 (spown은 오타입니다. spawn이 맞습니다.)

이름을 적당히 지정해주고 World Model 속성을 선택합니다.

그림2 - 문으로 쓸 모델. Sequence 보면 open과 close라는 동작이 포함되어있다.

그림2를 참고하여 문으로 쓸 모델을 선택해줍니다.
Sequence 탭을 보면 open과 close가 있는데 눌러보면 열리는동작과 움직이는 동작이 포함되어있습니다.
이 동작을 실행하여 문을 열고 닫게 할 겁니다.

그림3 - 만들어진 문을 입구에 배치

그림3처럼 입구에 딱 맞게 배치해줍니다.
저같은경우는 천장이 너무 높아서인지 위쪽 공간이 남아서 벽 높이를 모두 낮추고 전장을 낮춰 문에 꼭 맞게 수정했습니다.

그림4 - 필터 만들기

이제 엔티티 툴을 이용해 filter_activator_tfteam 엔티티를 생성하여 필터를 만들어줍니다.
필터는 어떤 조건을 가지고 있는 역할을 하는데 위치는 아무곳에나 있어도 상관 없지만 나중에 편하려면 한곳에 모아두는 것이 좋습니다.
저는 임시로 리스폰룸 위에 만들어 보았습니다.
만들어진 필터를 더블클릭하여 속성창을 열고 이름은 filter_blue_team 팀은 블루로 설정합니다.
이제 조건이 필요한 트리거에서 이 필터를 참조하게 되면 팀이 블루일때만 작동하게 되는겁니다.

그림5 - 문을 제어할 블록 제작

아까 베리어와 같은 크기로 nodraw 텍스쳐를 이용해 블록을 만들어줍니다.
이 블록은 문을 제어하게 될 예정으로 보통 문과 같은 위치에 만들게됩니다.

그림6 - func_door 속성

Tie to Entity 메뉴를 이용해 엔티티로 변경한 후 클래스를 func_door로 설정한 뒤 적용을 누릅니다.
이름을 적당히 지정하고 Render Mode를 Dont Render 로 설정해줍니다.
speed는 문이 열리고 닫히는 속도로 300이 보통속도이고 숫다가 클수록 빨라집니다.
Move Direction은 옆에서 up을 고르면 알아서 -90 0 0으로 바뀝니다만 이건 안건드려도 되는 것 같습니다.
다 설정했으면 적용을 누릅니다.

그림7 - Flags

위에있는 Flags 탭을 눌러보면 기본으로 Touch Opens 가 체크되어있는데 이것을 해제하고 토글을 체크합니다.

그림8 - 문이 열릴 구역 설정

toolstriger 텍스쳐를 선택하고 보급 캐비넷을 만들때처럼 이번에는 문이 작동할 구역을 블록으로 잡아줍니다
문 앞뒤로 여유를 주면 됩니다.

그림9 - trigger_multiple 속성

이번에도 Tie to Entity 메뉴로 엔티티로 변경한뒤 속성창을 열어 클래스를 trigger_multiple로 변경하고 적용을 누릅니다.
문이 열리는 조건은 블루팀이 문 근처에 올 경우입니다. Filter Name에 아까 만든 필터의 이름을 넣고 적용을 누릅니다.

그림10 - Output 설정

이제 위쪽의 Outputs를 누르면 아무것도 없습니다.
아래 Add 버튼을 눌러서 그림처럼 2개를 추가합니다.
그림10에 틀린부분이 있는데 아래 OnStartTouchAll의 Via this Input을 Open으로 해야합니다

Output의 역할은 어떤 이벤트 발생하면 원하는 엔티티에 신호를 보내는 것입니다.
아랫줄을 설명해보면 OnStartTouchAll 은 트리거 구역에 누군가 들어왔을때 발생하게 되는데 필터에 의해 블루팀일때만 발생합니다.
그럼 아까만든 func_door 엔티티에 Open이라는 신호를 주어 문이 열릴 수 있도록 하는 것입니다.

그림11 - func_door Outputs

이제 아까 만들었던 func_door의 속성창을 열어 Outputs탭으로 이동한 뒤 그림11처럼 이벤트를 추가합니다.
triger_multipli에서 Open 신호가 올 경우 문 모델의 open 애니매니션을 동작시켜 문이 열리게 됩니다.


이제 완성입니다.
테스트를 해보겠습니다.
테스트 하기 전 리스폰룸 안이 어두우므로 엔티티툴로 light 엔티티를 하나 만들어 두었습니다.



처음엔 닫혀있다가

트리거안에 들어가면 열립니다.

레드팀은 열 수 없습니다.

문앞에 텔포설치는 엔지니어의 기본!



배리어 텍스쳐가 아까의 자잘한 금지표시에서 큰 한개로 바뀐것은 텍스쳐를 조절하면 가능합니다.
이부분은 나중에 따로 가이드를 써보겠습니다.


다음 무작정 따라하기 가이드에서는 ctf, cp, pl등의 승리조건을 만들어 보겠습니다.
Posted by Widyou

댓글을 달아 주세요

  1. 오오오 님 짱이여요 강좌 연재 더 해주시면 감사하겠습니다 ^^

    2009.07.04 22:17 [ ADDR : EDIT/ DEL : REPLY ]
  2. 제가 새로운 맵을 이걸보면서 제작을 하는데요 pl 만드는 방법좀 올려주시면 안됄까요?

    2009.10.11 18:22 [ ADDR : EDIT/ DEL : REPLY ]
  3. http://teamfortresskorea.net/tfkor/

    모든 강좌 퍼갑니다~ㅎ

    출처 꼭 남기겠습니다.

    2009.10.17 19:08 [ ADDR : EDIT/ DEL : REPLY ]
  4. 승리조건 강좌는 언제 만드나요?

    2010.02.24 08:53 [ ADDR : EDIT/ DEL : REPLY ]
  5. 군대가셧나요?ㄷ

    언제오나 ㅜㅜ

    2010.08.16 18:44 [ ADDR : EDIT/ DEL : REPLY ]