Env shooter (Source)

Материал из CSM Wiki
Перейти к навигации Перейти к поиску

Оригинал Env_shooter

Описание

Объект env_shooter используется для запуска gib-объектов так, как если бы они вылетали из пушки. При этом gib-объекты могут вращаться в выбранном направлении и с выбранной скоростью. Gib-объекты могут быть спрайтами, физическими объектами или Ragdoll-объектами.

На основе этого объекта построен объект env_rotorshooter, но использовать его не рекомендуется.

Особенности использования

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект должен быть установлен там, где будет использоваться.
  • На карте может быть установлено множество этих объектов

Ошибки

Не обнаружены.

Заметки

Анимация движения gib-объектов может быть не очень гладкая. Это результат оптимизации игры CS:S для режима On-Line и ограничения сетевого трафика для игроков.


Каждый движущийся по карте объект создаёт не малый сетевой трафик, а при перегруженной карте сервер просто не справится с исходящим потоком, либо у всех игроков начнутся неимоверные лаги. Тесты показали, что если каждую секунду создавать по 50 gib-объёктов, то сетевой трафик может превысить 30 Кбайт/сек, а число входящих пакетов превысить 1000! Это очень много и создаёт огромную нагрузку на сервер. Проверить клиентский трафик вы можете выполнив в консоли команду "net_graph 2".

Объект env_shooter может успешно применяться для клонирования других объектов, наподобие того, как это делают объекты env_entity_maker и point_template.

Параметры

  • World Model – имя файла MDL-модели, которая будет использоваться в качестве основы для внешнего вида объекта (выбирается в окне Model Browser);
  • Simulate – модель столкновений gib-объектов с окружающим миром;
    • Point – модель столкновений рассчитывается как точка; нужно использовать если в качестве gib-объекта используется какой-нибудь *.VMT материал;
    • Physics – выбирается модель столкновений указанного файла "Model"; нужно использовать если в качестве gib-объекта используется какая-нибудь *.MDL модель, подходящая для объектов prop_*;
    • Ragdoll – выбирается Ragdoll-модель столкновений указанного файла "Model"; нужно использовать если в качестве gib-объекта используется какая-нибудь *.MDL модель, подходящая для объектов prop_ragdoll;
  • Gib Gravity Scale – изменить гравитацию для gib-объектов; 1 – нормальная гравитация; 4 – гравитация в 4 раза выше нормальной и т.д.; используется только если свойство "Simulate" равно "Point";
  • Material Sound – материал, который будут иметь gib-объекты; используется для озвучивания столкновений gib-объектов с другими объектами или стенами на карте; используется только тогда, когда свойство "Simulate" равно "Point" или "Physics";
  • Gib Direction (Pitch Yaw Roll) – направление полёта gib-объектов;
  • Gib Direction Variance – на сколько сильно может быть изменено направление полёта gib-объектов при каждом выстреле (от 0.0 до 1.0); 0 – все gib-объекты будут лететь строго в направлении, указанном в свойстве "Gib Direction"; 0.5 – направление полёта очередного gib-объекта может быть отклонено на 45 градусов от направления "Gib Direction" и т.д.;
  • Gib Angles (Pitch Yaw Roll) – gib-объекты перед выстрелом будут повёрнуты на эти углы; используется только если свойство "Simulate" равно "Point" или "Physics";
  • Number of Shots – количество выстрелов в очереди;
  • Delay Between Shots – задержка между каждым выстрелом в очереди (секунды);
  • Gib Life – время жизни gib-объектов (секунды); это время указывается не точно и может отличаться для каждого gib-объекта примерно на +/- 5%;
  • Gib Velocity – скорость, прикладываемая к gib-объектам при каждом выстреле;
  • Gib Angular Velocity – как быстро будут вращаться gib-объекты при выстреле (градусов в секунду); gib-объекты будут вращаться по осям X и Y со скоростью от 10% до 100% от этой скорости; используется только если свойство "Simulate" равно "Physics";
  • Render Mode – режим рендеринга объекта;
  • FX Color (R G B) – цвет объекта;
  • FX Alpha (0-255) – прозрачность объекта; 255 – полностью не прозрачен; 0 - полностью прозрачен; не используется если свойство "Render Mode" равно "Normal" или "Don’t Render";
  • Render FX – эффект рендеринга объекта; например: мигание, плавное появление/исчезновение и т.п.;
  • Disable Shadows – отключить динамические тени, отбрасываемые этим объектом (Нет/Да);
  • Lighting Origin – имя любого объекта на карте, в точке которого будет измеряться освещённость этого объекта; как правило, используется точечный объект, например – info_target; например: этот объект находится в светлом помещении, а точка "Lighting Origin" находится в тёмном помещении; несмотря на то, что этот объект находится в светлом помещении, он будет иметь освещенность тёмной комнаты; если переместить объект "Lighting Origin" из тёмной комнаты в светлую – освещённость этого объекта тоже изменится;
  • Minimum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого ниже этого значения; используется только компилятором VBSP в процессе компиляции карты;
  • Maximum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого выше этого значения; используется только компилятором VBSP в процессе компиляции карты.

