Учебник по созданию картЧасть 20. Продвинутый маппинг.Часть 20.14 Курица на карте Cs_Italy
Примечание: мы рассмотрим «устройство» курицы как есть, то есть так, как она сделана на Cs_Italy. Этот метод имеет некоторые недостатки, о которых мы расскажем в конце материала.
1. Создание курицы (как на Cs_Italy)
Курица на Cs_Italy — это модель (файл *.mdl). Модели в уровень вставляются с помощью энтити-объекта cycler. Раньше, когда не было этого энтити-объекта, модели вставлялись через энтити-объект cycler_sprite, который вобщем-то предназначен для вставки спрайтов. Мы решили создавать курицу «как есть», поэтому воспользуемся энтити-объектом cycler_sprite.Трудность с курицей заключается в её убийстве :-) При отправлении птички в мир иной, она должна исчезнуть, издать предсмертный звук и выпустить пару пёрышек — всего этого модель делать не умеет. Модель просто вставлена в уровне, она не может быть застрелена, она не умеет выпускать пёрышки и издавать какие-либо звуки.
Вот, как устроено убийство курицы
В действительности игрок не убивает курицу (привет, GreenPeace :-). Он стреляет в прозрачный разбиваемый энтити-объектfunc_breakable. Этот энтити-объект находится в том же месте, где и птичка.
От разрушения прозрачного func_breakable запускаются сразу три энтити-объекта, так как все они имеют одинаковое название.
- Запускается env_render, который делает курицу-модель полностью прозрачной
- Запускается env_shooter, который выбрасывает перья (тоже модели)
- Запускается ambient_generic (то есть раздается предсмертный крик птицы)
Рождение курицы заново
С началом каждого нового раунда птица не становится вновь видимой! Ее нужно сделать видмой при помощи другого объекта env_render. На Cs_Italy данный 2-ой env_render запускается триггером, расположенным на базе контр-террористов. При рождении в начале раунда контр-террористы проходят через триггер, и птичка вновь оживает, то есть становится видимой.
Расположение объектов
На картинке ниже видно расположение энтити-объектов.
Чёрный выделенный желтой рамкой кубик — это наша птица. Внутри птицы расположен разбиваемый прозрачный в игре объект (func_breakable).
Сверху птицы расположен env_shooter. Данный точечный энтити-объект выбрасывает перья, когда в курицу стреляют. Справа внизу расположен звук (ambient_generic), который проигрывается при попадании в птицу.
Слева от птицы расположены два точечных энтити-объекта env_render. Один из них делает курицу прозрачной, другой — в начале раунда, наоборот, видимой.
На нашем тестовом уровне также, как и на Cs_Italy, есть еще один объект — это trigger_multiple. Этот триггер, будучи активированным игроками, включает 2-ой env_render, который делает птицу вновь видимой.
Параметры энтити-объектов: