17 июня 2002
Обновлено 17.05.2023

Трехмерная кузница. Создание 3D моделей для игр

Трехмерная кузница. Создание 3D моделей для игр - изображение обложка

“Что нам стоит дом построить? Нарисуем — будем жить!”

Допустим, вы решили создать собственную компьютерную игру. Например, космическую аркаду. По статьям “Мании” сделали графическое ядро на основе Genesis 3D, создали уровни, прописали скрипты, сочинили музыку, создали текстуры для моделей космических кораблей и астероидов… Стоп! А самих-то моделей и нет! И вообще, что это за звери такие — 3D модели? С чем их едят и где их производят? Так как эти вопросы будоражат умы многих начинающих игроделов, сегодня мы поговорим о 3D моделлинге. Казалось бы, все знают, что такое трехмерная модель. Каждый день

Трехмерная кузница. Создание 3D моделей для игр - фото 1

большинство из нас сталкивается с ними, управляет ими или поливает свинцом из многоствольных орудий, а может быть, холит и лелеет ( The Sims ). Так что же это такое? С точки зрения разработчика игр трехмерная модель представляет собой совокупность точек в трехмерном пространстве. Точки образуют пространственные многоугольники — полигоны. Именно эти полигоны Другие технологии создания 3D в играх Сегодня полигоны царят во всех трехмерных играх. Но есть и другие технологии создания 3D окружения. И кто знает, какой стандарт будет лидировать завтра? Спрайты — наиболее известная “альтернатива” полигонов. Спрайт — плоская картинка, помещенная в 3D пространство. При изменении угла камеры спрайт вращается. В некоторых играх картинка спрайта меняется через определенный шаг угла. Так создается впечатление трехмерности объекта. Но при приближении к спрайту он может распасться на пиксели. Вблизи ощущение трехмерности исчезает, уступая место разочарованию. Это вымирающая технология. Раньше она повсеместно использовалась в 3D играх (например, в Duke Nukem 3D нет полигонов — одни спрайты). Потом старались спрайтами делать только многочисленные сложные объекты (деревья, траву — это стандарт). Теперь стараются вообще отказаться от спрайтов (вспомните технологическую демку от nVidia про дерево с полигонными листьями).Ray Trace — экзотическая и сомнительная технология, при которой точки на экране образуются отсечением виртуальных лучей каркасами объектов. Вроде бы при этом снимается проблема с реалистичным освещением. Но затраты ресурсов процессора колоссальны. Насколько я знаю, эту технологию пробовали применять только в одной игре — Seed — четыре года назад, но проект канул в лету. Сегодня никто эту технологию возрождать не собирается.Воксельная графика. Воксель — трехмерный аналог пикселя. Из вокселей строятся все трехмерные объекты. Это позволяет получить потрясающие результаты, особенно с биологическими объектами. Довольно много игр сделано по этой технологии. Наиболее известная — Outcast. Это довольно перспективная технология. Возможно, воксели станут преемниками полигонов. Единственная проблема — акселераторы пока не поддерживают воксели на аппаратном уровне.NURBS — математически рассчитываемые трехмерные кривые плоскости. Позволяют создавать объекты высокой сложности (опять же — в основном биологические). NURBS применяются в некоторых играх, но по-настоящему они проявят себя в будущем. Основной недостаток — высокая ресурсоемкость. Не стоит думать, что одна из этих технологий исключает другую. Например, до недавних лет был широко распространен симбиоз полигона со спрайтом. В некоторых играх полигоны совмещаются с вокселями (Delta Force, например). В Quake 3 используются NURBS (вспомните развевающиеся на ветру флаги). Но уже на данном этапе развития технологии понятно, что будущее компьютерных игр — в вокселях и NURBS.
так любят считать ценители качественного изображения и въедливые игровые критики в только что вышедших 3D играх. В большинстве современных игр все персонажи — машины, дома, собаки и кошки, лестницы и лампочки, гвозди и ядерные боеголовки, бабочки и бронетранспортеры — состоят сплошь из полигонов. Есть, правда, и исключения (о других методах вывода графики в 3D играх читайте на врезке ). Модели хранятся в файлах особых форматов. Файлы самых распространенных форматов умеют экспортировать большинство современных графических движков (в частности, GLScene и Genesis 3D ). Обычно в этих файлах хранятся не только данные о каркасе объекта, но и некоторая дополнительная информация: координаты текстур, источники освещения, атмосферные явления, объекты-пустышки и т.д. Для создания трехмерных моделей предназначены специальные программы — 3D редакторы. Одним из самых известных и функциональных 3D редакторов на сегодняшний день является профессиональный 3D пакет 3D Studio MAX. Большинство профессиональных разработчиков трехмерных игр пользуются именно им. Несмотря на массу возможностей, 3D Studio MAX довольно прост и может использоваться дизайнерами-любителями. И если вы задумали создать свою игру, я вам рекомендую именно этот пакет для 3D моделирования. Изначально 3D Studio MAX предназначался для создания спецэффектов и компьютерных вставок в современных фильмах и 3D мультфильмах (кто смотрел “Титан. После гибели Земли” или Shrek , тот меня поймет). Например, в сериале Star Trek задние декорации внутри кораблей сделаны вовсе не из картона и пластика. Этих декораций попросту не существует. Помещения космических кораблей моделировались в MAX’е, а потом на них накладывался видеоряд актеров, снятый на однородном фоне. А космические баталии вообще целиком смоделированы в этой замечательной программе. Но впоследствии этому пакету нашлось еще море применений — от создания заставочных роликов до моделирования всех объектов 3D окружения. А как же использовать этот пакет на практике? Нет ничего проще. Программа умеет экспортировать трехмерные объекты в формат 3ds , который могут импортировать практически все 3D движки. Вам только остается смоделировать объект в 3D Studio MAX, перевести его в формат 3ds, загрузить через интерфейс используемого вами движка и свободно работать с этим объектом в самой игре. От теории к практике Мы не ставим себе задачу

Трехмерная кузница. Создание 3D моделей для игр - фото 2

научить вас профессионализму в MAX’е, для этого существуют учебники, которые можно купить в магазине или скачать из Сети. Но… практически все “буквари” грешат последовательностью подхода. Зачастую излишней последовательностью. Вам приходится изучать тонны операций, которые, вполне возможно, вам никогда не понадобятся. Особенно если “Максика” вы будете использовать только для создания каркасов моделей в своей игре. В итоге, осваивая учебник, к созданию простенького самолетика вы придете, в лучшем случае, через месяц-полтора от начала занятий. Мы же предлагаем вам проскочить мимо всей этой рутины (если будет нужно, купите учебники) и непосредственно перейти к созданию моделей. Для примера смоделируем космический истребитель. Его вполне можно будет использовать в космической аркаде в качестве “главного героя” или врага. Запустите 3D Studio MAX. Перед вами предстанет главное окно программы. Оно состоит из меню, панели инструментов (вверху), палитры объектов, утилит и модификаторов (справа), панели управления анимацией и навигацией (внизу справа), строки состояния и области ввода команд (внизу) и четырех изображений сцены под разными ракурсами в центре. В этих четырех окошках показывается одна и та же трехмерная область. Первое окно — вид сверху, второе — вид спереди (фронтальный вид), третье — вид слева (вспомните уроки черчения) и четвертое — свободная перспектива. Работа в 3DSM очень похожа на работу в каком-нибудь графическом редакторе, например Photoshop или даже Paint, только с поправкой на третье измерение. Для начала нам нужна база для космического истребителя. Этой базой будет служить элементарный параллелепипед. Чтобы создать параллелепипед, кликните по кнопке “Бокс” на панели слева. После этого кликните где-нибудь на перспективном виде и растяните прямоугольник. Отпустите кнопку мыши и ведите курсор вверх, пока параллелепипед не достигнет требуемой высоты. После этого кликните еще раз, и параллелепипед готов. Возможно, его размеры и положение оказались не совсем удачными, но это можно легко поправить. Для успешной работы в “Максе” необходимо усвоить приемы навигации в 3D видах. Внизу справа есть панель управления камерами и видами. Для увеличения или уменьшения изображения сцены (или приближения/удаления — в 3D все зависит от точки зрения) служит кнопка “лупа”. Работать с лупой можно так же, как и в графических редакторах — просто кликните на перспективе и ведите курсор вперед или назад. Кнопка с кистью служит для панорамного перемещения изображения сцены. Просто попробуйте, и сразу поймете, что это такое. Кнопка с кругом и стрелками служит для вращения изображения сцены. Для вращения сцены кликните на окне перспективной проекции и ведите курсор в ту сторону, куда надо вращать изображение. Если немного потренироваться, работа с этими инструментами не представляет никакой сложности даже для новичков. Все эти инструменты работают и на других видах. Теперь, когда вы освоились с навигацией, можно приступать к превращению простого параллелепипеда в красивый истребитель. Для начала кликните правой кнопкой мыши по надписи “Перспектива” и выберите пункт меню “Сеточный каркас”. Эта опция временно отключит закраску плоскостей. Так работать гораздо

