Difference between revisions of "Working Ladders:ru"

From Valve Developer Community
Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{otherlang2
 
{{otherlang2
 +
| title=Работающие лестницы
 +
| es    = Working Ladders:es
 +
| ko    = Working Ladders:ko
 
| en = Working Ladders
 
| en = Working Ladders
| es = Working Ladders:es
+
| zh-cn = Working Ladders:zh-cn
|ko=Working Ladders:ko}}
+
}}
 
 
{{totranslate:ru}}
 
  
 
== Введение ==
 
== Введение ==
Во всех играх движка [[Source]] (кроме [[Team Fortress 2]], где лестниц нет) '''лестница''' (англ. ''ladder'') состоит из модели (или браша), который воспринимается игроком как лестница, и невидимой системы энтити/брашей, делающих лестницу работающей. Это создает видимость того, что игрок забирается по видимой модели лестницы, но на самом деле он поднимается именно по этой невидимой системе энтити/брашей.
+
Во всех играх [[Source]] имеются лестницы (кроме [[Team Fortress 2]] и [[Portal 2]], где их нет), состоящие из модели или браша, и системы невидимых энтить, расположенных рядом. Эти невидимые энтити и создают видимость того, что игрок взбирается по модели/брашу лестницы.
  
 
=== Видимая часть лестницы ===
 
=== Видимая часть лестницы ===
  
Чтобы создать "видимую" лестницу, вы можете создать объект [[prop_static]] с моделью лестницы (например, ''models/props_c17\metalladder001.mdl''), или создать её из брашей, накладывая на них текстуру лестницы (например, ''metal/metalladder001a'').
+
Для её создания вы можете использовать
 +
* энтитю [[prop_static]] с моделью лестницы (например, ''models\props_c17\metalladder001.mdl''), или
 +
* браш с текстурой лестницы (например, ''metal/metalladder001a'').
  
=== Climbing system ===
+
=== Система подъёма ===
How the ladder's climbing system is created depends on which Source game it is intended for. Ladders in [[Half-Life 2]] and [[Half-Life 2: Deathmatch]] are created a little differently than those of earlier games to provide better control for the level designer and player alike, while ladders in [[Counter-Strike: Source]] and [[Day of Defeat: Source]] are implemented pretty much the same way as the older games.
+
Принцип работы системы подъёма зависит от игры, для которой она предназначена. Лестницы в [[Half-Life 2]] и [[Half-Life 2: Deathmatch]] создаются немного не так, как в ранних играх, они стали удобнее для дизайнеров карт и игроков, а лестницы в [[Counter-Strike: Source]] и [[Day of Defeat: Source]] реализованы также, как в старых играх.
For how to create ladders for Counter-Strike: Source and Day of Defeat: Source, see [[#Ladders_for_Counter_Strike:_Source_and_Day_of_Defeat:_Source|below]].
+
Материал по созданию лестниц для Counter-Strike: Source и Day of Defeat: Source, см. [[#Ladders_for_Counter_Strike:_Source_and_Day_of_Defeat:_Source|ниже]].
  
== Ladder entities for Half-Life 2/DM ==
+
== Энтити лестницы для Half-Life 2 / Half-Life 2 Deathmatch ==
  
To create a ladder you must define the volume in which the player will move through space while on the ladder. This volume can be defined in two ways: Using the [[func_useableladder]] entity, or using the deprecated [[func_ladderendpoint]] entity (which is only briefly described below to provide understanding of the workings of older maps).
+
Вначале нужно определиться с размером лестницы. Это можно сделать двумя способами: с помощью энтити [[func_useableladder]], или устаревшей [[func_ladderendpoint]] (которая кратко описана ниже для понимания работы старых карт).
  
The func_useableladder entity can be divided into two sub entities: a starting point and an ending point ''(See Fig. 1a)''. Their positions can be typed into the keyvalue fields, or more typically the ladder volume can be defined using the visual ladder tool, by dragging its center circle that is visible when the entity is selected ''(See Fig. 1b)''. Using this tool you can drag the start and end point of the ladder into appropriate positions in the 2D view. The ladder's start and ending point may be of arbitrary orientation and length ''(See Fig. 1c)''. Simply pull the endpoints where you want them and the player will move between these points while on the ladder.
+
Энтитя func_useableladder разделяется на две под-энтити: начальную и конечную точки ''(см. рис. 1a)''. Их позиции можно задавать как в поле значения, так и путём перетаскивания кружка при выделении энтити ''(см. рис. 1b)''. Это делается в окне 2D-вида. Начало и конец лестницы могут быть произвольной ориентации и длины ''(см. рис. 1c)''. Просто тяните эти точки туда, где должна располагаться лестница.
  
 
{| border=0 cellspacing=0 cellpadding=0
 
{| border=0 cellspacing=0 cellpadding=0
| [[Image:hammer_ladders1.jpg|frame|left|Рис. 1а - Точки лестницы (используются две энтити <code>func_ladderendpoint</code>]]
+
| [[Image:hammer_ladders1.jpg|frame|left|Рис. 1a – Точки лестницы (используются две <code>func_ladderendpoint</code>s)]]
| [[Image:hammer_ladders2.jpg|frame|left|Рис. 1б - Изменение наклона лестницы]]
+
| [[Image:hammer_ladders2.jpg|frame|left|Рис. 1b – Изменение ориентации]]
| [[Image:hammer_ladders3.jpg|frame|left|Рис. 1в - Изменённая лестница]]
+
| [[Image:hammer_ladders3.jpg|frame|left|Рис. 1c – Наклон лестницы]]
 
|}
 
|}
  
As you place the endpoints, make sure that you place them a couple of units away from the visible ladder brush (or any other brush or model) because if any four sides of the ladder volume is even touching against a surface of a brush or a model, this will make that part of the ladder volume unclimbable.
+
Убедитесь, что конечные точки лестницы не касаются её видимого браша, и находятся на расстоянии в паре единиц от него (а таже любого другого браша или модели), иначе часть лестницы может не работать.
 
 
The now obsolete func_ladderendpoint entity just consists of a single endpoint. A ladder volume is created by linking two func_ladderendpoints together using their properties. A ladder volume is created between two func_ladderendpoints by naming one of the endpoints and having the other endpoint point to its name in its ''Other'' value. (It is not necessary for the second endpoint to point back at the first as stated in properties.)
 
  
=== Dismounts ===
+
Сегодня устаревшая сущность func_ladderendpoint состоит лишь из одной конечной точки. Размер лестницы создаётся путём связывания двух func_ladderendpoints, которые указываются в свойствах.
 +
 +
=== Точки схода ===
  
[[Image:hammer_ladders4.jpg|frame|left|Fig. 2 - Dismounts]]
+
[[Image:hammer_ladders4.jpg|frame|left|Рис. 2 – Точки схода]]
  
Along with the volume of movement, you can also provide dismount points for the ladder ''(See Fig. 2)'' to allow easier and more controlled dismounts. These points are marked using the [[info_ladder_dismount]] entity. While next to and facing one of these markers, the player can press his use key to dismount to the position of the marker (typically when ladders run between more than two floors). If he has reached one of the ends of the ladder, he can also simply walk off the ladder by facing one of the markers nearby and walking forward.
+
Также, вы можете задать точки схода с лестницы ''(см. Рис. 2)''. Они создаются с помощью энтити [[info_ladder_dismount]]. Во время лазания игрок может сойти, нажав клавишу использования (обычно так делается, когда лестница выше двух этажей). В данном же случае игрок сходит сам, просто достигнув одной из точек.
You can use multiple info_ladder_dismount markers for each dismount place to provide more directions to exit the ladder in.
+
Вы можете использовать несколько маркеров info_ladder_dismount, чтобы задавать больше направлений схода с лестницы.
  
To avoid possible confusion between nearby ladders using different dismount markers, each info_ladder_dismount entity has a property value called ''LadderName'' which can be used to contain the name of the ladder it belongs to.
+
Чтобы избежать возможной путаницы между соседними лестницами, каждая info_ladder_dismount имеет параметр, называемый ''LadderName'', который связывает точку с конкретной лестницей.
  
Like the ladder volume, the dismount points must be free of obstruction and allow the player to stand at their position without intersecting solid world geometry.<br style="clear:left;"/>
+
Как и в случае с лестницей, точки схода не должны пересекаться с геометрией карты.<br style="clear:left;"/>
  
=== In-game testing ===
+
=== Полевые испытания ===
  
Once you have created your ladders, you can compile your map and test them. If you wish, you can also display the ladder entities in-game along with some debug information by opening the console and typing <code>sv_showladders 1</code> to enable this, and then load or reload (by typing <code>restart</code>) the map you wish to view.
+
После того, как вы создали лестницу, то можете скомпилировать карту и протестировать её. Если хотите, то в игре можно увидеть энтити лестниц вместе с отладочной информацией, введя в консоли <code>sv_showladders 1</code>, а затем загрузив или перезагрузив нужную карту (введя <code>restart</code>).
This will show you all the start and end points of the ladders (func_useableladder and func_ladderendpoint entities), as well as the dismount points (info_ladder_dismount entities) ''(см. Рис. )'', and can help you determine if these entities are set up properly, if ladder entities are colliding with solid world geometry or the prop model of the ladder itself ''(см. Рис. )'', and which func_ladderendpoint entities connect to each other.
+
Будут показаны все начальные и конечные точки лестниц (энтити func_useableladder и func_ladderendpoint), а также точки схода (энтити info_ladder_dismount) ''(См. Рис. 3a)'', что поможет вам определить, правильно ли настроены эти энтити, пересекаются ли они с твёрдой геометрией или моделями лестниц ''(см. Рис. 3b)'', а также соединяются ли энтити func_ladderendpoint друг с другом.
  
 
{| border=0 cellspacing=0 cellpadding=0
 
{| border=0 cellspacing=0 cellpadding=0
| [[Image:hammer_ladders5.jpg|frame|left|Рис. 3а - Как лестницы выглядят в игре (с командой консоли <code>sv_showladders 1</code>)]]
+
| [[Image:hammer_ladders5.jpg|frame|left|Рис. 3a – Визуализация в игре (<code>sv_showladders 1</code>)]]
| [[Image:hammer_ladders6.jpg|frame|left|Рис. 3б - Конечная точка лестницы "застряла" в полу]]
+
| [[Image:hammer_ladders6.jpg|frame|left|Рис. 3b – Конечная точка застряла в полу]]
 
|}
 
|}
  
=== How ladders work in-game ===
+
=== Как лестница работает в игре ===
 +
 
 +
Самый безопасный способ взобраться по лестнице в Half-life 2 – это подойти к её невидимой зоне, и в пределах досягаемости нажать клавишу использования. Это автоматически поставит игрока на лестницу. (Если же просто ходить возле лестницы, то есть большой риск упасть.)
  
The safest way to mount a ladder in Half-life 2 is to approach its invisible ladder volume and within reaching distance press the use key. This will automatically position you on the ladder. (You can also walk into the ladder volume, with greater risk of missing it and falling down any hole.)
+
Чтобы сойти с лестницы, вы всегда можете спрыгнуть или нажать клавишу использования. Если у лестницы имеются info_ladder_dismounts, вы легко спешитесь на её концах.
  
To dismount a ladder you can always either jump off, or press your use key. If the ladder has info_ladder_dismounts, you can also simply walk off from its endpoints, and pressing your use key while next to and facing an info_ladder_dismount will also allow more controlled dismounts anywhere on the ladder.
+
== Лестницы для Counter Strike: Source, Day of Defeat: Source и Garry's Mod ==
  
== Ladders for Counter Strike: Source and Day of Defeat: Source ==
+
Перед объектом/брашем, который должен быть лестницей, как можно ближе нарисуйте ещё один браш, но так, чтобы они не касались. Убедитесь, что ширина/высота поверхности соответствует объекту-лестнице. Покройте этот браш материалом '''tools/toolsinvisibleladder''' и преобразуйте в энтитю (CTRL+T). В диалоге Object Properties выберите [[func_ladder]]. Теперь у вас есть поверхность-лестница в передней части объекта/браша.
Create another brush in front of the object/brush you want to be climbable, as close as you can to it, but without touching it. Make sure that the face is the same width/height as the climbable object. Assign the material '''tools/toolsinvisibleladder''' to this brush and then tie it to an entity (CTRL+T). Select [[func_ladder]] from the Object Properties dialog. You now have a climbable face which is in front of the object/brush.
 
  
 
{| border=0 cellspacing=0 cellpadding=0
 
{| border=0 cellspacing=0 cellpadding=0
| [[Image:Cssladderprop01a.png|frame|left|Fig. 4 - [[func_ladder]] textured with '''tools/toolsinvisibleladder''' in front of a [[prop_static]] ladder.]]
+
| [[Image:Cssladderprop01a.png|frame|left|Рис. 4 - [[func_ladder]] с текстурой '''tools/toolsinvisibleladder''' перед лестницей [[prop_static]].]]
 
|}
 
|}
  
While on a ladder in CS:S your shooting accuracy will be significantly reduced.
+
Когда вы стоите на лестнице в CS:S, точность вашей стрельбы значительно снижается.
  
The similar ladders using in Half-Life 1, but there is '''AAATRIGGER''' texture used instead of '''tools/toolsinvisibleladder'''.
+
Подобные лестницы используются в Half-Life 1, но они покрыты текстурой '''AAATRIGGER''' вместо '''tools/toolsinvisibleladder'''.
  
 
== Лестницы для Counter Strike: Global Offensive ==
 
== Лестницы для Counter Strike: Global Offensive ==
Create a brush in front of the object/brush you want to be climbable, as close as you can to it, but without touching it. Make sure that the face is the same width/height as the climbable object. Assign the material 'tools/toolsinvisibleladder' to this brush.  
+
См.:
 
+
* [[Creating_Ladders_(CSGO)]]
{| border=0 cellspacing=0 cellpadding=0
 
| [[Image:CSGO_Ladder.PNG|thumb|600px|left|Fig. 5 - [[Brush | World Brush]] textured with 'tools/toolsinvisibleladder' in front of a [[prop_static]] ladder.]]
 
|}
 
  
Note that you '''MUST NOT''' tie it to a [[func_ladder]], just leave it as a world brush You now have a climbable face which is in front of the object/brush.
+
== Лестницы для Left 4 Dead & Left 4 Dead 2 ==
 +
Читайте следующие руководства по созданию лестниц для Left 4 Dead & Left 4 Dead 2:
 +
*[[L4D_Level_Design/Ladders|Creating Ladders for the Left 4 Dead series]]
 +
*[[L4D_Level_Design/Versus_Maps#Making_Infected_Ladders_Visible|Creating Infected only Ladders]]
  
== Optimizing Ladders ==
+
== Оптимизация лестниц ==
The ladder props, like every prop_static, default to using [[VPhysics]] for collision detection, which will provide more detailed physics collisions, but in some cases this might not be preferable. In multiplayer maps and very resource demanding maps using VPhysics props costs precious resources, and you might want to sacrifice good physics to avoid potential lag. Here are some good methods to minimize resource cost:
+
По-умолчанию, модели лестниц используют [[VPhysics]], чтобы обеспечить точность соприкосновения, но иногда этого не требуется. В многопользовательских и тяжёлых картах использование моделей с VPhysics отнимает драгоценные ресурсы, и чтобы избежать лагов, хорошей физикой можно пожертвовать. Вот несколько отличных способов, чтобы разгрузить ресурсы:
  
*If the ladder is for HL2 or HL2:DM, and the ladder is straight, the best method depends on whether somebody is going to be able to shoot through the ladder. If they are not (like if the ladder is against a wall) you could simply change the ''Collisions'' keyvalue to ''Use Bounding Box''. If they are, you could change the keyvalue to ''Not Solid'' and place an invisible Clip (''toolsclip'') to detect collision with it instead.
+
*Если это прямая лестница для HL2 или HL2:DM, то лучший способ зависит от того, нужно ли стрелять сквозь неё. Если нет (например, лестница на стене), то просто измените значение ''Collisions'' (столкновения) на ''Use Bounding Box'' (использовать рамку-ограничитель). Если да, то выберите значение ''Not Solid'' (не твёрдый) и поместите брашевый невидимый Clip (''toolsclip''), который будет отвечать за столкновения.
  
*If you are creating a slanting ladder for HL2 or HL2:DM, a bounding box will not rotate with the prop, and will obstruct the climbing system, in which case you are better off making the ladder prop ''Not Solid'' and place an invisible, rotated Clip (''toolsclip'') or Player Clip (''toolsplayerclip'') textured brush alongside the ladder (depending on whether or not somebody is going to be able to shoot through it).
+
*Если это наклонная лестница для HL2 или HL2:DM, рамка-ограничитель не будет поворачиваться вместе с моделью и станет мешать системе подъёма, в этом случае вам нужно сделать модель лестницы ''Not Solid'', и рядом с ней поместить невидимый повёрнутый браш, покрытый текстурой Clip (''toolsclip'') или Player Clip (''toolsplayerclip'') (в зависимости от того, требуется ли стрелять сквозь лестницу).
  
*If the ladder is for a CS:S or DoD:S map, you could change the ''Collisions'' keyvalue to ''Not Solid'' and make the func_ladder brush cover the ladder prop, rotating it if necessary.
+
*Если это лестница для карт CS:S или DoD:S, вам нужно изменить значение ''Collisions'' на ''Not Solid'' и создать браш func_ladder поверх модели лестницы, вращая его по необходимости.
  
In multiplayer maps it's also an understood expectation to be able to move freely parallel to the surface that a ladder covers. When it comes to brush based ladders, you can get away with turning the ladder brush into a non-solid [[func_brush]] to avoid players getting temporarily "stuck" against the side of the ladder, but when it comes to prop ladders, they are often too protruding from the wall to make a player standing inside a ladder believable. In that case you are probably better off using two Player Clip textured wedges at the sides of the prop, guiding the player to the front of the prop.
+
На многопользовательских картах лестницы нужно рисовать так, чтобы можно было свободно лазить параллельно поверхности, вдоль которой они проходят. Брашевые лестницы надо преобразовывать в нетвёрдый [[func_brush]], чтобы избежать временного "застревания" игроков;  модели лестниц зачастую торчат из стены, и когда игрок стоит на такой, это выглядит неправдоподобно. В этом случае лучше использовать два браша с текстурой Player Clip по краям пропа, которые будут выравнивать игрока на модели.
  
If nothing else, you could turn a brush ladder into a [[func_detail]] to avoid unnecessary brush leafs.
+
Если ничего другого, то преобразуйте браш лестницы в [[func_detail]], чтобы он не разрезал листья.
  
== Examples ==
+
== Примеры ==
=== HL2/HL2:DM ===
+
'''HL2/HL2:DM'''
*[http://nudel.omega2k3.de/maps/?s=download&act=view&fileID=21 LaddersHL2.zip] (6k)
+
*[[ladder_simple]] – Префаб с полностью рабочей лестницей.
*[[ladder_simple]] - A prefab containing a complete ladder setup.
+
*[http://nudel.omega2k3.de/maps/?s=download&act=view&fileID=21 LaddersHL2.zip]{{Template:Dead link}} (6k)
 
<!-- SDK nuts has closed. When (and if) these tutorials are ported onto the VDC, please link to them instead!
 
<!-- SDK nuts has closed. When (and if) these tutorials are ported onto the VDC, please link to them instead!
 
*[http://www.sdknuts.net/akg/tutorials/wiseladder.asp HL2 Ladders]
 
*[http://www.sdknuts.net/akg/tutorials/wiseladder.asp HL2 Ladders]
 
-->
 
-->
=== CS:S/DoD:S ===
+
 
 +
'''CS:S/DoD:S'''
 
*[http://type3studios.com/downloads/tutorials/SdkNutsTutorials/LadderCSS.zip LaddersCSS.zip] (7k)
 
*[http://type3studios.com/downloads/tutorials/SdkNutsTutorials/LadderCSS.zip LaddersCSS.zip] (7k)
  
=== L4D2 ===
+
== См. также ==
*[[L4D_Level_Design/Ladders]]
 
 
 
== See also ==
 
 
*[[func_useableladder]]
 
*[[func_useableladder]]
 
*[[func_ladderendpoint]]
 
*[[func_ladderendpoint]]
Line 112: Line 114:
 
*[[func_ladder]]
 
*[[func_ladder]]
  
[[Category:Level Design Tutorials:ru]]
+
[[Category:Level Design Tutorials]]
[[Category:Russian]]
 

Latest revision as of 10:02, 7 June 2020

English Español 简体中文 한국어

Введение

Во всех играх Source имеются лестницы (кроме Team Fortress 2 и Portal 2, где их нет), состоящие из модели или браша, и системы невидимых энтить, расположенных рядом. Эти невидимые энтити и создают видимость того, что игрок взбирается по модели/брашу лестницы.

Видимая часть лестницы

Для её создания вы можете использовать

  • энтитю prop_static с моделью лестницы (например, models\props_c17\metalladder001.mdl), или
  • браш с текстурой лестницы (например, metal/metalladder001a).

Система подъёма

Принцип работы системы подъёма зависит от игры, для которой она предназначена. Лестницы в Half-Life 2 и Half-Life 2: Deathmatch создаются немного не так, как в ранних играх, они стали удобнее для дизайнеров карт и игроков, а лестницы в Counter-Strike: Source и Day of Defeat: Source реализованы также, как в старых играх. Материал по созданию лестниц для Counter-Strike: Source и Day of Defeat: Source, см. ниже.

Энтити лестницы для Half-Life 2 / Half-Life 2 Deathmatch

Вначале нужно определиться с размером лестницы. Это можно сделать двумя способами: с помощью энтити func_useableladder, или устаревшей func_ladderendpoint (которая кратко описана ниже для понимания работы старых карт).

Энтитя func_useableladder разделяется на две под-энтити: начальную и конечную точки (см. рис. 1a). Их позиции можно задавать как в поле значения, так и путём перетаскивания кружка при выделении энтити (см. рис. 1b). Это делается в окне 2D-вида. Начало и конец лестницы могут быть произвольной ориентации и длины (см. рис. 1c). Просто тяните эти точки туда, где должна располагаться лестница.

Рис. 1a – Точки лестницы (используются две func_ladderendpoints)
Рис. 1b – Изменение ориентации
Рис. 1c – Наклон лестницы

Убедитесь, что конечные точки лестницы не касаются её видимого браша, и находятся на расстоянии в паре единиц от него (а таже любого другого браша или модели), иначе часть лестницы может не работать.

Сегодня устаревшая сущность func_ladderendpoint состоит лишь из одной конечной точки. Размер лестницы создаётся путём связывания двух func_ladderendpoints, которые указываются в свойствах.

Точки схода

Рис. 2 – Точки схода

Также, вы можете задать точки схода с лестницы (см. Рис. 2). Они создаются с помощью энтити info_ladder_dismount. Во время лазания игрок может сойти, нажав клавишу использования (обычно так делается, когда лестница выше двух этажей). В данном же случае игрок сходит сам, просто достигнув одной из точек. Вы можете использовать несколько маркеров info_ladder_dismount, чтобы задавать больше направлений схода с лестницы.

Чтобы избежать возможной путаницы между соседними лестницами, каждая info_ladder_dismount имеет параметр, называемый LadderName, который связывает точку с конкретной лестницей.

Как и в случае с лестницей, точки схода не должны пересекаться с геометрией карты.

Полевые испытания

После того, как вы создали лестницу, то можете скомпилировать карту и протестировать её. Если хотите, то в игре можно увидеть энтити лестниц вместе с отладочной информацией, введя в консоли sv_showladders 1, а затем загрузив или перезагрузив нужную карту (введя restart). Будут показаны все начальные и конечные точки лестниц (энтити func_useableladder и func_ladderendpoint), а также точки схода (энтити info_ladder_dismount) (См. Рис. 3a), что поможет вам определить, правильно ли настроены эти энтити, пересекаются ли они с твёрдой геометрией или моделями лестниц (см. Рис. 3b), а также соединяются ли энтити func_ladderendpoint друг с другом.

Рис. 3a – Визуализация в игре (sv_showladders 1)
Рис. 3b – Конечная точка застряла в полу

Как лестница работает в игре

Самый безопасный способ взобраться по лестнице в Half-life 2 – это подойти к её невидимой зоне, и в пределах досягаемости нажать клавишу использования. Это автоматически поставит игрока на лестницу. (Если же просто ходить возле лестницы, то есть большой риск упасть.)

Чтобы сойти с лестницы, вы всегда можете спрыгнуть или нажать клавишу использования. Если у лестницы имеются info_ladder_dismounts, вы легко спешитесь на её концах.

Лестницы для Counter Strike: Source, Day of Defeat: Source и Garry's Mod

Перед объектом/брашем, который должен быть лестницей, как можно ближе нарисуйте ещё один браш, но так, чтобы они не касались. Убедитесь, что ширина/высота поверхности соответствует объекту-лестнице. Покройте этот браш материалом tools/toolsinvisibleladder и преобразуйте в энтитю (CTRL+T). В диалоге Object Properties выберите func_ladder. Теперь у вас есть поверхность-лестница в передней части объекта/браша.

Рис. 4 - func_ladder с текстурой tools/toolsinvisibleladder перед лестницей prop_static.

Когда вы стоите на лестнице в CS:S, точность вашей стрельбы значительно снижается.

Подобные лестницы используются в Half-Life 1, но они покрыты текстурой AAATRIGGER вместо tools/toolsinvisibleladder.

Лестницы для Counter Strike: Global Offensive

См.:

Лестницы для Left 4 Dead & Left 4 Dead 2

Читайте следующие руководства по созданию лестниц для Left 4 Dead & Left 4 Dead 2:

Оптимизация лестниц

По-умолчанию, модели лестниц используют VPhysics, чтобы обеспечить точность соприкосновения, но иногда этого не требуется. В многопользовательских и тяжёлых картах использование моделей с VPhysics отнимает драгоценные ресурсы, и чтобы избежать лагов, хорошей физикой можно пожертвовать. Вот несколько отличных способов, чтобы разгрузить ресурсы:

  • Если это прямая лестница для HL2 или HL2:DM, то лучший способ зависит от того, нужно ли стрелять сквозь неё. Если нет (например, лестница на стене), то просто измените значение Collisions (столкновения) на Use Bounding Box (использовать рамку-ограничитель). Если да, то выберите значение Not Solid (не твёрдый) и поместите брашевый невидимый Clip (toolsclip), который будет отвечать за столкновения.
  • Если это наклонная лестница для HL2 или HL2:DM, рамка-ограничитель не будет поворачиваться вместе с моделью и станет мешать системе подъёма, в этом случае вам нужно сделать модель лестницы Not Solid, и рядом с ней поместить невидимый повёрнутый браш, покрытый текстурой Clip (toolsclip) или Player Clip (toolsplayerclip) (в зависимости от того, требуется ли стрелять сквозь лестницу).
  • Если это лестница для карт CS:S или DoD:S, вам нужно изменить значение Collisions на Not Solid и создать браш func_ladder поверх модели лестницы, вращая его по необходимости.

На многопользовательских картах лестницы нужно рисовать так, чтобы можно было свободно лазить параллельно поверхности, вдоль которой они проходят. Брашевые лестницы надо преобразовывать в нетвёрдый func_brush, чтобы избежать временного "застревания" игроков; модели лестниц зачастую торчат из стены, и когда игрок стоит на такой, это выглядит неправдоподобно. В этом случае лучше использовать два браша с текстурой Player Clip по краям пропа, которые будут выравнивать игрока на модели.

Если ничего другого, то преобразуйте браш лестницы в func_detail, чтобы он не разрезал листья.

Примеры

HL2/HL2:DM

CS:S/DoD:S

См. также