оздание реалистичного костра
Вы наверняка скажете: «Ну чё тут нах сложного? Ставим env_fire и всё!» Нет, я говорю не про тупое пламя, а про реалистичный костёр с различными эффектами – треск, свет, следы на земле, дым, угли, повреждения игроку и т. д.
1) Пламя
Основная часть костра – пламя. Создаётся при помощи env_fire. Вот параметры этой энтити, необходимые при создании костра:
Start Disabled – будет ли огонь неактивен при запуске карты
Size – высота пламени в юнитах
Damage Scale – повреждения, наносимые огнём
Параметры Name и Parent все и так знают, а остальные не нужны. Вот необходимые флаги:
Infinite Duration – бесконечное горение, обязательно ставьте
Smokeless – без дыма, ставьте только для очень мелких костров
Start On – в начале игры костёр будет активен, обязательно ставьте
Start Full – костёр в начале игры горит в полную силу, обязательно ставьте
Don’t drop – костёр не затухает, обязательно ставьте
No glow – без свечения вокруг костра, лучше поставить
Visible from above – виден со всех сторон, обязательно ставьте
Инпуты и аутпуты для костра не нужны, их описывать не будем. Кстати, центр env_fire должен совпадать с горящей поверхностью, иначе костёр будет висеть в нескольких юнитах над землёй.
2) Свет
Самый обычный объект light. Из параметров нужен только Brightness, там нужно указать цвет и яркость огня. За цвет отвечают первые три числа, лучше поставить оранжевый – 255 128 0. За яркость отвечает четвёртое число, для небольшого костра достаточно 100. Центр должен совпадать с визуальным центром пламени. Чаще всего работает такой способ: совмещаем центр light и поверхность, выделяем light, жмём Ctrl+M, выбираем Move и в строке Z пишем 8.
3) Звук
Здесь используем ambient_generic. Ставим его над огнём, убираем все флаги. Осталось выбрать звук (параметр Sound Name). Вот их список:
ambient/fire/fire_big_loop1.wav
ambient/fire/firebig.wav
ambient/fire/fire_med_loop1.wav
ambient/fire/fire_small_loop1.wav
ambient/fire/fire_small_loop2.wav
ambient/fire/fire_small1.wav
Первые два звука предназначены для крупного костра, третий – для среднего, три последних – для небольшого. Очень важно выбрать звук, соответствующий размерам огня.
4) Следы на земле
Если поверхность абсолютно плоская, то ставим декаль. На горизонтальной поверхности это будет decals/burn01a, а на вертикальной – decals/burn02a.
5) Угли и дрова
Если же вам нужны угли, а не простая декаль на земле, то придётся немного потрудиться. Можно сделать угли при помощи дисплейсмента, для этого ставим браш, окрашенный сверху подходящей текстурой, например concrete/concretefloor020b. С других сторон красим NODRAW’ом, затем превращаем браш в дисплейсмент с максимальным количеством контрольных точек (параметр Power – 4). Можно добавить палки, брёвна и т. д., для этого используем prop_static или prop_physics с флагом «Motion Disabled». Если prop_physics является разбиваемым, а вам такой эффект не нужен, то можно поставить флаг «Don’t take physics damage» или превратить палку, или что там у вас, в prop_physics_override и в параметре Health написать 0.
В итоге, вы получите реалистичный костёр со всеми эффектами, который можно смело ставить на карту.