env_model отображает модель
на карте модификации Spirit of Half-Life (а также H-L Red Alert)
Обновлено 26.10.2011
env_model вставляет любую модель на карту Spirit of Half-Life.
Используется также в моде H-L Red Alert Exp и некоторых других. Создан, чтобы дополнить возможности monster_furniture
(модель сваливается на пол или ближайший снизу блок) и cycler (вставляет непроходимую модель).
А env_model отображает проходимую модель, которую можно включить или выключить, что позволяет
управлять анимацией модели без вызова scripted_sequence. Она не подвержена влиянию повреждений, а
если это всё-таки требуется, то вызывайте env_model из повреждаемых объектов. К тому же тут легко
изменить мастшаб модели, текстурную группу и номер подмодели (бодигруппу).
Для сравнения: monster_furniture реагирует на взрыв, дёргаясь и испуская белые
кляксы. Зато её движениями можно управлять с помощью вызова из scripted_sequence.
Cycler реагирует на каждое повреждение теми же разлетающимися белыми кляксами и сменой
проигрывания на следующее движение. К тому же Cycler создаёт невидимый непроходимый (и
непростреливаемый) параллелепипед, который соответствует габаритам модели.
Параметры env_model:
- Name/Имя/targetname (string) — имя для обращения к ней других объектов,
- Pitch Yaw Roll (Y Z X)/Наклон Азимут Крен (Y Z X)/angles (string) — углы наклона вперёд (отрицательный — назад), поворота и крена в градусах (по умолчанию =0 0 0),
- Render FX/renderfx — параметр отображения,
- Render Mode/rendermode — параметр отображения,
- FX Amount (1 - 255)/renderamt — прозрачность отображения,
- FX Color (R G B)/rendercolor — цвет отображения,
- Moves with/Двигаться вместе с/movewith* — имя объекта, вместе с которым будет двигаться env_model. Подробнее в статье про совместное перемещение объектов,
- Model name/Файл модели/model — главный параметр, он задаёт файл модели с путём из корневой папки мода. Например: models/lampa.mdl
- Skin/Текстурная группа/skin (integer) — номер текстурной группы у модели. К примеру модель банки с газировкой "models/can.mdl" имеет 6 текстурных групп от 0 до 5. По умолчанию =0.
- Body/Подмодель/body (integer) — номер подмодели у модели (по умолчанию =0).
- Scale (1.0 = normal size)/Масштаб (1.0 = нормальный размер)/scale (string) — масштаб модели. Например, =0,5 — в 2 раза меньше (только редактор может не воспринять запятую как дробный разделитель, ставьте точку), а =2 — в 2 раза больше исходного размера. По умолчанию =1.
- Sequence when on/Движение, когда включена/m_iszSequence_On (string) — задаёте название движения модели, когда env_model включена,
- Behaviour when on/Поведение при вкл./m_iAction_On — варианты поведения во включённом состоянии:
- 0 = Freeze when sequence ends — проиграть движение раз и застыть,
- 1 = Loop — повторять движение бесконечно,
- 2 = Change state when sequence ends — выключиться (изменить состояние), когда движение проиграется;
- Sequence when off/Движение, когда выключена/m_iszSequence_Off (string) — задаёте название движения модели, когда env_model выключена,
- Behaviour when off/Поведение при выкл./m_iAction_Off — варианты поведения в выключенном состоянии:
- 0 = Freeze when sequence ends — проиграть движение раз и застыть,
- 1 = Loop — зациклить движение,
- 2 = Change state when sequence ends — включиться, когда движение проиграется;
- Effects/Эффекты — спецеффекты отображения в диапазоне значений от 0 до 255. Значение каждого бита отвечает за отдельный эффект:
- 0 = спецэффекты отключены и модель выглядит как обычно,
- 1 (двоич. 1) = вокруг модели клубятся жёлтые блямбы — используется для тестового обозначения объекта,
- 2 (двоич. 10) = однокадровый свет ELIGHT на нулевой привязке (attachment-е) объекта, как сделано у объекта xen_plantlight,
- 4 (двоич. 100) = большое яркое мерцающее сферическое свечение белым в начале координат объекта. Это динамический свет (как у сопла ракеты hvr_rocket). Освещаются и другие модели, попавшие в сферу света. Затухает в радиусе примерно от 250 до 300 линейных единиц,
- 8 (двоич. 1000) = малое мерцающее сферическое свечение белым. Освещаются и другие модели, попавшие в сферу света. Свет затухает в радиусе примерно от 100 до 200. Был задуман как фонарик игрока. Если сложить вместе с предыдущим пунктом, то показывает только свой режим,
- 16 (двоич. 10000) = яркость и направление освещения для модели берётся от освещения брашевого потолка, а не от брашевого пола по умолчанию — часто применяется для моделей светильников [см., например, обсуждение на форуме cs-mapping.com.ua],
- 32 (двоич. 100000) = не интерполировать следующий кадр — отключение плавности движения модели между кадрами (как это сделано у monster_furniture),
- 64 (двоич. 1000000) = часто мерцающий белый спрайт ореола, был задуман как вспышки ракетного двигателя (ракеты, например вертолётной hvr_rocket),
- 128 (двоич. 10000000) = и любые значения больше не прорисовывают модель.
Флаги:
- 1 = Initially Off/Вначале выключить — в начале env_model выключена,
- 2 = Drop to Floor/Упасть на пол — после запуска карты падает нижней скелетной вершиной модели на ближайший снизу блок.
* — параметр Moves with в HLRA не задействован и есть только в SoHL.
Текст для файла fgd:
@PointClass base(Targetname, Angles, MoveWith, RenderFields) = env_model : "New alternative to cyclers"
[
model(studio) : "Model name"
skin(integer) : "Skin" : 0
body(integer) : "Body" : 0
scale(string) : "Scale (1.0 = normal size)"
effects(integer) : "Effects" : 0
m_iszSequence_On(string) : "Sequence when on"
m_iAction_On(choices) : "Behaviour when on" : 0 =
[
0: "Freeze when sequence ends"
1: "Loop"
2: "Change state when sequence ends"
]
m_iszSequence_Off(string) : "Sequence when off"
m_iAction_Off(choices) : "Behaviour when off" : 0 =
[
0: "Freeze when sequence ends"
1: "Loop"
2: "Change state when sequence ends"
]
spawnflags(flags) =
[
1: "Initially Off" : 0
2: "Drop to Floor" : 0
]
]
В моде HLRA усечённая версия env_model, и отличается только первая строка отсутствием "MoveWith":
@PointClass base(Targetname, Angles, RenderFields) = env_model : "New alternative to cyclers"
А для русифицированного fgd так:
@PointClass base(Targetname, Angles, MoveWith, RenderFields) = env_model : "Установка модели"
[
model(studio) : "Файл модели"
skin(integer) : "Текстурная группа" : 0
body(integer) : "Подмодель" : 0
scale(string) : "Масштаб (1.0 = нормальный размер)"
effects(integer) : "Эффекты" : 0
m_iszSequence_On(string) : "Движение, когда включена"
m_iAction_On(choices) : "Поведение при вкл." : 0 =
[
0: "Застыть в конце движения"
1: "Зациклить"
2: "Переключиться в конце движения"
]
m_iszSequence_Off(string) : "Движение, когда выключена"
m_iAction_Off(choices) : "Поведение при выкл." : 0 =
[
0: "Застыть в конце движения"
1: "Зациклить"
2: "Переключиться в конце движения"
]
spawnflags(flags) =
[
1: "Вначале выключить" : 0
2: "Упасть на пол" : 0
]
]
|