Флаги

  • Repeatable – объект можно будкт использовать неоднократно;
  • On Fire – поджигать огнём gib-объекты; gib-объекты будут гореть на протяжении всего времени "Gib Life"; не используется если свойство "Simulate" равно "Ragdoll";
  • Remove Gibs After 'Gib Life' – удалять gib-объекты по истечении времени "Gib Life"; ВНИМАНИЕ! если установлен флажок "Repeatable", то всегда устанавливайте этот флажок; если не установить этот флажок – это может привести к краху игры либо увеличению нагрузки на сервер.

Inputs

  • Shoot – начать очередь "выстрелов";
  • Color <R G B> - установить новое значение свойства "FX Color"; gib-объекты, созданные до вызова этой функции, не изменят свой цвет;
  • Alpha <integer> – (от 0 до 255) установить новое значение свойства "FX Alpha"; gib-объекты, созданные до вызова этой функции, не изменят своей прозрачности.

Карта

  • 1) csssdk_env_shooter.vmf
  • 2) csssdk_env_shooter_2.vmf

Используются объекты

  • 1)
  • env_shooter
  • logic_timer
  • logic_case
  • 2)
  • env_shooter
  • logic_timer
  • func_detail
  • prop_static
  • info_lighting
  • env_cubemap
  • game_ragdoll_manager

Описание карты

  • 1)

На карте установлены две невидимые пушки. Одна стреляет разноцветными спрайтами, а другая разноцветными огненными бочками. Первый объект logic_timer "стреляет" из объектов env_shooter каждые 4 секунды. Второй объект logic_timer при помощи объекта logic_case изменяет цвет новых gib-объектов. Вылетевшие из пушек спрайты и бочки засеивают всю карту и каждый из них удаляется через некоторое время. Обратите внимание, как влияет удвоенная гравитация на спрайты из первой пушки.

  • 2)

На карте возведено некое подобие трубы, внутри которой появляются Ragdoll-объекты при помощи объекта env_shooter. Объект logic_timer "стреляет" из объекта env_shooter каждые 2-4 секунды. Появляющиеся Ragdoll-объекты падают на дно трубы. При помощи объекта game_ragdoll_manager контролируется максимальное количество Ragdoll-объектов, которое одновременно может находиться на карте. Если вы упадёте на дно трубы, лестница поможет выбраться вам от туда. Обратите внимание, что когда в зоне видимости игрока находятся максимальное количество Ragdoll-объектов, разрешённое на карте, вновь созданные Ragdoll-объекты будут сразу же исчезать в момент создания. Это сделано для того, чтобы объекты не исчезали прямо на глазах игроков.

Трупы игроков не являются Ragdoll-объектами и контролируются сервером, поэтому действия объекта game_ragdoll_manager на них не распространяется.

Смотрите также