phys_magnet
Описание
Объект phys_magnet используется как магнит, который может притягивать и прикреплять к себе все металлические предметы вокруг себя.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Объект по умолчанию имеет модель столкновений VPhysics. Не изменяется.
- Объект НЕ должен пересекаться с другими физическими объектами на карте.
Ошибки
Установка флажка "Suck On Touch" может привести к проблемам во время игры. Дело в том, что в момент когда магнит подбирает со всех сторон металлические предметы, он сам движется. Если масса магнита будет значительно меньше массы поднимаемых объектов, магнит резко дёрнется в сторону и начнёт непроизвольные колебания в воздухе. Чтобы этого избежать устанавливайте массу магнита как можно больше, или устанавливайте флажок "Motion Disabled", который запретит магниту двигаться.
Параметры
- Team Num – команда к которой принадлежит этот объект (Нет/Террористы/Контр-Террористы); если игрок и этот объект находятся в одной команде, то игрок не сможет наносить визуальный урон объекту если на сервере mp_friendlyfire равно 0;
- 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) – минимальная сила, которую необходимо приложить для того чтобы сломать этот физический ограничитель;
- Torque Limit to Break (lbs * dist) – минимальный момент силы, который необходимо приложить чтобы сломать этот физический ограничитель;
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 – имя объекта-фильтра, который будет контролировать типы повреждений которые можно будет наносить этому объекту;
- 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 – объект будет "спать" в начале каждого раунда; объект не будет двигается пока его не "разбудят"; чтобы "разбудить" объект, нужно приложить к нему какую-нибудь силу (например: задеть его или выстрелить по нему) или вызвать функцию "Wake" или "EnableMotion"; не используется, если установлен флажок "Motion Disabled";
- Motion Disabled – для объекта в начале каждого раунда автоматически будет вызвана функция "DisableMotion";}}
- 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 – установить значение свойства "Disable Damage Forces" равным "No";
- DisableDamageForces – установить значение свойства "Disable Damage Forces" равным "Yes";
- 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".
Карта
csssdk_phys_magnet.vmf
Используются объекты
- phys_magnet
- func_wall
- prop_physics
- prop_ragdoll
- logic_auto
- func_movelinear
- phys_lengthconstraint
Описание карты
На карте установлено три больших магнита, каждый из которых подвешен в воздухе на своём объекте phys_lengthconstraint. Первый магнит нужно задеть, чтобы он поднял с земли автомобильную дверь и мост. Рядом с этим магнитом на земле выделена область с двумя гранатами. При помощи этих гранат можно оторвать от магнита прикреплённые к нему металлические объекты. Простыми выстрелами оторвать вряд ли получится. Два последующих магнита отличаются друг от друга только тем, что у одного разрешены вращения объектов на нём, а у другого – запрещены. Обратите внимание, что магниты могут прикреплять к себе металлические объекты абсолютно со всех своих сторон, а не только снизу. Так же обратите внимание на невзрачный объект func_movelinear, который создан на карте только лишь для изменения освещённости второго магнита. Этот объект func_movelinear движется из тени на солнце и обратно, меняя при этом яркость второго магнита.
Кстати, оружие тоже притягивается магнитом.
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: