trigger_vphysics_motion
Описание
Объект trigger_vphysics_motion используется для контроля передвижений физических объектов и игроков внутри своего объёма.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Объект для удобства может быть покрыт материалом tools/toolstrigger.
- Заложники и гранаты не контактируют с этим объектом.
- Оружие игроков МОЖЕТ контактировать с этим объектом.
Ошибки
Если физические объекты или игроки задевают сразу несколько триггеров trigger_vphysics_motion, то это приводит к неправильному воздействию их двоих на эти физические объекты и игроков. При этом объекты и игроки будут постоянно стремиться вверх.
Заметки
Углы "Pitch Yaw Roll" могут быть использованы для поворота триггера на нужный угол в начале каждого раунда. На этот угол автоматически поворачиваются Brush-объекты при своём появлении на карте, поэтому этот объект будет работать как задумано только при "Pitch Yaw Roll" = "0 0 0". Если же указать другой угол, например "30 -45 15", то придётся вручную поворачивать весь триггер на углы соответственно "30 -45 15". Выполнить это можно при помощи утилиты поворота, масштабирования и перемещения "Transform [Ctrl+M]". Правильность постановки этого объекта на карте можно проверить при помощи консольной команды "showtriggers_toggle", которая позволяет отображать триггеры в игре.
Консольная переменная "showtriggers 1" позволяет включить отображение материала tools/toolstrigger в игре, точно так же как он отображается в редакторе Hammer. Для переключения отображения этого материала (Показать/Скрыть) используется консольная команда "showtriggers_toggle".
Параметры
- Pitch Yaw Roll (Y Z X) – ориентация объекта на карте (направление распространения);
- Start Disabled – выключать объект в начале каждого раунда (Нет/Да);
- Gravity Scale – множитель гравитации внутри этого триггера; 1.0 – нормальная гравитации; 0.0 – без гравитации и т.д.;
- Additional Air Density – дополнительное сопротивление воздуха внутри этого триггера; 0 – не используется;
- Max Velocity – максимальная скорость внутри этого триггера; если скорость объектов, находящихся внутри триггера превысит это значение, то эти объекты будут остановлены; 0 – не используется;
- Max Velocity Delta – максимальное расстояние на которое могут передвигаться объекты внутри этого триггера за единицу времени; используется только если "Max Velocity" не равно нулю и только если значение этого свойства будет больше чем рассчитанное на основе значения свойства "Max Velocity";
- Velocity Scale – множитель скоростей внутри этого триггера; если установить значение этого свойства выше чем 1.0, то объекты могут постоянно увеличивать свою скорость, передвигаясь внутри этого триггера; 1.0 – нормальная скорость движения всех объектов; 0.0 запретить объектам двигаться и т.д.;
- Max Angular Velocity (deg/sec) – максимальная угловая скорость внутри этого триггера (градусы в секунду); 0 – не используется;
- Angular Velocity Scale – множитель угловой скорости внутри этого триггера; 1.0 – без изменений; если установить значение этого свойства выше чем 1.0, то объекты могут постоянно увеличивать свою скорость вращения, вращаясь внутри этого триггера; 1.0 – нормальное вращение; 0.0 – запретить вращение и т.д.;
- Linear Force – скорость с которой будут толкаться все объекты внутри этого триггера в направлении "Linear Force Dir"; 0 – не используется;
- Linear Force Dir (Pitch Yaw Roll) – направление в котором будут толкаться все объекты внутри этого триггера;
- Particle Trail Material – имя файла спрайта, применяемого для рисования частиц, которые будут создаваться вокруг всех объектов внутри этого триггера; (выбирается в окне Textures с фильтром "sprites/"); для имён файлов спрайтов всегда добавляйте окончание ".vmt", если оно не указано; если не заполнять это поле, то частицы отображаться не будут;
- Particle Trail Lifetime – время жизни частиц, которые будут создаваться вокруг всех объектов внутри этого триггера;
- Particle Trail Starting Sprite Size – начальный размер частиц, которые будут создаваться вокруг всех объектов внутри этого триггера; этот размер будет у частиц во время их создания;
- Particle Trail Ending Sprite Size - конечный размер частиц, которые будут создаваться вокруг всех объектов внутри этого триггера; этот размер будет у частиц по истечении времени "Particle Trail Lifetime"; если значение этого свойства больше значения свойства "Particle Trail Starting Sprite Size", то частицы будут постепенно увеличиваться, а если меньше – уменьшаться;
- Filter Name – имя объекта-фильтра для фильтрации объектов, которым будет разрешено активировать этот триггер;
- Origin (X Y Z) – точка опоры объекта (указывается при помощи Helper’а).
Флаги
- Clients – игроки будут контролироваться этим триггером;
- Pushables – объекты func_pushable могут активировать этот объект; не используется если установлен флажок "Physics Objects";
- Physics Objects – физические объекты будут контролироваться этим триггером, даже отмеченные как "Debris"; оружие игроков так же будет контролироваться.
Inputs
- Enable – включить объект;
- Disable – выключить объект;
- Toggle – переключить состояние объекта (Включен/Выключен);
- SetGravityScale <float> - установить новое значение свойства "Gravity Scale";
- SetAdditionalAirDensity <float> - установить новое значение свойства "Additional Air Density";
- SetVelocityLimit <float> – установить новое значение свойства "Max Velocity";
- SetVelocityLimitDelta <float> – установить новое значение свойства "Max Velocity Delta";
- SetVelocityScale <float> - установить новое значение свойства "Velocity Scale";
- SetAngVelocityLimit <float> - установить новое значение свойства "Max Angular Velocity";
- SetAngVelocityScale <float> – установить новое значение свойства "Angular Velocity Scale";
- SetLinearForce <float> – установить новое значение свойства "Linear Force";
- SetLinearForceAngles <Pitch Yaw Roll> – установить новое значение свойства "Linear Force Dir";
- SetVelocityLimitTime <string> - установить новое значение свойства "Max Velocity", а так же установить новое значение внутренней переменной VelocityLimitTime отвечающей за период обновления состояния этого триггера; формат входной строки: <VelocityLimit VelocityLimitTime>.
Карта
csssdk_trigger_vphysics_motion.vmf
Используются объекты
- trigger_vphysics_motion
- filter_activator_name
- func_detail
- prop_physics
- prop_ragdoll
Описание карты
На карте создано несколько триггеров trigger_vphysics_motion. Те, которые располагаются в левой стороне карты не могут контактировать с игроком, но могут контактировать с физическими объектами, поэтому с левой стороны карты установлено несколько бочек и один объект prop_ragdoll. Внутри первого триггера trigger_vphysics_motion установлена бочка, с ней ничего не происходит, потому что все настройки этого триггера выставлены по умолчанию. Второй триггер trigger_vphysics_motion так же имеет внутри себя бочку, а так же имеет нулевую гравитацию, высокую сопротивляемость воздуха и повышенный множитель угловой скорости объектов. Это позволяет выстрелить по бочке внутри этого триггера и посмотреть как она начнёт постепенно раскручиваться, находясь в воздухе и постепенно увеличивая свою угловую скорость. Третий триггер trigger_vphysics_motion так же как и второй, имеет нулевую гравитацию. Внутри этого триггера помещён объект prop_ragdoll в виде трупа игрока. Труп висит в воздухе и при выстрелах по нему, он изящно выполняет всяческие кульбиты и приобретает незамысловатые позы, находясь при этом всё время в воздухе. Внутри этого триггера физические объекты могут увеличивать свою скорость вращения до бесконечности. По середине между вторым и третьим триггером trigger_vphysics_motion в воздухе постоянно скачет бочка - это баг, описанный в пункте "Ошибки". Последний триггер trigger_vphysics_motion с левой стороны карты придаёт физическим бочкам скорость движения в выбранном направлении, а так же фильтрует физические объекты по именам, разрешая контактировать с собой только бочкам с именем "barrel1".
С правой стороны карты всего два триггера trigger_vphysics_motion, каждый из которых может контактировать как с игроком так и с физическими объектами. Один из них выполнен в виде трамплина, а второй в виде длинной широкой площадки. Трамплин очень хорошо толкает игрока в нужную сторону, а вот площадка старается сохранять скорость игрока постоянной, но как можно заметить это выполняется не совсем корректно, поэтому рекомендуется не использовать подобную функцию на ваших картах.
Как можно легко заметить, вокруг объектов и игроков, контактирующих с триггерами, постоянно появляются спрайты, оставляющие из след в воздухе вдоль всей траектории движения объектов. Эти частицы можно выключить, если очистить свойство "Particle Trail Material".
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: