prop_dynamic
Описание
Объект prop_dynamic используется для создания обычных динамических объектов на карте. Такие объекты используют MDL-модели для своего отображения и могут свободно прикрепляться к практически любому типу объектов в игре, что даёт им возможности двигаться, вращаться и иметь множество собственных анимаций.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Объект НЕ должен пересекаться с другими физическими объектами на карте.
- Объект НЕ отбрасывает Lightmap-тени и динамические тени.
Ошибки
В игре CS:S невозможно контролировать динамические тени, отбрасываемые этим объектом, поэтому чаще всего рекомендуется выключать динамические тени от этого объекта, установив значение свойства "Disable Shadows" равным "Yes".
Параметры
- Team Num – команда к которой принадлежит этот объект (Нет/Террористы/Контр-Террористы); если игрок и этот объект находятся в одной команде, то игрок не сможет наносить визуальный урон объекту если на сервере mp_friendlyfire равно 0;
- 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. Если подойти к этому ящику поближе, то его крышка автоматически откроется, а если отойти от ящика, то его крышка автоматически закроется.
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: