Школа Counter-Strike - Часть 8.8 Огонь

Мир Counter-Strike

Приветствую Вас Гость | RSSГлавная | Часть 8.8 Огонь | Регистрация | Вход
Главное меню
Теория CS
Видео школа CS 1.6
Скачать
Магазин
Мастерская
Арт-Cs
Новые видео уроки CS 1.6Новые материалы и файлы


Учебник по созданию карт
Часть. Свет.

Часть 8.8 Огонь

Из данного материала вы узнаете, как создавать огонь (простой и более сложной конструкции). От вас потребуется знание следующих энтити-объектов:

- light
- env_glow
- env_splite
- ambient_generic
- trigger_hurt

1. Простой огонь

Сначала сделаем наипростейший огонь. Для этого нам понадобятся всего 2 энтити-объекта: light и env_sprite. Остальные энтити мы будем использовать для создания всевозможных спецэффектов (смотрите вторую часть материала).

Что же, сперва определим место, в котором будет полыхать наш огонь :-) Возможно это будет факел или какая-либо чаша. Можно просто разместить огонь на земле в виде костра.

Для изготовления огня используются анимированные спрайты с изображением огня (файлы *.spr), которые находятся в директорииcstrike/sprites.. или, если их там нет, то в архиве pak0.pak в директории valve. Мы воспользуемся стандартным спрайтом огня с названием:xffloor.spr. Все что нужно сделать, это вставить в уровень в требуемом месте точечный энтити-объект env_sprite (смотрите картинку ниже).

Создаем объект env_sprite


Теперь нужно выставить следующие параметры env_sprite.

Render Mode — Additive (данный режим убирёт чёрную подложку спрайта);
FX Amount — 180 (степень прозрачности спрайта; больше — прозрачнее);
FX Color — 255 175 70 (цвет огня, в данном случае оранжевый);
Sprite Name — sprites/xffloor.spr (здесь устанавливается путь к файлу со спрайтом огня)
Scale — 1 (масштаб спрайта. Если нужен огонь побольше или поменьше, то измените масштаб спрайта. Значения возможны любые, к примеру: 0.3, 0.85, 1, 2, 3.5 и пр.)

Теперь перейдите к флагам и отметьте флажок Start on, чтобы анимация спрайта автоматом начинала играться в начале раунда, иначе огонь будет «стоять»)

Как таковой огонь, так как является спрайтом, не испускает свет. Отсюда следует, чтобы вокруг огня было светло, нужно вставить источник света — обыкновенную лампочку light (смотрите картинку ниже).

Создаем рядом с огнем лампочку, объект light


Свойства light:

Brightness — 255 210 135 80 (светло-оранжевый свет средне-малой яркости)

Вот и всё — наипростейший огонь готов.


2. Более сложный, но и более реалистичный огонь

Сложный огонь можно назвать скорее продвинутым, более реалистичным. Чем же он отличается от только что расмотренного простого огня?

У продвинутого огня есть: звук горения, свечение (дымка, ореол) вогруг и при попадании в этот более реалистичный огонь, игрок получает повреждения. Ну чтож, создадим всё это.

В начале сделаем свечение (дымку, ореол) вокруг огня. Создается свечение уже известным нам способом при помощи точечного энтити-объекта env_glow. Расположим данный объект в центр огня. На рисунке ниже сам огонь (объект env_sprite) расположен чуть выше «свечения» — env_glow. Данные энтити-объекты практически совпадают друг с другом, но всё же почти...

Создаем дымку вокруг огня объектом env_glow. Размещаем его практически в том же месте, что и env_sprite


Для создания свечения мы будем использовать спрайт glow04.spr из директории cstrike/sprites.. Выставим параметры env_glow.

