Канал в IRC
RusNet: #cmt
Учебник по созданию карт
Глава XIII. Деревья, решетки, кнопки, ящики.

§ 13.1 Создание деревьев

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

Создать в CS реалистичное дерево довольно трудно. Залогом успеха является подбор качественных текстур деревьев. Первый способ создания деревьев основан на применении объекта func_illusionary. Как Вы знаете, через такой объект можно свободно проходить, помимо того, если использовать текстуру с маской (с синими частями), то можно сделать эти части объекта прозрачными. Именно этими свойствами мы и воспользуемся.

На рисунке ниже представлена текстура дерева, которую мы будем использовать.

Текстура дерева


Построим браш с размерами 224 юнита в высоту, 128 юнитов в ширину и 1 юнит в толщину и разместим его перпендикулярно земле, как показано на рисунке ниже.

Создаем объект func_illusionary, окрашенный текстурой дерева


Превратим этот браш в func_illusionary и выставим следующие параметры отображения:

Render Mode - Solid;
FX Amount - 255

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

Теперь скопируем func_illusionary и вставим перпендикулярно первому объекту (см. рис. ниже).

Размещаем второй объект func_illusionary перпендикулярно первому


Таким образом, у нас поличилось довольно-таки симпатичное деревце :) Также можно добавить веточек, развернув их под углом 45° к основной кроне. Единственное, чего нам еще не хватает, так это ствола. Изготовим его при помощи инструмента Block и его функции Spike. На панели "New objects" в списке "Objects" выберем функцию Spike, укажем цифру 8 в строке "Faces" (количество боковых сторон) и построим браш в центре дерева размером 256 юнитов в высоту и 7х7 юнитов по ширине и толщине (см. рис. ниже).

Создаем ствол дерева при помощи функции Spike



Превратим ствол в func_wall, чтобы он не разбивал землю на большое количество полигонов (подробнее об этом Вы можете прочитать в главе об R_speeds). На нашей тестовой карте мы дополнительно разместили еще 4 таких дерева. Чтобы они не казались похожими друг на друга, мы повернули их под разными углами.

В игре наш небольшой сад выглядит как показано на рисунке ниже, справа:

Так выглядит наш сад в игре



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

А отличие заключается в том, что пальмы не являются объектами func_illusionary с нанесенными на них текстурами деревьев. Это заранее изготовленные модели деревьев, сохраненные в файлы с расширением *.MDL. В архиве с нашей тестовой картой находится одна модель дерева (пальма). Чтобы запустить карту необходимо скопировать модель дерева в директорию cstrike/models..

А теперь собственно о том, как вставить модель дерева или любую другую модель на карту.

Для вставления моделей используется точечный энтити-объект cycler или cycler_sprite. Просто вставьте такой объект в нужном месте на карте. В свойствах необходимо указать путь к файлу *.mdl с нужной моделью. Если используется объект cycler_sprite, предназначенный вообще-то для вставки спрайтов (*.SPR), то в свойствах, там, где указывается имя модели, необходимо сначало прописать *.*, чтобы отобразить все типы файлов, а не только *.SPR. Затем выбираем нужную модель.

В нашем случае свойства объекта cycler выглядят так:

Model - models/tree_palm.mdl

Вот и все свойства.

Кстати, использовать объект cycler_sprite, возможно, даже лучше, чем cycler, т.к. в этом случае из МОДЕЛИ при стрельбе по ней не будет ВЫЛИВАТЬСЯ черно-белая кровь (иногда есть такое), как происходит, когда модель вставлена объектом cycler.

Начиная с CS 1.6, мы можем использовать модели, имеющие текстуры с маской (синие части, прозрачные в игре). Теперь деревья выглядят уже неплохо и даже могут иметь анимацию: колыхаться на ветру.


Ссылки

trees.zip [116Кб] - в архиве карта-пример в форматах BSP и RMF, а также необходимые модели и текстуры.


Глава XIII. Деревья, решетки, кнопки, ящики.


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

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