Трехмерная кузница. Создание 3D моделей для игр - фото 3

удобнее. На панели слева кликните на вкладке “Модификаторы” (значок с полусогнутым стержнем). Модификаторы это аналоги фильтров в Photoshop, только в более широком смысле. Они позволяют изменять структуру объектов. Выделите наш параллелепипед (просто кликните по нему). На панели модификаторов кликните на кнопке “Дополнительно” и выберите из списка “Редактирование каркаса”. Прокрутите вниз панель модификаторов и нажмите на кнопку с квадратом. Это позволит выделять не весь объект, а конкретные плоскости. Выделите переднюю плоскость параллелепипеда. Кликните на кнопке “Выдавить” , потом на выделенной плоскости и, удерживая кнопку мыши, тяните плоскость, потом отпустите. Часть параллелепипеда вытянулась, образовав новую группу полигонов. На панели инструментов кликните на кнопке “Масштабирование” и стяните выделенную плоскость (для этого протягивайте курсор от края полигона к центру). Мы получили параллелепипед с суженной частью. Теперь, повторяя предыдущие действия, вытяните нос будущего истребителя и масштабируйте конечный полигон до точки. Мы получили заготовку фюзеляжа и носа истребителя. Затем вытяните боковые полигоны параллелепипеда с двух сторон. Немного сузьте их и снова вытяните. Потом сузьте таким образом, чтобы это напоминало крылья. Выделите конечный полигон крыла, потом кликните по кнопке “Перемещение” на панели инструментов и тяните крыло вверх. У нас получился истребитель с залихватски загнутыми крыльями. Немного вытяните скошенный полигон сверху у основания носа и сузьте его. Получилась кабина. Дважды вытяните и “приплюсните” (комбинируя перемещение и масштабирование полигонов) задний полигон параллелепипеда — получился хвост. Истребитель практически готов. Но он еще далек от идеала. Когда вы освоите остальные модификаторы “Макса”, сможете На компакте На нашем CD вы можете найти бесплатную облегченную версию 3D Max — утилиту Gmax. В программе реализованы все основные функции полного пакета, обрезаны лишь “тонкие” функции.
моделировать по-настоящему красивые вещи. Но и сейчас можно кое-что сделать, чтобы истребитель не казался набором коробок. Переключитесь на первую вкладку панели слева, потом снова на вкладку модификаторов. Из списка модификаторов выберите “Каркасное сглаживание”. Установите параметр “Гладкость” около 0,5-0,7. Этого должно хватить. Снова включите отрисовку полигонов. Теперь все углы сглажены, и истребитель кажется более обтекаемым. Но что-то не то с крыльями. На панели модификаторов нажмите кнопку “Подобъект”. Растяните рамку выделения на крыле истребителя. Выделятся только “точки” крыла. Снимите галочку “Применять ко всему каркасу” и установите параметр “Гладкость” в 1,0. Вот теперь все в порядке. Модель еще далека от идеала, но выглядит неплохо. Остается только наложить текстуру. Переключитесь на вкладку создания объектов. Выделите истребитель. Нажмите клавишу M (в латинской раскладке). Появится редактор материалов объекта. Нажмите квадратную кнопку около цветного прямоугольника с надписью “Рассеивание”. В списке выберите пункт “Растровый рисунок”. Найдите и выберите файл с вашей текстурой. Нажмите кнопку с клетчатым кубиком. Потом курсором перетяните текстуру с шарика в левом верхнем углу экрана на объект. Закройте редактор материалов. Добавьте на объект модификатор “Карта UVW”. Теперь текстура появилась на истребителе. Но она наверняка неправильно сидит. На панели модификаторов поиграйте с параметрами “Длина” , “Ширина” , “Высота” , “Смещение по основным координатам” и добейтесь, чтобы текстура заняла положенное ей место. Вот теперь истребитель готов. Его можно смело вставлять в игру. В меню “Файл” выберите пункт “Экспорт в другие форматы” и сохраните истребитель в файл с расширением 3ds. Эту модель можно загрузить через Genesis 3D. Таким образом можно легко создавать астероиды, оружие, модели врагов и главных персонажей, даже спецэффекты (хотя там принцип совсем другой). Я советую вам получше изучить 3D Studio MAX, и тогда вашими играми будут восхищаться. С этим пакетом можно творить чудеса.

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь