Env physexplosion
Оригинал Env_physexplosion
Содержание
Описание
Объект env_physexplosion используется для создания невидимого взрыва, действующего не только на физические объекты, но и на игроков. Объект env_physexplosion может не причинять никаких повреждения окружающим физическим объектам, просто толкая объекты от точки взрыва в разные стороны. Взаимодействие взрыва с окружающими физическими объектами и игроками может проходить без учёта препятствий на пути взрыва. То есть, если между объектом env_physexplosion и другими физическими объектами находится жирная стена, то взрыв всё равно будет действовать на физические объекты, игнорируя присутствие стены.
Тип наносимых взрывом повреждений: BLAST (см. filter_damage_type)
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Объект не наносит урон игрокам.
Ошибки
Если поставить высокое значение свойства "Magnitude" (например 500), то это может привести к дезориентации игрока даже без включенного флажка "Disorient Player if pushed".
Заметки
Если вы не заметили, то дезориентация игроков при взрыве всегда направляет взгляд игроков в направлении, соответствующем углам (0 0 0). Вы можете сами выбрать направление дезориентации, если добавите к любому объекту env_physexplosion, размещенному на вашей карте, новое свойство (keyvalue) "angles". Это можно сделать в свойствах объекта при отжатой кнопке "SmartEdit". Однако, этот угол будет применён для всех (!) других объектов env_physexplosion, поэтому вы не сможете указать для разных env_physexplosion разное направление дезориентации. У всех будет одинаковое. Эта функция явно не была учтена при разработке игры, поэтому используйте её на свой страх и риск, потому что это может привести к каким-нибудь побочным явлениям, которые на данный момент ещё не выявлены.
Если поставить флажок "No Damage - Only Force" и поставить флажок "Push players", то это приведёт к существенному снижению воздействия силы взрыва на игроков.
Параметры
- Magnitude – максимальный урон от взрыва; если это значение равно 0, то взрыв никак не взаимодействует с окружающими объектами;
- Radius Override – радиус вокруг объекта env_physexplosion, в котором другие объекты получают урон от взрыва; если значение этого свойства равно 0, то радиус взрыва рассчитывается исходя из значения свойства "Magnitude";
- Inner Radius – расстояние от объекта env_physexplosion с которого начинается расчёт "видимости" объектов для применения к ним сил взрыва; все объекты, находящиеся ближе этого расстояния, будут подвержены силам взрыва; используется только при включенном флажке "Test LOS before pushing";
- Limit to Entity – имя объекта(-ов) на карте, на которые будет действовать взрыв; при этом другие объекты затронуты взрывом не будут.
Флаги
- No Damage - Only Force – не причинять урон, а только применять силу взрыва к физическим объектам, заставляя объекты двигаться;
- Push Players – применять взрыв не только к физическим объектам, но и к игрокам;
- Push Radially – использовать радиальный взрыв; сила, прикладываемая к физическим объектам в момент взрыва, рассчитывается на основе бесконечно высокого вертикально расположенного цилиндра, а не сферы, как это делается при обычном взрыве;
- Test LOS before pushing – перед взрывом использовать проверку на "видимость" физических объектов, к которым будет приложена сила; например, физические объекты, находящиеся за стеной, не будут подвержены силам взрыва, если включить этот флажок; расстояние, с которого начинается определение "видимости" объектов, регулируется свойством "Inner Radius";
- Disorient Players if pushed – дезориентировать игроков, изменяя направление взгляда игроков во время взрыва; используется только если включен флажок "Push Players".
Inputs
- Explode – произвести взрыв.
Outputs
- OnPushedPlayer – вызывается, когда взрыв толкает одного или нескольких игроков; работает только если включен флажок "Push Players".
Карта
csssdk_env_physexplosion.vmf
Используются объекты
- env_physexplosion
- func_button
- func_detail
- prop_physics
Описание карты
Кнопки на первом, втором, третьем и четвёртом пультах используются для активации соответствующих взрывов, имеющих в качестве цели свои физические объекты. Для первого объекта env_physexplosion нет ограничений на количество физических объектов, которые он может толкать, однако стены изолируют его от других физических объектов и не позволяют взаимодействовать с ними. Второй объект env_physexplosion толкает свою бочку через стену, демонстрируя особенность этого объекта игнорировать стены при взрыве. Третий объект env_physexplosion демонстрирует применение радиального взрыва. Можете попробовать поднять объект physexplosion3 (env_physexplosion) на любую высоту над поверхностью земли и всё равно он будет толкать свою бочку в том же направлении как и прежде. Четвёртая пара объектов env_physexplosion толкают ящик вверх, демонстрируя зависимость направления движения объектов после взрыва от выбора точки взрыва. Можете попробовать поймать ящик на приземлении, и придать ему очередную порцию вертикальной силы.
Кнопки на пятом и шестом пультах используются для активации взрывов, действующих на все объекты в радиусе их действия (даже на игроков). Пятый объект env_physexplosion толкает игроков а так же все бочки и ящики, находящиеся на карте. Шестой объект не просто толкает все физические объекты и игроков на карте, но ещё и дезориентирует игроков.