Render FX — Constant Glow (можно выставить и Normal, смотрите ниже)
Render Mode — Glow (для env_glow всегда должен быть данный режим)
FX Amount — 150 (чем больше значение, тем ярче, заметнее свечение. Максимум: 255)
FX Color — 255 210 135 (цвет дымки, в данном случае светло-оранжевый)
Model — sprites/glow04.spr (здесь устанавливается путь к файлу со спрайтом)
Sprite Scale — 1 (масштаб спрайта. Чем больше масштаб, тем больше свечение)

Теперь подробнее о параметре Render FX. Для спрайтов советуется указывать два режима: Normal или Constant Glow.

Вся разница между данными режимами отображения заключается в различной интенсивности (яркости, насыщенности) свечения при приближении/удалении игрока от спрайта.

В режиме Normal при удалении игрока от спрайта, его яркость уменьшается, спрайт становится менее видимым. При Constant Glowспрайт всегда имеет постоянную яркость, независящую от дистанции взгляда игрока. Попробуйте оба варианта, иногда лучше выглядит Normal, иногда Constant Glow.

Свечение готово. Теперь вставим звук горения пламени. Для этого воспользуемся точечным энтити-объектом ambient_generic. Вставим его где-либо рядом с огнем (смотрите картинку ниже).

Создаем звук огня, объект ambient_generic


Выставим свойства ambient_generic.

Path/filename.wav of WAV — ambience/burning3.wav (путь к звуковому файлу в формате WAV). Если в директории cstrike/sound/ambience.. у вас нет такого звука, то воспользуйтесь программой PakExplorer и выньте данный звук из архива pak0.pak, который находится в директории valve;
Volume — 5 (громкость звука. Максимально громкий 10. Мы сделали не очень большое по размерам пламя, поэтому и громкость поставили маленькую)

Остальные параметры маловажны и их можно не выставлять.

Теперь перейдём к флагам и отметим Small Radius. Это значит, что звук будет слышен на маленьком расстоянии от огня. Со звуком также разобрались.

И последнее, игрок, попадающий в огонь, должен получать повреждения. Если оставить всё как есть, то через пламя можно будет свободно проходить. Некоторым игрокам не нравится, когда они получают повреждения, другим, как ни странно — нравится :-), так более реалистично. Палка о двух концах...

Для нанесения повреждений используется брашевый (brush-based) энтити-объект trigger_hurt. Размеры данного энтити-объекта определяют пространство, при вхождении в которое, игрок будет нести урон здоровья, поэтому размещать trigger_hurt нужно вокруг пламени, то есть пламя должно быть расположено внутри trigger_hurt.

Выберем спец. текстуру AAATrigger и создадим вокруг пламени простой браш (смотрите картинку ниже). Выберем его и нажмём [Ctrl-T], в списке выберем trigger_hurt.

Создаем область, где игроку будут наносится повреждения, объект trigger_hurt


Выставим параметры trigger_hurt, указывающие на тип повреждений и их силу.

Damage — 3 (число наносимых повреждений в секунду);
Damage Type — BURN (вид повреждений, в данном случае от огня. Влияет только на иконку отображаемую в игре на экране, то есть когда повреждение от пламени — иконка огня и т.п.).

В итоге всех наших мучений должен получится довольно красивый и реалистичный огонь (смотрите картинку ниже).

Так выглядят оба пламени в игре


На нашей карте-примере мы разместили около правого факела ящик, чтобы можно было прыгнуть в огонь и получить повреждения (проверить работу триггера trigger_hurt)



Форма входа
Гость

Здравствуйте Гость! Пожалуйста зарегестрируйтель или зайдите под своим ником.biggrin
Поиск по сайту
Облако тегов
Тактика в CS 1.6
Опрос
Вы нашли что то новое для себя на сайте?
Всего ответов: 399
Материалы
Comments: 49
Forum: 12/45
News: 6
Downloads: 250
Guestbook: 57
Кто онлайн

Онлайн всего: 1
Гостей: 1
Пользователей: 0
uCoz
При копировании материалов активная ссылка на world-cs.net обязательна © 2016