Ru/Cables and Ropes: Difference between revisions
m ("не плотные" плохо звучит)) |
mNo edit summary |
||
(9 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{lang|Cables and Ropes|title=Кабели и верёвки}} | ||
|title=Кабели и верёвки | {{Abstract Mapping}} | ||
__NOTOC__ | |||
'''Кабели''' обеспечивают простой способ добавить сцене движение и сложность при относительно небольших затратах ресурсов. Кабели могут быть протянуты между движущимися объектами и использованы в качестве видимых физических ограничителей (пружины, ограничители длины, и т.д.). Они могут колыхаться или обрываться согласно событиям на карте. | '''Кабели''' обеспечивают простой способ добавить сцене движение и сложность при относительно небольших затратах ресурсов. Кабели могут быть протянуты между движущимися объектами и использованы в качестве видимых физических ограничителей (пружины, ограничители длины, и т.д.). Они могут колыхаться или обрываться согласно событиям на карте. | ||
{{ | {{Note|Кабели ''не'' соприкасаются с объектами, разве что вы не сделаете их такими. Чтобы остановить объект кабелем, нужен физический ограничитель. Подробнее ниже.}} | ||
== Расстановка == | == Расстановка == | ||
[[ | [[File:hammer_cables.jpg|frame|Кабель протянут между двумя точками в Hammer.]] | ||
Кабели тянутся по карте с помощью | Кабели тянутся по карте с помощью энтити {{ent|move_rope}} и {{ent|keyframe_rope}}. Сперва, в нужную опорную точку поместите энтити <code>move_rope</code>, это будет начало верёвки. Затем, во вторую опорную точку поместите <code>keyframe_rope</code>. В поле "Next Keyframe" энтити <code>move_rope</code> впишите имя энтити <code>keyframe_rope</code>. Теперь вы видите линию, приблизительно показывающую проложенный между двумя точками кабель. Клонирование <code>keyframe_rope</code> автоматически задаёт имя новой энтите. Используя этот способ, вы сможете быстро проложить кабель между несколькими точками (например, ЛЭП). | ||
{{warning | {{warning|Не клонируйте <code>move_rope</code>, Хаммеру это не нравится, и он может закрыться.}}{{clr}} | ||
== Внешний вид == | == Внешний вид == | ||
Line 17: | Line 16: | ||
== Поведение == | == Поведение == | ||
Опорные точки кабеля могут быть помещены в | Опорные точки кабеля могут быть помещены в {{L|Entity Hierarchy (parenting)|иерархию}} с другими объектами, и будут двигаться вместе с этими сущностями. В карте-примере, предлагаемой в SDK, {{L|func_door|движущаяся дверь}} (замаскированная под шест) задаёт динамическую опорную точку для двух кабелей. Во время движения двери кабели растягиваются, сохраняя длину. Кроме того, привязанная к таймеру энтитя {{L|env_shake|тряски}} периодически смещает опорные точки, заставляя кабели "болтаться." Эти методы могут быть очень эффективным визуальным инструментом, чтобы добавлять жизни в мир карты. | ||
Кабели можно отсоединять от опорных точек непосредственно действиями игрока, или запрограммированными ситуациями. Когда ввод опорной точки получает сигнал "Break", кабель отвязывается от неё. Также, кабель оторвётся от опорной точки, если иерархически связанная с ней энтитя будет убита. В карту-пример SDK добавьте ломик weapon_crowbar. Теперь можно разбить ломаный шест ( | Кабели можно отсоединять от опорных точек непосредственно действиями игрока, или запрограммированными ситуациями. Когда ввод опорной точки получает сигнал "Break", кабель отвязывается от неё. Также, кабель оторвётся от опорной точки, если иерархически связанная с ней энтитя будет убита. В карту-пример SDK добавьте ломик weapon_crowbar. Теперь можно разбить ломаный шест ({{L|func_breakable|разбиваемый объект}}), расположенный слева. После того, как шест разобьётся, включится вывод "Break", который заставит опорную точку кабеля упасть на землю. | ||
По-умолчанию, кабели не являются твёрдыми объектами, и проходят сквозь геометрию мира. В некоторых случаях (особенно при обрыве кабеля), это будет визуально неприемлемо. С помощью настройки "Collide With World", кабель можно сделать сталкивающимся с геометрией. Но поскольку это утяжеляет визуализацию, включать её рекомендуется только тогда, когда существует реальная проблема проникновения в мир. | По-умолчанию, кабели не являются твёрдыми объектами, и проходят сквозь геометрию мира. В некоторых случаях (особенно при обрыве кабеля), это будет визуально неприемлемо. С помощью настройки "Collide With World", кабель можно сделать сталкивающимся с геометрией. Но поскольку это утяжеляет визуализацию, включать её рекомендуется только тогда, когда существует реальная проблема проникновения в мир. | ||
Line 27: | Line 26: | ||
=== Карты-примеры TWHL === | === Карты-примеры TWHL === | ||
* [ | * [https://twhl.co.za/mapvault_map.php?id=3920 A counter-weighted door] | ||
* [ | * [https://twhl.co.za/mapvault_map.php?id=3924 Cable shakes on blast] | ||
== См. также == | == См. также == | ||
* | * {{L|Cables on Models}} - Размещение кабеля на моделях. | ||
* | * {{ent:ru|phys_lengthconstraint}} - энтитя, которая подвешивает объект на не растягивающемся тросе. | ||
* | * {{ent:ru|phys_pulleyconstraint}} - энтитя, которую используют для создания шкива. | ||
* | * {{ent:ru|phys_spring}} - энтитя, которую используют для создания эластичного, пружинящего кабеля. | ||
* | * {{L|WiseWind}} - Продуваемая ветром линия электропередач | ||
* | * {{L|Hanging lamps}} - урок, как создавать подвесной светильник. | ||
* | * {{L|Suspended Object Trap}} - урок, как создавать ловушку с объектом, подвешенным на верёвке. | ||
{{ACategory|Level Design}} |
Latest revision as of 08:54, 25 May 2025
Серия Воссоздание окружающей обстановки Выскажите свои мысли — Помогите нам воплотить больше идей |
---|
Снаряжение | Животные и существа | Муравьиные львы | Лучи и лазеры | Кабели и верёвки | Движущиеся облака | Теория цвета | Битвы | Комбайны | Сжатие ресурсов | Двери | Пыль, туман и дым | Лифты | Переключение карт | Внешнее освещение, солнце, погода и окружение | Взрывы | Огонь | Растительность | Стекло и окна | Хэдкраб | Жизнеспособность | Лестницы | Освещение | Оптимизация | Физические объекты | Сканеры сетчатки | Звук и музыка | Спецэффекты | Ландшафт | Поезда | Турели | Вода | Оружие | Зомби |
Кабели обеспечивают простой способ добавить сцене движение и сложность при относительно небольших затратах ресурсов. Кабели могут быть протянуты между движущимися объектами и использованы в качестве видимых физических ограничителей (пружины, ограничители длины, и т.д.). Они могут колыхаться или обрываться согласно событиям на карте.

Расстановка
Кабели тянутся по карте с помощью энтити move_rope и keyframe_rope. Сперва, в нужную опорную точку поместите энтити move_rope
, это будет начало верёвки. Затем, во вторую опорную точку поместите keyframe_rope
. В поле "Next Keyframe" энтити move_rope
впишите имя энтити keyframe_rope
. Теперь вы видите линию, приблизительно показывающую проложенный между двумя точками кабель. Клонирование keyframe_rope
автоматически задаёт имя новой энтите. Используя этот способ, вы сможете быстро проложить кабель между несколькими точками (например, ЛЭП).

move_rope
, Хаммеру это не нравится, и он может закрыться.Внешний вид
Когда кабели протянуты между двумя точками, они имеют некоторое количество "провисаний", то есть изгибов. Провисание помогает придавать кабелям большее ощущение движения и правдоподобности. Значение, введённое в соответствующее поле энтити предписывает, сколько "лишнего" кабеля будет висеть между точками. Чем больше задано число, тем длиннее будет кабель, и тем больше он будет провисать. Если одна из конечных точек кабеля удаляется, то провисание не пересчитывается, и он будет натягиваться. Аналогично, если точки сближаются, то тугой кабель начнёт свисать. (ПРИМЕЧАНИЕ: Энтитя keyframe_rope имеет флажок 'Auto Resize', который включает перерасчёт длины кабеля в реальном времени. Это чрезвычайно полезно для таких вещей, как подъёмный кран с грузом или противовес лифта.) Каждый раз при вводе нового значения, Хаммер обновляет картинку длины кабеля, и вы будете видеть его так, как он будет выглядеть в игре.
Поведение
Опорные точки кабеля могут быть помещены в иерархию с другими объектами, и будут двигаться вместе с этими сущностями. В карте-примере, предлагаемой в SDK, движущаяся дверь (замаскированная под шест) задаёт динамическую опорную точку для двух кабелей. Во время движения двери кабели растягиваются, сохраняя длину. Кроме того, привязанная к таймеру энтитя тряски периодически смещает опорные точки, заставляя кабели "болтаться." Эти методы могут быть очень эффективным визуальным инструментом, чтобы добавлять жизни в мир карты.
Кабели можно отсоединять от опорных точек непосредственно действиями игрока, или запрограммированными ситуациями. Когда ввод опорной точки получает сигнал "Break", кабель отвязывается от неё. Также, кабель оторвётся от опорной точки, если иерархически связанная с ней энтитя будет убита. В карту-пример SDK добавьте ломик weapon_crowbar. Теперь можно разбить ломаный шест (разбиваемый объект ), расположенный слева. После того, как шест разобьётся, включится вывод "Break", который заставит опорную точку кабеля упасть на землю.
По-умолчанию, кабели не являются твёрдыми объектами, и проходят сквозь геометрию мира. В некоторых случаях (особенно при обрыве кабеля), это будет визуально неприемлемо. С помощью настройки "Collide With World", кабель можно сделать сталкивающимся с геометрией. Но поскольку это утяжеляет визуализацию, включать её рекомендуется только тогда, когда существует реальная проблема проникновения в мир.
Карта-пример
sdk_cables.vmf
Карты-примеры TWHL
См. также
- Cables on Models - Размещение кабеля на моделях.
- phys_lengthconstraint - энтитя, которая подвешивает объект на не растягивающемся тросе.
- phys_pulleyconstraint - энтитя, которую используют для создания шкива.
- phys_spring - энтитя, которую используют для создания эластичного, пружинящего кабеля.
- WiseWind - Продуваемая ветром линия электропередач
- Hanging lamps - урок, как создавать подвесной светильник.
- Suspended Object Trap - урок, как создавать ловушку с объектом, подвешенным на верёвке.