Объект phys_keepupright используется для удерживания "взгляда" физических объектов всегда в одном и том же направлении.
Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.Ошибки:
не обнаружены.Заметки:
Объект phys_keepupright контролирует вращения объекта "Target Entity" в одной плоскости:
"Pitch Yaw Roll" = "0 0 0" плоскость X/Y, объект выравнивается вверх;
"Pitch Yaw Roll" = "0 0 180" плоскость X/Y, объект выравнивается вниз;
"Pitch Yaw Roll" = "-90 0 0" плоскость Y/Z, объект выравнивается влево;
"Pitch Yaw Roll" = "90 0 0" плоскость Y/Z, объект выравнивается право;
"Pitch Yaw Roll" = "-90 90 0" плоскость X/Z, объект выравнивается назад;
"Pitch Yaw Roll" = "-90 -90 0" плоскость X/Z, объект выравнивается вперёд.
Свойства:
Pitch Yaw Roll (Y Z X) – направление в котором будет удерживаться направление "взгляда" объекта "Target Entity";
Target Entity – имя физического объекта, который будет контролироваться;
Angular Limit – максимальная угловая скорость объекта "Target Entity", которую может компенсировать объект phys_keepupright (градусов в секунду).Флажки:
Start Inactive – выключить объект в начале каждого раунда.Inputs:
TurnOn – включить объект; если физический объект находится в покое, то нужно будет его пошевелить или разбудить, чтобы действия этой функции вступили в силу;
TurnOff – выключить объект; если физический объект находится в покое, то нужно будет его пошевелить или разбудить, чтобы действия этой функции вступили в силу;
SetAngularLimit <float> - установить новое значение свойства "Angular Limit"; если физический объект находится в покое, то нужно будет его пошевелить или разбудить, чтобы действия этой функции вступили в силу.
Объект phys_magnet используется как магнит, который может притягивать и прикреплять к себе все металлические предметы вокруг себя.
Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов.
- Объект по умолчанию имеет модель столкновений VPhysics. Не изменяется.
- Объект НЕ должен пересекаться с другими физическими объектами на карте.
Ошибки:
Установка флажка "Suck On Touch" может привести к проблемам во время игры. Дело в том, что в момент когда магнит подбирает со всех сторон металлические предметы, он сам движется. Если масса магнита будет значительно меньше массы поднимаемых объектов, магнит резко дёрнется в сторону и начнёт непроизвольные колебания в воздухе. Чтобы этого избежать устанавливайте массу магнита как можно больше, или устанавливайте флажок "Motion Disabled", который запретит магниту двигаться.
Свойства:
Team Num – команда к которой принадлежит этот объект (Нет/Террористы/Контр-Террористы); если игрок и этот объект находятся в одной команде, то игрок не сможет наносить визуальный урон объекту если на сервере mp_friendlyfire равно 0; (см. фильтр filter_activator_team);
Pitch Yaw Roll (Y Z X) – ориентация объекта на карте;
World Model – имя файла MDL-модели, которая будет использоваться в качестве основы для внешнего вида объекта (выбирается в окне Model Browser);
Skin – установить номер другого скина, если модель "World Model" использует несколько скинов; скин – это набор текстур для модели; изменяя скин, изменяется внешний вид модели; узнать какие скины использует модель можно в программе "Model Viewer";
Body Group – установить номер другого подобъекта, если модель "World Model" использует несколько подобъектов; подобъект – это другая модель, встроенная в тот же файл; изменяя подобъект, изменяется внешний вид объекта; узнать какие подобъекты использует объект можно в программе "Model Viewer";
Force Limit to Break (lbs) – минимальная сила, которую необходимо приложить к металлическим объектам, чтобы оторвать их от магнита; зависит от массы металлических объектов, скорости их движения и от прочих параметров; при отрыве объектов от магнита автоматически выполняется событие "OnDetach";
Torque Limit to Break (lbs * dist) – минимальный момент силы, который должен возникнуть в результате движения и вращения металлических объектов, чтобы оторвать их от магнита; зависит от массы металлических объектов, скорости их вращения и от прочих параметров; при отрыве объектов от магнита автоматически выполняется событие "OnDetach";
Maximum Attached Objects – максимальное количество металлических объектов, которое может быть прикреплено к магниту; 0 – неограниченно;
Mass Scale – множитель массы объекта; 0 или 1.0 – масса не меняется; не используется если в свойстве "Physics Override Parameters" одним из параметров является "mass";
Physics Override Parameters – список параметров для изменения некоторых физических свойств объекта:
mass <float|kilograms> - изменить массу объекта;
inertia <float|scale> - изменить инерцию объекта;
damping <float|scale> - изменить гашение линейной скорости объекта;
rotdamping <float|scale> - изменить гашение вращений объекта;
drag <float|scale> - изменить сопротивление воздуха для объекта;
surfaceprop<string|name> - изменить материал из которого сделан объект;
список изменений должен быть записан в следующей форме:
<свойство,значение>,<свойство,значение>, ... и т.д.
например:
mass,10,inertia,3,damping,0.75,drag,5000,surfaceprop,glassbottle
Damage Filter – имя объекта-фильтра, который будет контролировать типы повреждений которые можно будет наносить этому объекту; (см. подробнее filter_damage_type или filter_multi);
Disable Damage Forces – отключить силы, прикладываемые к объекту при получении им повреждений (Нет/Да); например: выстрел по объекту не сдвинет его с места;
Render Mode – режим рендеринга объекта;
FX Color (R G B) – цвет объекта;
FX Alpha (0-255) – прозрачность объекта; 255 – полностью не прозрачен; 0 - полностью прозрачен; не используется если свойство "Render Mode" равно "Normal" или "Don’t Render";
Render FX – эффект рендеринга объекта; например: мигание, плавное появление/исчезновение и т.п.;
Disable Shadows – отключить динамические тени, отбрасываемые этим объектом (Нет/Да);
Shadow Cast Distance – максимальное расстояние на которое распространяются динамические тени от этого объекта;
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 в процессе компиляции карты.Флажки:
Start Asleep – объект будет "спать" в начале каждого раунда; объект не будет двигается пока его не "разбудят"; чтобы "разбудить" объект, нужно приложить к нему какую-нибудь силу (например: задеть его или выстрелить по нему); не используется, если установлен флажок "Motion Disabled";
Motion Disabled – объект будет зафиксирован в одной точке на всё время раунда без возможности заставить его сдвинуться;
Suck On Touch – магнит будет притягивать к себе все металлические объекты вокруг себя в тот момент когда на магнит действую любое VPhysics взаимодействие, например: когда игрок задевает магнит, когда какой-нибудь физически объект задевает магнит, когда магнит задевает стены, когда на магнит действует какой-нибудь физический ограничитель и т.д.; (у этого флажка есть баг, смотрите пункт "Ошибки");
Allow Attached Rotation – металлические объекты, прикреплённые к магниту, могут вращаться на магните; если этот флажок не установлен, то металлические объекты будут намертво прикрепляться к магниту и не смогут на нём двигаться.Inputs:
TurnOn – включить магнит;
TurnOff - включить магнит; если к магниту прикреплены металлические объекты в момент вызова этой функции, то событие "OnDetach" не будет выполнено;
Toggle – переключить состояние объекта (Включен/Выключен);
Ignite – поджечь магнит;
SetTeam <integer> - установить новое значение свойства "Team Num"; 2 – Террористы; 3 – Контр-Террористы;
Skin <integer> – установить новое значение свойства "Skin";
SetBodyGroup <integer> - установить новое значение свойства "Body Group";
SetDamageFilter <string> - установить новое значение свойства "Damage Filter";
EnableDamageForces – повреждения, наносимые объекту, будут толкать его, другими словами – будут прикладывать к объекту силу;
DisableDamageForces – повреждения, наносимые объекту, не будут толкать его, другими словами – не будут прикладывать к объекту силу;
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:
OnAttach – выполняется тогда, когда к магниту прикрепляется новый металлический объект;
OnDetach – выполняется тогда, когда от магнита отрывается металлический объект; при вызове функции "TurnOff" это событие не выполняется;
OnIgnite - выполняется тогда, когда объект воспламеняется при вызове функции "Ignite".
Объект phys_thruster используется для придания ускорения физическому объекту. При этом к физическому объекту может быть приложена не только движущая сила, но и вращательный момент.
Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов.Ошибки:
не обнаружены.
Свойства:
Pitch Yaw Roll (Y Z X) – направление действия физических сил, вызываемых этим объектом;
Attached Object – имя физического объекта, к которому будут прикладываться физические силы;
Force (lbs) – величина силы, прикладываемой к физическому объекту "Attached Object";
Time of Force – время с момента активации через которое этот объект будет автоматически деактивироваться; 0 – сила действует на физический объект постоянно, но этот объект можно будет по-прежнему деактивировать функцией "Deactivate".Флажки:
Start ON – активировать этот объект в начале каждого раунда;
Apply Force – прикладывать к физическому объекту движущую силу;
Apply Torque – прикладывать к физическому объекту вращательный момент;
Orient Locally – поместить этот объект в систему координат физического объекта "Attached Object";
Ignore Mass – игнорировать массу физического объекта "Attached Object";
Ignore Pos – поместить этот объект в центр физического объекта "Attached Object".Inputs:
Activate – активировать объект;
Deactivate – деактивировать объект;
Scale <float> - установить для этого объекта множитель сил; если входной параметр функции – отрицательное число, то силы начнут действовать в направлении обратном "Pitch Yaw Roll".
Объект phys_ragdollmagnet используется для притягивания к себе Ragdoll-объектов. Трупы игроков так же являются Ragdoll-объектами, поэтому после смерти игроков их трупы тоже будут притянуты.
Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов.
- Все Ragdoll-объекты игре CS:S контролируются не сервером, а клиентом (на компьютерах игроков), поэтому этот объект срабатывает только в момент создания Ragdoll-объекта, после чего перестаёт его контролировать.
- Если на карте несколько этих объектов расположено близко друг к другу и их зоны действия перекрываются, то в этом случае выбирается для использования самый ближайший к Ragdoll-объекту.
- Объект притягивает даже тех Ragdoll-объектов, которые не могут "видеть" этот объект через World-геометрию и прочие объекты с моделью столкновении.Ошибки:
не обнаружены.Заметки:
Есть возможность просматривать с какой скоростью объект phys_ragdollmagnet магнитит к себе Ragdoll-объекты. Для этого существует консольная команда "ai_debug_ragdoll_magnets 1", заставляющая объекты phys_ragdollmagnet выводить информацию о себе в консоль.
Вес всех игроков в игре равен 85 килограммам.
Объект phys_ragdollmagnet не обязательно должен подкидывать или отшвыривать трупы игроков. Например на карте cs_militia этот объект используется для отбрасывания игроков в воду, если игроки находятся на небольшом пригорке перед домом. В случае смерти игрок полетит не вперёд - с пригорка, а эффективно будет подтянут в сторону воды и аккуратно скатится в неё. На ваших картах вы можете использовать этот объект, заставляя игроков переваливаться через перила, или вываливаться из окон если игрок умирает возле перил или окон соответственно. Это будет выглядеть очень зрелищно, и добавит такой карте не малую долю интереса и привлекательности.
Свойства:
Start Disabled – выключить объект в начале каждого раунда (Нет/Да);
Effective Radius – радиус действия магнита, внутри которого он притягивает к себе Ragdoll-объекты; внутри этого радиуса ко всем объектам будет приложена одинаковая сила, независимо от удалённости этих объектов от магнита; (см. так же флажок "Bar Magnet");
Force (lbs) – сила с которой магнит будет притягивать Ragdoll-объекты; сила высчитывается по формуле <скорость>*<масса>; например: если значение этого свойства равно 1000, то объект массой в 100 килограмм магнит будет притягивать со скоростью 10 юнитов в секунду, а объект массой в 10 килограмм будет притягивать со скоростью 100 юнитов в секунду;
Bar Magnet Axis – линия вдоль которой будет притягивать магнит (указывается при помощи Helper’а); используется только если установлен флажок "Bar Magnet";
Entity to Affect – имя Ragdoll-объекта(-ов), к которому будет применяться этот магнит.Флажки:
Bar Magnet – магнит будет иметь форму цилиндра, а не форму шара; при этом магнит будет направлять Ragdoll-объекты не к своему центру, а к ближайшей точке на прямой, указываемой при помощи свойства "Bar Magnet Axis"; в этом случае свойство "Effective Radius" используется в качестве радиуса цилиндра.Inputs:
Enable – включить магнит;
Disable – выключить магнит.
Объект phys_motor - это ограничитель физики, который пытается вращать один физический объект с некоторой скоростью.
Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов.
- Этот объект не может двигаться во время игры и всегда закреплён в одной точке.Ошибки:
не обнаружены.Заметки:
В зависимости от значения свойства "System Interia Scale" этот объект может прекращать вращать физический объект "Attached Object" в тех случаях, когда физический объект "Attached Object" будет вращаться в противоположную сторону.
Свойства:
Attached Object - имя физического объекта, который будет вращаться;
Rotation Speed (deg/sec) – скорость вращения объекта "Attached Object" (градусов в секунду); значение этого свойства может быть как положительным целочисленным значением, так и отрицательным;
Spin Up Time – время за которое объект "Attached Object" сможет раскрутиться со скорости 0 до скорости "Rotation Speed";
System Interia Scale – множитель инерции вращения физического объекта "Attached Object"; чем выше значение этого свойства тем сложнее раскрутить физический объект "Attached Object", а так же сложнее остановить вращение этого объекта, действуя на него другими физическими объектами, игроками и прочими физическими силами.
Rotation Axis - ось вращения (указывается при помощи Helper’а).Флажки:
Start ON – включить объект в начале каждого раунда;
No World Collision – физический объект "Attached Object" не сталкивается в World-геометрией; используется только если установлен флажок "Hinge Object";
Hinge Object – физический объект "Attached Object" будет прикреплён на оси вращения и будет вращаться только на ней; при этом он не сможет перемещаться; если не установлен этот флажок, то физический объект "Attached Object" сможет двигаться, и будет вращаться вдоль оси "Rotation Axis", но вокруг своей точки опоры; если не установлен этот флажок, то флажок "No World Collision" не используется.Inputs:
TurnOn – включить мотор;
TurnOff - включить мотор;
SetSpeed <float> - установить новое значение свойства "Rotation Speed".