Prop dynamic

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

Оригинал Prop Types Overview, Prop dynamic.

Описание

Объект prop_dynamic используется для создания обычных динамических объектов на карте. Такие объекты используют MDL-модели для своего отображения и могут свободно прикрепляться к практически любому типу объектов в игре, что даёт им возможности двигаться, вращаться и иметь множество собственных анимаций.

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

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

Ошибки

В игре CS:S невозможно контролировать динамические тени, отбрасываемые этим объектом, поэтому чаще всего рекомендуется выключать динамические тени от этого объекта, установив значение свойства "Disable Shadows" равным "Yes".

Параметры

  • Team Num – команда к которой принадлежит этот объект (Нет/Террористы/Контр-Террористы); если игрок и этот объект находятся в одной команде, то игрок не сможет наносить визуальный урон объекту если на сервере mp_friendlyfire равно 0; (см. фильтр filter_activator_team);
  • Pitch Yaw Roll (Y Z X) – ориентация объекта на карте (направление распространения);
  • Start Disabled – выключать объект в начале каждого раунда (Нет/Да);
  • Collisions – тип модели столкновений для этого объекта:
    • Not Solid – модель столкновений отключена;
    • Use Bounding Box – в качестве модели столкновений используется "Bounding Box"; "Bounding Box" – это габаритный параллелепипед вокруг всех точек модели "World Model";
    • Use VPhysics – используется модель столкновений VPhysics;
  • World Model – имя файла MDL-модели, которая будет использоваться в качестве основы для внешнего вида объекта (выбирается в окне Model Browser);
  • Skin – установить номер другого скина, если модель "World Model" использует несколько скинов; скин – это набор текстур для модели; изменяя скин, изменяется внешний вид модели; узнать какие скины использует модель можно в программе "Model Viewer";
  • Body Group – установить номер другого подобъекта, если модель "World Model" использует несколько подобъектов; подобъект – это другая модель, встроенная в тот же файл; изменяя подобъект, изменяется внешний вид объекта; узнать какие подобъекты использует объект можно в программе "Model Viewer";
  • Default Animation Name – установить для модели "World Model" анимацию по умолчанию, которая будет постоянно проигрываться во время игры; узнать какие анимации имеет модель можно в программе "Model Viewer";
  • Randomly Animate – проигрывать случайную анимацию модели "World Model" во время игры (Нет/Да); если значение этого свойства равно "Yes", то используются свойства "Min Random Anim Time" и "Max Random Anim Time" для указания периодичности проигрывания случайной анимации; после проигрывания очередной случайной анимации, для модели "World Model" автоматически будет включаться анимация по умолчанию;
  • Min Random Anim Time – минимальный промежуток времени между случайной анимацией модели "World Model"; используется только если значение свойства "Randomly Animate" равно "Yes";
  • Max Random Anim Time – максимальный промежуток времени между случайной анимацией модели "World Model"; используется только если значение свойства "Randomly Animate" равно "Yes";
  • Explosion Damage – количество повреждений от взрыва, создаваемого автоматически в момент когда объект ломается; если значение этого свойства не равно нулю, то взрыв будет произведён, даже если значение свойства "Explosion Radius" равно нулю; 0 – взрыв не будет произведён;
  • Explosion Radius – радиус взрыва, создаваемого автоматически в момент когда объект ломается; если значение этого свойства не равно нулю, то взрыв будет произведён, даже если значение свойства "Explosion Damage" равно нулю; 0 – взрыв не будет произведён;
  • Performance Mode – режим обработки частей физических объектов после их разрушения на стороне сервера; для того чтобы значение этого свойства нашло своё применение, необходимо чтобы модель, указанная в свойстве "World Model" была скомпилирована с особыми QC-параметрами, указанными в блоке "prop_data": $keyvalues { prop_data { "multiplayer_break" "server" } } или $keyvalues { prop_data { "multiplayer_break" "both" } } или имела особый тип материала, который подразумевает создание частей физических объектов на сервере;
    • Normal – на стороне сервера могут и будут создаваться части физических объектов; не рекомендуется использовать, потому что на стороне клиента этих частей всё равно не будет видно и это никак не скажется на игровом процессе, однако будет создавать лишнюю нагрузку на сервер;
    • No Gibs on Server Side – на стороне сервера не будут создаваться части физических объектов;

по умолчанию для всех моделей выбирается "multiplayer_break" = "client", поэтому крайне сложно найти модель, для которой понадобилось бы использовать это свойство, однако лучше чтобы значение этого свойства всегда было равно "No Gibs on Server Side";

  • Pressure Delay - задержка перед тем как сломаться от давления, оказываемого со стороны другого объекта или игрока (секунды); работает только при включенном флажке "Break on Pressure";
  • Render Mode – режим рендеринга объекта;
  • FX Color (R G B) – цвет объекта;
  • FX Alpha (0-255) – прозрачность объекта; 255 – полностью не прозрачен; 0 - полностью прозрачен; не используется если свойство "Render Mode" равно "Normal" или "Don’t Render";
  • Render FX – эффект рендеринга объекта; например: мигание, плавное появление/исчезновение и т.п.;
  • Disable Shadows – отключить динамические тени, отбрасываемые этим объектом (Нет/Да);
  • Fade Start Dist – расстояние от игрока до объекта, с которого объект начнёт плавно исчезать, а полностью исчезнет на расстоянии "Fade End Dist"; это расстояние должно быть меньше чем "Fade End Dist", но в игре они будут автоматически поменяны местами, если это не так; если значение этого свойства меньше нуля, то оно будет автоматически изменено и станет равным "Fade End Dist" - 400;
  • Fade End Dist – расстояние от игрока до объекта, на котором объект становится полностью не видимым, начав исчезать с расстояния "Fade Start Dist"; если значение этого свойства меньше или равно нулю, то функция исчезновения будет отключена для этого объекта;
  • Fade Scale – множитель для значений исчезновения объекта по умолчанию, используемых если:
    • движок запущен в режиме DX7 и ниже;
    • параметры исчезновения объектов настраиваются в объекте worldspawn (Hammer > Main menu > Map > Map properties...);
    • движок будет использовать свои значения по умолчанию, когда свойства "Fade Start Dist" и "Fade End Dist" не указаны;

во всех этих случаях можно контролировать исчезновение объекта вручную:

    • 0.0 – полностью отключить исчезновение, объект виден на любом расстоянии;
    • меньше 1.0 – исчезновение начнётся с большего расстояния и будет более

растянутым по времени;

    • больше 1.0 – исчезновение объекта начнётся на меньшей дистанции и будет выполнено быстрее обычного;
  • Lighting Origin – имя любого объекта на карте, в точке которого будет измеряться освещённость этого объекта; как правило, используется точечный объект, например – info_target; например: этот объект находится в светлом помещении, а точка "Lighting Origin" находится в тёмном помещении; несмотря на то, что этот объект находится в светлом помещении, он будет иметь освещенность тёмной комнаты; если переместить объект "Lighting Origin" из тёмной комнаты в светлую – освещённость этого объекта тоже изменится;
  • Minimum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого ниже этого значения; используется только компилятором VBSP в процессе компиляции карты;
  • Maximum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого выше этого значения; используется только компилятором VBSP в процессе компиляции карты.

Флаги

  • Break on Touch – объект сломается если игрок заденет его; будет ли объект ломаться зависит от типа материала, указанного в свойствах (может быть указано в "Material Type" и "Prop Data"); не используется если установлен флажок "Only Break on Trigger";
  • Break on Pressure – объект сломается если игрок окажет на него давление; например: когда игрок наступает на объект сверху; не используется если установлен флажок "Only Break on Trigger";
  • Use Hitboxes for Renderbox – #назначение не известно#.
  • Disable Collision – объект может позволить игроку пройти через себя, но при этом он всё же будет создавать сопротивление; пули и гранаты будут беспрепятственно пролетать сквозь объект, но следы от пуль на объекте всё же будут оставаться;

Inputs

  • EnableCollision – включить столкновения между этим объектом и игроком; объект не разрешает игроку проходить сквозь себя;
  • DisableCollision - выключить столкновения между этим объектом и игроком; объект разрешает игроку проходить сквозь себя, но при этом всё равно его отталкивает, если игрок не пробует перемещаться;
  • SetTeam <integer> - установить новое значение свойства "Team Num"; 2 – Террористы; 3 – Контр-Террористы;
  • Enable – включить объект;
  • Disable – выключить объект;
  • Skin <integer> – установить новое значение свойства "Skin";
  • SetBodyGroup <integer> - установить новое значение свойства "Body Group";
  • Ignite – поджечь объект;
  • TurnOn – включить объект;
  • TurnOff – выключить объект;
  • SetAnimation <string> – установить новую анимацию для модели "World Model"; входной параметр этой функции является именем анимации;
  • SetDefaultAnimation <string> - установить анимацию, используемую по умолчанию моделью "World Model"; входной параметр этой функции является именем анимации;
  • Break – удалить объект точно так же как это делает функция Kill;
  • SetHealth <integer> - переключиться на следующую анимацию объекта;
  • AddHealth <integer> – добавить объекту указанное количество здоровья;
  • RemoveHealth <integer> – отнять у объекта указанное количество здоровья;
  • Color <R G B> - установить новое значение свойства "FX Color";
  • Alpha <integer> – (от 0 до 255) установить новое значение свойства "FX Alpha";
  • EnableShadow – включить динамические тени от объекта;
  • DisableShadow – выключить динамические тени от объекта;
  • FadeMinDist <float> - установить новое значение свойства "Fade Start Dist";
  • FadeMaxDist <float> - установить новое значение свойства "Fade End Dist".
  • SetLightingOrigin <string> - установить новое значение свойства "Lighting Origin".

Outputs

  • OnIgnite - выполняется тогда, когда объект воспламеняется при вызове функции "Ignite".
  • OnAnimationBegun – выполняется в тот момент, когда для модели "World Model" начинает выполняться новая анимация;
  • OnAnimationDone – выполняется в тот момент, когда для модели "World Model" прекращает выполняться анимация;
  • OnBreak – вызывается тогда, когда объект ломается;
  • OnHealthChanged <float> – вызывается тогда, когда у объекта изменится количество "жизни"; возвращает процент жизни относительно своего максимального значения (от 0.0 до 1.0).

Карта

csssdk_prop_dynamic.vmf

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

  • prop_dynamic
  • func_button
  • func_detail
  • trigger_multiple

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

Карта очень простая. Нажатие на кнопку пульта открывается дверь, используя анимацию с именем "open" для динамического объекта dynamic1 (prop_dynamic). Повторное нажатие на кнопку пульта закрывает дверь, используя анимацию с именем "close". Рядом с дверью стоит ящик, который так же является объектом prop_dynamic. Если подойти к этому ящику поближе, то его крышка автоматически откроется, а если отойти от ящика, то его крышка автоматически закроется.

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