Func tracktrain (Source)

Материал из CSM Wiki
Перейти к навигации Перейти к поиску

Оригинал Func_tracktrain

Описание

Объект func_tracktrain используется для создания движущейся платформы. Платформа может двигаться только по заданной траектории, которая строится при помощи объектов path_track.

Особенности использования

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект должен быть установлен там, где будет использоваться.
  • На карте может быть установлено множество этих объектов
  • Объект НЕ отбрасывает Lightmap-тени и динамические тени.
  • Если у объекта есть родитель, то объект не может управляться игроками при помощи клавиши "Использовать".

Ошибки

Чтобы платформа была правильно повёрнута в направлении траектории своего движения, необходимо создавать платформу так, чтобы на виде сбоку [side (x/z)] "нос" платформы "смотрел" вправо или другими словами - в направлении оси X.

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

Параметры

  • Team Num – команда к которой принадлежит этот объект (Нет/Террористы/Контр-Террористы); если игрок и этот объект находятся в одной команде, то игрок не сможет наносить визуальный урон объекту если на сервере mp_friendlyfire равно 0; (см. фильтр filter_activator_team);
  • First Stop Target – имя объекта path_track с которого платформа начнёт своё движение; платформа будет телепортирована на место этого объекта в начале каждого раунда;
  • Initial Speed – скорость которую будет иметь платформа в начале каждого раунда; если значение этого свойства не равно 0, то платформа будет самостоятельно начинать движение в начале каждого раунда;
  • Max Speed – максимальная скорость движения платформы;
  • Change Speed – метод изменения скорости движения платформы в процессе своего движения:
    • Instantaneously – скорость постоянна и не меняется;
    • Linear blend – начать изменять скорость заранее;
    • Ease in/ease out – начать потихоньку менять скорость заранее, и чем ближе к нужному мету, тем сильнее изменять скорость;
  • Change Angles – метод поворачивания платформы в процессе своего движения:
    • Never (fixed orientation) – строгая ориентация в направлении движения; при этом резко изменяется направление движения на поворотах;
    • Near path_tracks – поворачиваться в точках размещения объектов path_tracks; при этом платформа останавливается и не продолжает своего движения до тех пор, пока не выровняет свой курс;
    • Linear blend – поворачивать заранее; при этом платформа начнёт поворачиваться до того, как достигнет поворота;
    • Ease in/ease out – начать потихоньку поворачиваться заранее, и чем ближе к повороту, тем сильнее поворачиваться;
  • Distance Between the Wheels – мнимое расстояние между "осями колёс" платформы; используется при поворотах и остановках; угол, на который повёрнута платформа, направлен вдоль прямой, соединяющей две точки; обе эти точки находятся на траектории движения; первая точка находится в том месте, в котором находится сама платформа, а вторая точка располагается дальше на траектории и удалена от первой на расстояние "Distance Between the Wheels"; уместно ставить значение этого свойства не больше длины самой платформы;
  • Height above Track – высота над траекторией движения, на которой будет двигаться платформа;
  • Bank Angle on Turns – угол на который при поворотах может наклоняться платформа;
  • Start Sound – звук, который воспроизводится вначале движения платформы (выбирается в Sound Resource Browser);
  • Move Sound – звук, который воспроизводится в процессе движения платформы (выбирается в Sound Resource Browser);
  • Stop Sound – звук, который воспроизводится при остановках платформы (выбирается в Sound Resource Browser);
  • Sound Volume – (от 0.0 до 1.0) громкость звуков "Start Sound" и "Stop Sound";
  • Min Sound Pitch (1-255) – минимальная скорость воспроизведения звуков платформы кроме звука "Move Ping Sound"; 100 – нормальная скорость;
  • Max Sound Pitch (1-255) - максимальная скорость воспроизведения звуков платформы кроме звука "Move Ping Sound"; 100 – нормальная скорость;
  • Move Ping Sound – звук, который периодически воспроизводится в процессе движения платформы через интервал времени от "Min Ping Sound Interval" до "Max Ping Sound Interval" (выбирается в Sound Resource Browser); чем быстрее движется платформа, тем чаще воспроизводится этот звук; чтобы звук был правильной громкости, его стоит выбирать из списка "Game Sounds", а если выбрать RAW-файл, то звук будет выводиться в общий звуковой канал и будет слышен на всей карте;
  • Min Ping Sound Interval – минимальный интервал времени между повторами звука "Move Ping Sound"; звук "Move Ping Sound" будет повторяться через этот интервал времени когда платформа будет двигаться со своей максимальной скоростью;
  • Max Ping Sound Interval – максимальный интервал времени между повторами звука "Move Ping Sound"; звук "Move Ping Sound" будет повторяться через этот интервал времени когда платформа будет двигаться со своей минимальной скоростью;
  • Block Damage – повреждения, наносимые платформой тому объекту или игроку, который будет мешать движению платформы;
  • Render Mode – режим рендеринга объекта;
  • FX Color (R G B) – цвет объекта;
  • FX Alpha (0-255) – прозрачность объекта; 255 – полностью не прозрачен; 0 - полностью прозрачен; не используется если свойство "Render Mode" равно "Normal" или "Don’t Render";
  • Render FX – эффект рендеринга объекта; например: мигание, плавное появление/исчезновение и т.п.;
  • Disable Receiving Shadows – отключить динамические тени от других объектов на этом объекте;
  • Minimum Light Level – минимальный уровень освещённости этого объекта; высокое значение этого свойства приведёт к тому, что объект станет очень ярким, будет хорошо заметен в темноте и на нём не будут различаться Lightmap-тени от других объектов; используется только в процессе компиляции карты;
  • Origin (X Y Z) – точка опоры объекта (указывается при помощи Helper’а). при помощи этой точки указывается смещение объекта относительно траектории движения.

Флаги

  • No Pitch (X-rot) – не поднимать "нос" платформы, если платформа движется вверх;
  • No User Control – игроки не могут управлять платформой; если не установить этот флажок, то игроки смогут управлять платформой используя клавишу "Использовать", и при этом нажимать клавиши "Вперёд" и "Назад", для регулирования скорости движения платформы;
  • Not Solid – объект не имеет физической модели и не будет сталкиваться с другими объектами и препятствовать их движению.
  • Fixed Orientation – платформа всегда будет повёрнута так, как она была повёрнута в редакторе Hammer;
  • Use BSP instead of VPhysics – использовать модель столкновений BSP вместо VPhysics;
  • Use 'Max Speed' for Sound Pitch – использовать значение свойства "Max Speed" для расчёта скорости воспроизведения звука; если этот флажок не установлен, то для расчёта скорости воспроизведения звуков вместо значения свойства "Max Speed" будет использоваться стандартное значение равное 1000;
  • Is Unblockable by Player – игрок не может заблокировать платформу.

Inputs

  • Stop – остановить платформу; платформа моментально останавливается;
  • Resume – возобновить движение платформы;
  • Reverse – изменяет направление движения платформы на противоположное;
  • Toggle – в зависимости от скорости движения платформы, поочерёдно вызываются функции "Stop" и "Resume";
  • SetTeam <integer> - установить новое значение свойства "Team Num"; 2 – Террористы; 3 – Контр-Террористы;
  • SetSpeed <float> – (от 0.0 до 1.0) изменить текущую скорость движения платформы относительно максимальной скорости платформы; 0.5 – половина от максимальной скорости платформы;
  • SetSpeedDir <float> – (от -1.0 до 1.0) изменить текущую скорость движения платформы относительно максимальной скорости платформы; -0.5 – половина от максимальной скорости платформы при движении в обратную сторону;
  • SetSpeedReal <float> – изменяет текущую скорость движения платформы; допустимы значения от 0 до "Max Speed";
  • StartForward – запустить платформу вперёд;
  • StartBackward – запустить платформу назад;
  • Color <R G B> - установить новое значение свойства "FX Color";
  • Alpha <integer> – (от 0 до 255) установить новое значение свойства "FX Alpha";

