Учебник по созданию карт


Глава XX. Продвинутый маппинг.

§ 20.4 Взрывы, мины и растяжки

В этой статье речь пойдет о создании различных взрывов. Для начала мы создадим мину, затем растяжку и закончим созданием цепочки взрывов. Мы будем использовать следующие энтити-объекты:

1. Создание мины

Начнем с самого простого — создания мины. Мины у нас будут противопехотные, т.е. такие, которые взрываются от небольшого веса, например, веса игрока :) Игрок наступает на мину и раздается взрыв.

Мину мы изобразим в виде небольшого холмика, по ширине и длине равного 32 юнитам. Края прямоугольного браша мы сделаем наклонными при помощи инструмента Vertex Tool (см. рис. ниже).

Так будет выглядеть мина


После того, как холмик будет готов, выделяем его и превращаем в func_breakable.

Выставим для этого объекта такие свойства и флаги:

Func_breakable (мина)
Strenght: 1 (прочность)
Material type: Rocks (тип материала, камушки)
Explode magnitude: 25 (сила взрыва, небольшая)

Флаги:

Touch - взрывается от прикосновения
Pressure - взрывается от давления


На нашей карте-примере мы создали 3 таких мины, таким образом, получилось небольшое минное поле.


2. Создание растяжки

Растяжка устроена немного посложнее. Для ее создания используется 3 энтити-объекта.
На рисунке ниже показано, какие именно объекты мы использовали.

Устройсво растяжки


1. Первый объект — func_illusionary, который изображает тонкую проволоку (веревку). Веревка натянута между мешками с песком, в сечении веревка имеет размеры 1х1 юнит. Покрашена текстурой rope.

2. Второй объект — env_explosion, т.е. взрывчатка. Это точечный энтити-объект, в редакторе изображается фиолетовым кубиком. Взрывчатку размещаем рядом с веревкой.

Env_explosion (взрывчатка)
Name: exp1
Magnitude: 35 (сила взрыва, небольшая)

Флаги:

Repeatable - чтобы можно было взрывать много раз


3. Третий объект — trigger_multiple. Данный триггер будет активировать взрывчатку. Триггер мы размещаем поверх веревки, как показано на рисунке.

Trigger_multiple (активирует взрывчатку)
Target: exp1
Delay before trigger: 2 (время до активации взрывчатки, в секундах)


Итак, игрок проходит через веревку, задевает trigger_multiple, тот через 2 секунды активирует env_explosion и ... следует взрыв.

Взрыв после прохождения через растяжку


Если необходимо, чтобы взрывчатка срабатывала только один раз за игру, то вместо trigger_multiple используйте trigger_once.


3. Создание цепочки взрывов

И на закуску, немного украсим обычный взрыв бомбы. А украсим мы его подрывом дополнительных боезарядов env_explosion и не только.

Суть в следующем: при взрыве бомбы разрывается ящик со взрывчаткой, а также 2 дополнительных боезаряда, расположенные рядом.

На картинке ниже показаны ящик со взрывчаткой, 2 объекта env_explosion, зона закладки бомбы (func_bomb_target) и multi_manager.

Создание цепочки взрывов


Схема работы данного <устройства> выглядит так:

Схема цепочки взрывов


Итак, что нужно записать в свойствах:

Func_bomb_target (зона для закладки бомбы)
Target when bomb blows: manager (имя объекта, который активируется при взрыве бомбы, т.е. имя multi_manager)


Multi_manager (объект, активирующий подрыв ящика и 2-ух взрывчаток)
В свойства multi_manger при отжатой кнопке Smart Edit мы записываем по очереди имена ящика и двух взрывчаток.

Name: manager (имя самого менеджера)
exp2 - 0.2 (объект по имени exp2 активируется через 0.2 секунды)
exp3 - 0.7 (объект по имени exp3 активируется через 0.7 секунды)
exp4 - 1.2 (объект по имени exp4 активируется через 1.2 секунды)


Теперь остается присвоить имена ящику (exp2), первой взрывчатке (exp3) и второй взрывчатке (exp4).


Ссылки

env_explosion.zip [28Кб] — в архиве карта-пример в форматах BSP и RMF.


Глава XX. Продвинутый маппинг.


К оглавлению Учебника

© http://cs-mapper.by.ru/
CMT (CS Mapping Tutorials) - © 2006-2011+. Created by VM
[ Script Execution time: 0.0054 ]