Ru/Cables and Ropes: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
Line 17: Line 17:


== Поведение ==
== Поведение ==
Опорные точки кабеля могут быть помещены в [[Entity_Hierarchy_(parenting)|иерархию]] с другими объектами, и будут двигаться вместе с этими сущностями. В карте-примере, предлагаемой в SDK,  [[func_door|движущаяся дверь]] (искусно замаскированная под шест) задаёт динамическую опорную точку для двух кабелей. Во время движения двери кабели растягивается, сохраняя длину. In addition, a timed [[env_shake]] entity periodically moves all the anchor points, causing the cables to "bounce." These techniques can be a very effective visual tool for adding movement and polish to simple moving pieces in the world.
Опорные точки кабеля могут быть помещены в [[Entity_Hierarchy_(parenting)|иерархию]] с другими объектами, и будут двигаться вместе с этими сущностями. В карте-примере, предлагаемой в SDK,  [[func_door|движущаяся дверь]] (искусно замаскированная под шест) задаёт динамическую опорную точку для двух кабелей. Во время движения двери кабели растягиваются, сохраняя длину. Кроме того, привязанная к таймеру энтитя [[env_shake|тряски]] периодически смещает опорные точки, заставляя кабели "болтаться." Эти методы могут быть очень эффективным визуальным инструментом, чтобы добавлять жизни в мир карты.


It is possible to detach cables from their anchor points, either by a player's direct action or by triggering it to do so. When a cable receives a "Break" input, it will detach itself from the anchor point which received the input. A cable will also detach itself from an anchor point if that point is parented via hierarchy to an entity which is killed. In the sample map provided in the SDK, add a weapon_crowbar entity to the map. The tattered pole (a [[func_breakable]]) on the left-most side of the map can be broken with the crowbar. When the pole breaks, it triggers a "Break" output to the anchor point at its top and the cable attached to it will fall to the ground.
Кабели можно отсоединять от опорных точек непосредственно действиями игрока, или запрограммированными ситуациями. Когда ввод опорной точки получает сигнал "Break", кабель отвязывается от неё. Также, кабель оторвётся от опорной точки, если иерархически связанная с ней энтитя будет убита. В карту-пример SDK добавьте ломик weapon_crowbar. Теперь можно разбить ломаный шест  ([[func_breakable|разбиваемый объект]]), расположенный слева. После того, как шест разобьётся, включится вывод "Break", который заставит опорную точку кабеля упасть с шеста на землю.


By default, cables are not solid and will pass through world geometry. In some cases (especially when cables are broken), this can be visually unacceptable. By using the "Collide With World" setting on the entity, the cable can be made to collide with world geometry. Because this makes the cable more expensive, this setting is only recommended for cables that exhibit the problem of penetrating the world.
По-умолчанию, кабели не являются твёрдыми объектами, и проходят сквозь геометрию мира. В некоторых случаях (особенно при обрыве кабеля), это будет визуально неприемлемо. С помощью настройки  "Collide With World", кабель можно сделать сталкивающимся с геометрией. Но поскольку это утяжеляет визуализацию, включать её рекомендуется только тогда, когда существует реальная проблема проникновения в мир.


== Example maps ==
== Example maps ==

Revision as of 02:07, 28 March 2016

Template:Otherlang2

Кабели обеспечивают простой способ добавить сцене движение и сложность при относительно небольших затратах ресурсов. Кабели могут быть протянуты между движущимися объектами и использованы в качестве видимых физических ограничителей (пружины, ограничители длины, и т.д.). Они могут колыхаться или обрываться согласно событиям на карте.

Template:Note:ru

Расстановка

Кабель протянут между двумя точками в Hammer.

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

Template:Warning:ru

Внешний вид

Когда кабели протянуты между двумя точками, они имеют некоторое количество "провисаний", то есть изгибов. Провисание помогает придавать кабелям большее ощущение движения и правдоподобности. Значение, введённое в соответствующее поле энтити предписывает, сколько "лишнего" кабеля будет висеть между точками. Чем больше задано число, тем длиннее будет кабель, и тем больше он будет провисать. Если одна из конечных точек кабеля удаляется, то провисание не пересчитывается, и он будет натягиваться. Аналогично, если точки сближаются, то тугой кабель начнёт свисать. (ПРИМЕЧАНИЕ: Энтитя keyframe_rope имеет флажок 'Auto Resize', который включает перерасчёт длины кабеля в реальном времени. Это чрезвычайно полезно для таких вещей, как подъёмный кран с грузом или противовес лифта.) Каждый раз при вводе нового значения, Хаммер обновляет картинку длины кабеля, и вы будете видеть его так, как он будет выглядеть в игре.

Поведение

Опорные точки кабеля могут быть помещены в иерархию с другими объектами, и будут двигаться вместе с этими сущностями. В карте-примере, предлагаемой в SDK, движущаяся дверь (искусно замаскированная под шест) задаёт динамическую опорную точку для двух кабелей. Во время движения двери кабели растягиваются, сохраняя длину. Кроме того, привязанная к таймеру энтитя тряски периодически смещает опорные точки, заставляя кабели "болтаться." Эти методы могут быть очень эффективным визуальным инструментом, чтобы добавлять жизни в мир карты.

Кабели можно отсоединять от опорных точек непосредственно действиями игрока, или запрограммированными ситуациями. Когда ввод опорной точки получает сигнал "Break", кабель отвязывается от неё. Также, кабель оторвётся от опорной точки, если иерархически связанная с ней энтитя будет убита. В карту-пример SDK добавьте ломик weapon_crowbar. Теперь можно разбить ломаный шест (разбиваемый объект), расположенный слева. После того, как шест разобьётся, включится вывод "Break", который заставит опорную точку кабеля упасть с шеста на землю.

По-умолчанию, кабели не являются твёрдыми объектами, и проходят сквозь геометрию мира. В некоторых случаях (особенно при обрыве кабеля), это будет визуально неприемлемо. С помощью настройки "Collide With World", кабель можно сделать сталкивающимся с геометрией. Но поскольку это утяжеляет визуализацию, включать её рекомендуется только тогда, когда существует реальная проблема проникновения в мир.

Example maps

  • sdk_cables.vmf

TWHL example maps

See also