func_smokevolume
Описание
Объект func_smokevolume используется для создания дыма внутри некоторой области.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Объект для удобства может быть покрыт материалом tools/toolstrigger.
Ошибки
Возможны случаи, когда частицы дыма не будут реагировать на Lightmap-тени. Это может привести к тому, что все частицы дыма будут либо полностью светлыми, либо полностью тёмными. Так же возможны случаи, когда освещённость частиц будет совершенно неправильной и частицы будут менять свой цвет непроизвольно от раунда к раунду. Эта ошибка не может быть объяснена, потому что она может возникать спонтанно. Во избегании этой ошибки старайтесь не допускать попадания Lightmap-теней на объект func_smokevolume.
Для этого объекта свойственен особый тип графических артефактов, который образно можно назвать "сквозным рендерингом спрайтов". При этом, если смотреть на объект в обратном направлении оси X (влево), то будет казаться, что внутри объекта func_smokevolume вообще нет дыма, и то что игрок находится внутри объекта func_smokevolume. Это происходит из-за того, что для объекта func_smokevolume движком Source частицы дыма рисуются справа налево (от больших координат X до меньших) и не выполняется проверка на уже нарисованные частицы, поэтому видеокарта отображает каждую следующую частицу дыма поверх уже нарисованных. Это и приводит к визуальному ощущению того, что частицы внутри объекта func_smokevolume просто не существуют. Чтобы избежать неправильного рисования частиц дыма, или уменьшить восприятие ошибки, можете попробовать применить нижеперечисленные способы борьбы с это ошибкой:
- размещайте объект func_smokevolume где-нибудь не в игровом пространстве карты;
- делайте дым более прозрачным;
- размещайте объект func_smokevolume где-нибудь "справа" карты.
Параметры
- Particle Draw Width – размер частиц дыма (юнитов);
- Particle Spacing Distance – расстояние между частицами дыма внутри объекта func_smokevolume;
- Rotation Speed (deg/sec) – скорость вращения частиц дыма;
- Movement Speed (units/sec) – скорость движения частиц дыма;
- Material – материал, используемый для рисования частиц дыма; (выбирается в окне Textures с фильтром "particle/", "sprites/" или "effects/"); для имён файлов материалов всегда добавляйте окончание ".vmt", если оно не указано;
- Particle Color1 (R G B) – первый цвет частиц дыма;
- Particle Color2 (R G B) – второй цвет частиц дыма;
- Particle Density (0-1) – (от 0.0 до 1.0) прозрачность частиц дыма;
- Density Ramp Speed – скорость с которой может изменяться прозрачность объекта от 0 до 1; чем ниже значение этого свойства, тем медленнее происходит изменение при использовании функции "SetDensity"; 1 – прозрачность изменяется примерно за 1-2 секунды;
- Minimum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого ниже этого значения; используется только компилятором VBSP в процессе компиляции карты;
- Maximum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого выше этого значения; используется только компилятором VBSP в процессе компиляции карты.
Флаги
- Emissive – частицы дыма будут светиться, поэтому могут быть легко заметны в темноте.
Inputs
- SetRotationSpeed <float> - установить новое значение свойства "Rotation Speed";
- SetMovementSpeed <float> - установить новое значение свойства "Movement Speed";
- SetDensity <float> - (от 0.0 до 1.0) установить новое значение свойства "Particle Density".
Карта
- 1) csssdk_func_smokevolume.vmf
- 2) csssdk_func_smokevolume_2.vmf
Используются объекты
- 1)
- func_smokevolume
- func_button
- func_detail
- prop_physics
- 2)
- func_smokevolume
- func_button
- func_detail
- prop_physics_multiplayer
- point_servercommand
- logic_auto
Описание карты
На карте размещено четыре объекта func_smokevolume.
Первый объект func_smokevolume имеет стандартные настройки и его можно включать и выключать при помощи кнопки на пульте. При нажатии кнопки на пульте, дым медленно исчезнет, а при повторном нажатии так же медленно появится. Для второго объекта func_smokevolume включен флажок "Emissive", поэтому он "светится" и практически не реагирует на Lightmap-тени. Для третьего объекта используются настройки, делающие дым очень плотным. Для четвёртого объекта выбраны яркие цвета и маленький размер частиц, чтобы можно было легко изучить принцип действия объекта func_smokevolume.
На карте размещен всего один большой объект func_smokevolume. Цель карты – показать графический артефакт, свойственный объекту func_smokevolume. Нажмите на кнопку пульта и полетайте вокруг объекта func_smokevolume. Возможно, вы с лёгкостью обнаружите как проявляется этот артефакт, который, как не трудно заметить, действует только вдоль оси X.
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: