Глава XIII. Деревья, решетки, кнопки, ящики. |
§ 13.1 Создание деревьев |
В этой статье мы расскажем о различных способах создания деревьев. Мы будем использовать следующие энтити-объекты: Создать в CS реалистичное дерево довольно трудно. Залогом успеха является подбор качественных текстур деревьев. Первый способ создания деревьев основан на применении объекта func_illusionary. Как Вы знаете, через такой объект можно свободно проходить, помимо того, если использовать текстуру с маской (с синими частями), то можно сделать эти части объекта прозрачными. Именно этими свойствами мы и воспользуемся. На рисунке ниже представлена текстура дерева, которую мы будем использовать. Построим браш с размерами 224 юнита в высоту, 128 юнитов в ширину и 1 юнит в толщину и разместим его перпендикулярно земле, как показано на рисунке ниже. Превратим этот браш в func_illusionary и выставим следующие параметры отображения: Render Mode — Solid; FX Amount — 255 Благодаря таким параметрам, синие части текстуры будут в игре прозрачными, таким образом, останется только крона дерева. Теперь скопируем func_illusionary и вставим перпендикулярно первому объекту (см. рис. ниже). Таким образом, у нас поличилось довольно-таки симпатичное деревце :) Также можно добавить веточек, развернув их под углом 45° к основной кроне. Единственное, чего нам еще не хватает, так это ствола. Изготовим его при помощи инструмента Block и его функции Spike. На панели «New objects» в списке «Objects» выберем функцию Spike, укажем цифру 8 в строке «Faces» (количество боковых сторон) и построим браш в центре дерева размером 256 юнитов в высоту и 7х7 юнитов по ширине и толщине (см. рис. ниже). Превратим ствол в 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, а также необходимые модели и текстуры. |