Ko/TF2/Team-Specific Doors: Difference between revisions

From Valve Developer Community
< Ko‎ | TF2
Jump to navigation Jump to search
No edit summary
m (obsolete language category)
 
(8 intermediate revisions by 6 users not shown)
Line 1: Line 1:
Team-Specific Doors only open for one team, and are often placed in front of a respawn or in certain base areas on control point maps.
{{lang|TF2/Team-Specific Doors}}
팀-전용 문들은 오로지 한 팀을 위해서만 열립니다, 그리고 종종 리스폰 앞이나 컨트롤 포인트 맵에서는 기지 근처에 놓기도 합니다.


==Tutorial - Basic Team-Specific Doors==
==강좌 - 기본 팀-전용 문==


For our example, we will be making a door to the red spawn area that will open only for the red team.
이 예제에서는, 우리는 레드 스폰지점에 오로지 레드 팀만을 위한 문을 만들겁니다.


===The filter_activator_tfteam===
===filter_activator_tfteam===


First, place a [[filter_activator_tfteam]] entity. This is the filter that will determine which team can open the door. You will need to set its Team, Filter mode, and Name as appropriateFor our example, we will set Team to Red, Filter mode to "Allow entities that match criteria", and the Name to red_filter.
우선, {{L|filter_activator_tfteam}}엔티티를 놓아주세요. 이것은 어떤 팀이 문을 열수 있는지를 결정하는 필터 입니다. 당신은 이것의 Team, Filter mode, 그리고 Name을 적절하게 설정해야합니다이 예제에서는, Team 은 Red로 Filter mode는 "Allow entities that match criteria"로 설정하고 Name은 red_filter로 하겟습니다.


You should only need one [[filter_activator_tfteam]] per team on your map. All of your team-specific triggers can reference one of these two entities. It might be a good idea to place these entities in some easy to remember locationFor our example, we will place our red_filter in our red team's spawn area.
당신은 맵마다 하나의 {{L|filter_activator_tfteam}}가 있어야 합니다. 당신의 모든 팀-전용 트리거들은 이 두개의 엔티티들중 하나를 참고할수 있습니다. 이것은 어떤 기억하기에 쉬운 장소에 놓는 것은 좋은 생각입니다이 예제에서는, 레드 팀의 스폰지점에다가 우리의 red_filter를 놓을것입니다.


===The prop_dynamic===
===prop_dynamic===


[[File:TeamSpecificDoor-prop_dynamic.jpg|thumb|right|200px|The prop_dynamic.]]
[[File:TeamSpecificDoor-prop_dynamic.jpg|thumb|right|200px|prop_dynamic.]]


Next, place a [[prop_dynamic]] and set its World Model to a nice door. We'll use models/props_gameplay/door_slide_large_door.mdl for our example. Do not forget to set the "parent" field to match the name of the [[func_door]], otherwise the prop will remain stationary when the trigger is activated. {{clr}}
다음은,{{L|prop_dynamic}}을 놓고 이것의 World Model을 멋진 문으로 설정해주세요. 이 예제에서 우리는 use models/props_gameplay/door_slide_large_door.mdl을 사용할겁니다. "parent"설정을 {{L|func_door}}의  이름과 같게 하는것을 잊지 마십시요, 그렇지 않으면 모델은 트리거가 작동 됬는데도 정지된 상태로 유지될 겁니다. {{clr}}


===The func_door===
===func_door===


[[File:TeamSpecificDoor-func_door.jpg|thumb|right|200px|The func_door.]]
[[File:TeamSpecificDoor-func_door.jpg|thumb|right|200px|func_door.]]


The second part of the door is a [[func_door]] [[Entity_Creation#Brush-based_entity_creation|brush-based entity]] that will determine how the door moves. As this entity will be only a moving scheme for the prop, use the material tools/toolsnodraw. The func_door will act as an invisible barrier to any player who runs into it, so the best thing to do is shape the brush close to the size of the model door, and overlap the two.
문의 두번째 부분은 문의 방향을 결정하는 {{L|func_door}} [[Entity creation#Brush-based_entity_creation|brush-based entity]]입니다. 이 엔티티는 모델의 방향을 계획하는 유일한 엔티티입니다, tools/toolsnodraw 텍스쳐를 사용하세요.func_door는 이제 어떤 플레이어가 뛰어들어도 보이지 않는 방어막처럼 활동합니다, 그래서 모양을 최대한 모델의 크기와 가깝게 하고 두겹으로 겹치는데에는 최고입니다.


You will need to set a number of the [[func_door]]'s properties:
당신이 설정해야할 {{L|func_door}}의 숫자들:
::{| class=standard-table
::{| class=standard-table
Property Name || Description || Value
설정 이름 || 설명 ||
|-
|-
| Name || This should be something appropriate, such as door_red_spawn_01 for our example. || door_red_spawn_01
| Name || 이것은 적절한 것이여야 합니다, 예를 들자면 저희 예제에서는 door_red_spawn_01입니다. || door_red_spawn_01
|-
|-
| Speed || Changing this will effect how fast the door will open and close. Usually, this is set to 400 or 500 for a door that you don't have to wait for. ||  
| Speed || 이것은 얼마나 문이 빠르게 열리고 닫히는지를 바꿉니다. 보통, 400아니면 500으로 설정하면 당신은 문이 열릴때까지 기다릴필요가 없습니다. ||  
|-
|-
| Move direction || This determines which direction the door moves when it opensOur example door will open Up, which can be chosen from the pull-down menu (this has been updated, there are now xyz numbers instead of a pulldown). || Up (-90 0 0)
| Move direction || 이것은 문이 열릴때 어느 방향으로 열릴지 결정합니다이 예제에서는 위로 열립니다, 끌어 당기는 방식으로 설정하실수 있습니다. (이것은 업데이트 되었습니다, 이제는 끌어당기는 방식 대신에 xyz 숫자들이 있습니다). || Up (-90 0 0)
|-
|-
| Lip || This determines how much of the door, in Hammer units, sticks out when it is fully openFor our example, we will use a value of 3. || 3
| Lip || 이것이 완전하게 열렷을때 Hammer에서 얼마나 크게 튀어나올지 결정합니다이 예제에서는, 3으로 설정합니다. || 3
|-
|-
| Delay Before Reset || Set this to -1 so that the door will never close as long as someone is in the doorwayOtherwise, the door will close and NOT reopen until everyone has cleared the triggerAnything other that -1 can lead to griefing (i.e. one player can lock an entire team in the spawnroom).  || -1
| Delay Before Reset || -1로 설정하면 누군가가 출입구에 있는이상 문은 절대로 닫히지 않습니다그렇지 않으면, 트리거에서 모든 사람들이 사라질때까지 문이 닫히고 절대로 다시 열리지 않습니다.  -1이 아닌 다른 숫자는 플레이어들을 비통하게 할수 있습니다. (즉 한 팀의 플레이어가 팀 전체의 스폰장소를 막고 있을수 있습니다).  || -1
|}
|}


Next, go to the Flags tab in the [[func_door]]'s properties, and make sure Touch Opens is UNCHECKED. If this were checked, it would allow the other team to bypass our filter by touching the door! Also, check the Toggle flag.
다음으로, 우리는 {{L|func_door}}의 설정에 Flags 탭으로 가서, Touch Opens 가 체크해제 되어있는지 확인해야합니다. 만약 체크 되어있었다면, 다른 팀이 문에 닿음으로써 필터를 우회하고 문을 열게 할수 있습니다! 또한, Toggle을 체크해주세요.


Now we need to give our [[func_door]] control of the door model. Select the [[prop_dynamic]] door model, and set its Parent property to the name of our [[func_door]]In this case, that's door_red_spawn_01.{{clr}}
이제 우리가 우리의 {{L|func_door}}에 문 모델의 결정권을 주어야 합니다. [[prop_dynamic] 문 모델을 선택하시고, 이것의 Parent 설정을 우리의 {{L|func_door}} 이름으로 설정해주세요이번 경우에는, door_red_spawn_01입니다.{{clr}}


===The trigger_multiple===
===trigger_multiple===
[[image:TeamSpecificDoor-Trigger_Multiple.jpg|thumb|right|200px|The trigger_multiple.]]
[[File:TeamSpecificDoor-Trigger_Multiple.jpg|thumb|right|200px|trigger_multiple.]]
The third and final component of the door is a [[trigger_multiple]] brush-based entity that will tell the door to open when a player touches the trigger, and then to close.
문의 3번째 그리고 마지막 요소인 플레이어가 트리거에 닿았을때 문이 열릴건지 또는 닫힐 건지를 말해주는 {{L|trigger_multiple}} 엔티티 입니다.


The trigger should be large enough to handle players approaching from odd angles, and to ensure that the door opens before the player reaches it. You will usually want to stretch the trigger volume so that it can be activated from either side of the door, rather than making two trigger volumes. It should use the tools/toolstrigger material.
트리거는 다양한 각도들로부터 플레이어들이 다가와도 다룰수 있을 만큼의 크기가 되어야합니다 그리고 반드시 플레이어가 문에 닿기전에 문이 열려야 합니다. 당신은 보통 트리거의 크기를 쭉 늘려서 문의 양쪽 면에서도 작동할수 있게 하기를 원할겁니다, 두개를 만드는 것보단 낳겟죠. tools/toolstrigger 텍스쳐를 이용하셔야 합니다.


Make sure to set "Delay Before Reset" to 0As default it is set to -1, meaning the door will never close once opened.
"Delay Before Reset" 이 0으로 설정되었는지 확인하세요기본적으로는 -1로 설정되어 있습니다, 이것은 한번열리면 다시는 닫히지 않는 것을 뜻합니다.


Select the Outputs tab in the [[trigger_multiple]]'s properties windowYou will need to add two outputs, which look like this:
{{L|trigger_multiple}}의 설정 창에서 Outputs 탭으로 가주세요당신은 보시는 것과 같이 두개의 Outputs를 추가 해야 합니다. :


::{| class=standard-table
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnEndTouchAll || door_red_spawn_01 || Close || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchAll || door_red_spawn_01 || Close || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouchAll || door_red_spawn_01 || Open || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouchAll || door_red_spawn_01 || Open || <none> || 0.00 || No
|}
|}


Finally, the [[trigger_multiple]]'s Filter Name property should be set to your [[filter_activator_tfteam]]'s name to make the door team-specific. In our case, that's red_filter.
마지막으로, {{L|trigger_multiple}}의 Filter Name 설정이 당신의 {{L|filter_activator_tfteam}}의 이름으로 설정해야 팀-전용 문이 됩니다. 이번 경우에는, red_filter입니다.


That's it, we now have a door that will only open for the Red team!
됫습니다, 우리는 오로지 레드팀에게만 열릴 문을 만들었습니다!


[https://dl.dropbox.com/u/12664902/onlinesdk/hammer/team_specific_doors.zip Download the demo map here]{{clr}}
[https://dl.dropbox.com/u/12664902/onlinesdk/hammer/team_specific_doors.zip 데모 맵을 여기서 다운 받으세요.]{{clr}}


== Design Theory ==
== 디자인 개론 ==
===Placement===
===Placement===
In theory, team-specific doors can be placed anywhere, but be very careful as they can greatly alter the balance of a map.
공론으로, -전용 문들은 어디에나 놓을수 있습니다, 하지만 매우 조심하세요 왜냐면 그들은 맵의 밸런스를 크게 붕괴시킬수 있습니다.


===Collision===
===충돌===
Doors on the official maps have their [[prop_dynamic]]'s Collisions property set to Not Solid. This is not required, but may be more efficientIn this case, the door's [[func_door]] brush will determine its collision, which is usually accurate enough.
공식 맵들의 문들은 그들의 {{L|prop_dynamic}}의 Collisions 설정이 Not Solid로 되어있다. 이것은 꼭 필요하지 않습니다, 그러나 이것은 매우 효율적입니다이 경우에는, 문의 {{L|func_door}}가 이것의 충돌을 결정합니다, 그리곤 대게 충분히 정확합니다.


===Buildings===
===건축===
It may be necessary to add a [[func_nobuild]] [[Entity_Creation#Brush-based_entity_creation|brush-based entity]] in the doorway as well. This prevents engineers placing any buildings like sentries and dispensers in the doorway, which can cause various problems: It would look unrealistic when the door closes on the building, and it would prevent the door closing if you do not have the "Force-closed" property set to "yes". (However that property should always be set to "No" to prevent trapping the player within the door model.)
{{L|func_nobuild}} [[Entity creation#Brush-based_entity_creation|brush-based entity]]를 출입구에 추가하는것 또한 필요합니다. 이것은 엔지니어들이 어떤 건물들을  예를 들자면 센트리 건들이나 디스펜서들을 출입구에 설치하는 것을 막아줍니다. 그렇지 않으면 다양한 문제들이 일어납니다 : 건물은 위로 문이 닫히고 열리고 하는것은 보기에 비현실적으로 보입니다, 그리고 당신이 설정에서 "Force-closed"를 설정에서 "yes"라고 하지않았는데도 문이 열리는 것을 방지합니다. (어쨋건 그 설정은 플레이어가 문 모델에 끼는것을 방지하기 위해서 항상 설정이 "No"로 되어있어야 합니다.)


== See Also.. ==
== 다른 볼것.. ==
* [[TF2/Team-Specific Barriers|Team-Specific Barriers]]
* {{L|TF2/Team-Specific Barriers}}
* [[TF2/Setup Gates|Setup Gates]]
* {{L|TF2/Setup Gates}}
* [[TF2/Respawn Areas|Respawn Areas]]
* {{L|TF2/Respawn Areas|리스폰 지역}}
* [[Team Fortress 2 Level Creation]]
* {{L|Team Fortress 2 Level Creation|카테고리 : 팀 포트리스2 레벨디자인}}


[[Category:Level Design Tutorials]]
{{ACategory|Level Design}}
[[Category:Team Fortress 2]]
{{ACategory|Team Fortress 2}}

Latest revision as of 02:37, 22 August 2024

English (en)한국어 (ko)Русский (ru)Translate (Translate)

팀-전용 문들은 오로지 한 팀을 위해서만 열립니다, 그리고 종종 리스폰 앞이나 컨트롤 포인트 맵에서는 기지 근처에 놓기도 합니다.

강좌 - 기본 팀-전용 문

이 예제에서는, 우리는 레드 스폰지점에 오로지 레드 팀만을 위한 문을 만들겁니다.

filter_activator_tfteam

우선, filter_activator_tfteam(en)엔티티를 놓아주세요. 이것은 어떤 팀이 문을 열수 있는지를 결정하는 필터 입니다. 당신은 이것의 Team, Filter mode, 그리고 Name을 적절하게 설정해야합니다. 이 예제에서는, Team 은 Red로 Filter mode는 "Allow entities that match criteria"로 설정하고 Name은 red_filter로 하겟습니다.

당신은 맵마다 하나의 filter_activator_tfteam(en)가 있어야 합니다. 당신의 모든 팀-전용 트리거들은 이 두개의 엔티티들중 하나를 참고할수 있습니다. 이것은 어떤 기억하기에 쉬운 장소에 놓는 것은 좋은 생각입니다. 이 예제에서는, 레드 팀의 스폰지점에다가 우리의 red_filter를 놓을것입니다.

prop_dynamic

prop_dynamic.

다음은,prop_dynamic(en)을 놓고 이것의 World Model을 멋진 문으로 설정해주세요. 이 예제에서 우리는 use models/props_gameplay/door_slide_large_door.mdl을 사용할겁니다. "parent"설정을 func_door(en)의 이름과 같게 하는것을 잊지 마십시요, 그렇지 않으면 모델은 트리거가 작동 됬는데도 정지된 상태로 유지될 겁니다.

func_door

func_door.

문의 두번째 부분은 문의 방향을 결정하는 func_door(en) brush-based entity입니다. 이 엔티티는 모델의 방향을 계획하는 유일한 엔티티입니다, tools/toolsnodraw 텍스쳐를 사용하세요.func_door는 이제 어떤 플레이어가 뛰어들어도 보이지 않는 방어막처럼 활동합니다, 그래서 모양을 최대한 모델의 크기와 가깝게 하고 두겹으로 겹치는데에는 최고입니다.

당신이 설정해야할 func_door(en)의 숫자들:

설정 이름 설명
Name 이것은 적절한 것이여야 합니다, 예를 들자면 저희 예제에서는 door_red_spawn_01입니다. door_red_spawn_01
Speed 이것은 얼마나 문이 빠르게 열리고 닫히는지를 바꿉니다. 보통, 400아니면 500으로 설정하면 당신은 문이 열릴때까지 기다릴필요가 없습니다.
Move direction 이것은 문이 열릴때 어느 방향으로 열릴지 결정합니다. 이 예제에서는 위로 열립니다, 끌어 당기는 방식으로 설정하실수 있습니다. (이것은 업데이트 되었습니다, 이제는 끌어당기는 방식 대신에 xyz 숫자들이 있습니다). Up (-90 0 0)
Lip 이것이 완전하게 열렷을때 Hammer에서 얼마나 크게 튀어나올지 결정합니다. 이 예제에서는, 3으로 설정합니다. 3
Delay Before Reset -1로 설정하면 누군가가 출입구에 있는이상 문은 절대로 닫히지 않습니다. 그렇지 않으면, 트리거에서 모든 사람들이 사라질때까지 문이 닫히고 절대로 다시 열리지 않습니다. -1이 아닌 다른 숫자는 플레이어들을 비통하게 할수 있습니다. (즉 한 팀의 플레이어가 팀 전체의 스폰장소를 막고 있을수 있습니다). -1

다음으로, 우리는 func_door(en)의 설정에 Flags 탭으로 가서, Touch Opens 가 체크해제 되어있는지 확인해야합니다. 만약 체크 되어있었다면, 다른 팀이 문에 닿음으로써 필터를 우회하고 문을 열게 할수 있습니다! 또한, Toggle을 체크해주세요.

이제 우리가 우리의 func_door(en)에 문 모델의 결정권을 주어야 합니다. [[prop_dynamic] 문 모델을 선택하시고, 이것의 Parent 설정을 우리의 func_door(en) 이름으로 설정해주세요. 이번 경우에는, door_red_spawn_01입니다.

trigger_multiple

trigger_multiple.

문의 3번째 그리고 마지막 요소인 플레이어가 트리거에 닿았을때 문이 열릴건지 또는 닫힐 건지를 말해주는 trigger_multiple(en) 엔티티 입니다.

트리거는 다양한 각도들로부터 플레이어들이 다가와도 다룰수 있을 만큼의 크기가 되어야합니다 그리고 반드시 플레이어가 문에 닿기전에 문이 열려야 합니다. 당신은 보통 트리거의 크기를 쭉 늘려서 문의 양쪽 면에서도 작동할수 있게 하기를 원할겁니다, 두개를 만드는 것보단 낳겟죠. tools/toolstrigger 텍스쳐를 이용하셔야 합니다.

"Delay Before Reset" 이 0으로 설정되었는지 확인하세요. 기본적으로는 -1로 설정되어 있습니다, 이것은 한번열리면 다시는 닫히지 않는 것을 뜻합니다.

trigger_multiple(en)의 설정 창에서 Outputs 탭으로 가주세요. 당신은 보시는 것과 같이 두개의 Outputs를 추가 해야 합니다. :

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnEndTouchAll door_red_spawn_01 Close <none> 0.00 No
Io11.png OnStartTouchAll door_red_spawn_01 Open <none> 0.00 No

마지막으로, trigger_multiple(en)의 Filter Name 설정이 당신의 filter_activator_tfteam(en)의 이름으로 설정해야 팀-전용 문이 됩니다. 이번 경우에는, red_filter입니다.

됫습니다, 우리는 오로지 레드팀에게만 열릴 문을 만들었습니다!

데모 맵을 여기서 다운 받으세요.

디자인 개론

Placement

공론으로, 팀-전용 문들은 어디에나 놓을수 있습니다, 하지만 매우 조심하세요 왜냐면 그들은 맵의 밸런스를 크게 붕괴시킬수 있습니다.

충돌

공식 맵들의 문들은 그들의 prop_dynamic(en)의 Collisions 설정이 Not Solid로 되어있다. 이것은 꼭 필요하지 않습니다, 그러나 이것은 매우 효율적입니다. 이 경우에는, 문의 func_door(en)가 이것의 충돌을 결정합니다, 그리곤 대게 충분히 정확합니다.

건축

func_nobuild(en) brush-based entity를 출입구에 추가하는것 또한 필요합니다. 이것은 엔지니어들이 어떤 건물들을 예를 들자면 센트리 건들이나 디스펜서들을 출입구에 설치하는 것을 막아줍니다. 그렇지 않으면 다양한 문제들이 일어납니다 : 건물은 위로 문이 닫히고 열리고 하는것은 보기에 비현실적으로 보입니다, 그리고 당신이 설정에서 "Force-closed"를 설정에서 "yes"라고 하지않았는데도 문이 열리는 것을 방지합니다. (어쨋건 그 설정은 플레이어가 문 모델에 끼는것을 방지하기 위해서 항상 설정이 "No"로 되어있어야 합니다.)

다른 볼것..