Карта

csssdk_func_tracktrain.vmf

Используются объекты

  • func_tracktrain
  • func_button
  • func_detail
  • path_track
  • logic_compare
  • logic_branch
  • prop_dynamic
  • infodecal

Описание карты

На этой карте рассмотрено два наиболее распространённых способа использования объекта func_tracktrain – это лифт и тележка.

Лифт был создан как обычная плита, передвигающаяся вверх и вниз. Кнопки лифта размещены на этажах, которых было сделано три. На каждом этаже по три кнопки. Одна – большая, вызывающая лифт на этот этаж, и две маленькие, отправляющие лифт на другие этажи. Изначально лифт находится на втором этаже, поэтому нужно нажать на большую кнопку первого этажа, чтобы вызвать лифт вниз. Принцип действия механизма управления лифтом достаточно не простой. Тут используется объект logic_compare, чтобы определять на каком этаже находится лифт и куда ему нужно двигаться, чтобы достичь нужного этажа – назад или вперёд. А так же используется объект logic_branch, который запрещает игрокам изменять направления движения лифта, когда лифт находится в движении. Когда игрок нажимает на большую кнопку первого этажа, это выполняет действие logic_compare->CompareValue=1, после чего происходит сравнение значений объекта logic_compare, и в зависимости от того, где находится лифт – ниже и ли выше нужного пункта, лифт будет двигаться вверх или вниз. При достижении лифтом первого этажа выполняется действие logic_compare->Value=1, и сравниваются свойства "CompareValue" и "Value" объекта logic_compare. Если их значения равны, то лифт останавливается, а если нет, то лифт продолжает движение. Принцип действия остальных кнопок лифта идентичен описанному. На этой карте представлен самый простой способ создания "многоэтажного" лифта. Такой лифт не застревает, не "ошибается", учитывает человеческий фактор, максимально прост, легко настраивается и легко расширяется, позволяя без особых усилий быстро добавить на карту ещё пару-тройку точек остановки лифта (этажей). Обратите внимание, что лифт может раздавить игрока, если игрок заблокирует движение лифта.

Тележка является более ярким примером использования объекта func_tracktrain, потому что именно для этих целей он и был создан – передвигать вагоны по рельсам, хорошо известным игрокам ещё с первой части игры Half-Life. Так же как и лифт, тележка может быть построена в любой части карты, а в начале каждого раунда будет телепортирована к объекту path_track, указанному в свойстве "First Stop Target". Обратите внимание, что декаль крови infodecal, размещённая на платформе func_tracktrain не сохраняется и в начале каждого раунда исчезает. Управлять тележкой гораздо проще, чем лифтом. Для этого был снят флажок "No User Control", благодаря чему игроки могут управлять платформой используя клавиши управления. Встаньте на платформу и нажмите клавишу "Использовать". С этого момента вы не сможете двигаться, пока снова не нажмёте клавишу "Использовать". Нажимайте клавиши движения "Вперёд" и "Назад" для регулирования скорости движения тележки. Можно разогнать тележку и спрыгнуть с неё. Во время движения, тележка периодически издаёт звуки "тикающей" бомбы C4. Этот звук указан в свойстве "Move Ping Sound".

Траектория движения лифта и тележки построены из объектов path_track. Соединяясь вместе, они могут образовывать довольно сложные ветвистые траектории, благодаря их свойству "Branch Path", определяющему альтернативную траекторию движения. Обратите внимание, что если для тележки не поставить флажок "Is Unblockable by Player", то тележка на поворотах будет блокироваться игроком, стоящим на ней.

Смотрите также