Загрузка...
 

Gmax: Наложение текстур и материалов


Рис.1 Интерфейс Gmax во многом копирует 3D Studio Max
Рис.1 Интерфейс Gmax во многом копирует 3D Studio Max

Введение

Интерфейс Gmax практически полностью скопирован с классических версий 3D Studio Max (см. Рис.1). В 3DS Max редактор материалов выглядит монструозно и часто вводит в ступор даже видавших виды 3D-дизайнеров. Прочем, 3DS Max никогда не претендовал на роль приложения с самым удобным и интуитивно понятным интерфейсом. В Gmax поддержка материалов сильно урезана. Но для игрокодера это не беда, т.к. в при необходимости блики, затенения и даже наложение процедурных карт можно задать программно, прямо во время Real-time рендеринга. В ранних версиях 3D Studio Max текстурами являлись обычные файлы .bmp, но чуть позднее появилась поддержка форматов .jpg, .png и др. Gmax также поддерживает импорт текстур в формате .jpg. Классическим (и самым простым) примером наложения текстуры на 3D-меш является импорт обычного bitmap (т.е. растрового) изображения. Именно этим мы и займёмся.

Пара слов об интерфейсе Gmax

Цифрами в красных кружках на Рис.1 обозначены элементы интерфейса Gmax:

  1. Окна проекций. Отображают сцену с разных сторон (спереди, сверху, слева, в перспективе и т.д.).
  2. Панель инструментов. На ней много разных кнопок быстрого вызова часто используемых инструментов.
  3. Командная панель (Command panel). Применяется для создания объектов и их модифицирования. На первой же вкладке видны кнопки с названиями примитивов (Box, Sphere, Cone и др.)
  4. Панель меню. Во всплывающих меню продублированы большинство команд командной панели и панели инструментов.
  5. Строка ввода команд MaxScript - встроенного языка макрокоманд 3D Studio Max (сильно урезан в Gmax).
  6. Панель управления анимацией.
  7. Панель навигации. Позволяет вращать, приближать, отдалять изображение сцены во вьюпортах.

Image

Рис.2 Выбираем текстуру в Редакторе материалов Gmax
Рис.2 Выбираем текстуру в Редакторе материалов Gmax
Рис.3 Gmax. Применяем материал к выбранному объекту
Рис.3 Gmax. Применяем материал к выбранному объекту

Текстурируем куб

  • Стартуй Gmax и создай в (любом) окне проекции примитив куб (Box).

Для этого выбери в командной панели на вкладке Create примитив Box, нажав соответствующую кнопку в списке. Затем, наведя курсор на окно проекции, зажми левую кнопку мыши (ЛКМ) и перемести курсор в сторону. Затем после ещё одного щелчка придай фигуре объём и ещё раз нажми ЛКМ для завершения создания примитива. Если не получилось, погугли видеоуроки по запросу "3D Studio Max Создание примитивов" - там всё предельно просто.

  • Найди в Интернете изображение текстуры ящика.

В нашем случае это jpg-картинка размером 500х500 точек (хотя можно было бы и поменьше) с изображением одной из граней ящика (см. изображение справа ->). (Источник: http://divesmoira.blogspot.ru/2012/12/blog-post_2195.html(external link))

  • Переименуй скачанную текстуру в texture_crate01.jpg (расширение .jpg ОС Windows по умолчанию подставляет автоматически).
  • В главном окне Gmax, запусти редактор материалов.

Для этого нажми М (английскую) на клавиатуре, либо предпоследнюю кнопку на панели инструментов с изображением красного шара (см. Рис. 2).

  • В появившемся окне редактора материалов жмем "New" и в окне New Material выбираем "Standart", жмём "OK".

В окне редактора материалов появились опции нового материала. В свитке "Blinn Basic Parameters" напротив надписи "Diffuse" стоит серый прямоугольник (для выбора цвета рассеянного света) и едва заметный квадрат (для выбора текстуры рассеянного света; именно он нам и нужен). Diffuse-текстура является основной текстурой 3D-объекта в большинстве 3D-редакторов.

  • Жмём этот едва заметный квадрат напротив надписи "Diffuse" и в появившемся окне "gmax Material Navigator" двойным щелчком ЛКМ выбираем "Bitamp" (см. Рис. 2).
  • В появившемся диалоговом окне "Select Bitmap Image File" выбери скачанный с Интернета файл текстуры и нажми "Открыть".

Текстура появится на предпросмотровом шаре в окне Редактора материалов.

  • Нажми кнопку "Apply", расположенную чуть правее для применения только что созданного материала к выбранному объекту (кубу во вьюпорте).
  • Нажми кнопку с изображением бело-синего мозаичного куба для того, чтобы созданный материал был виден на кубе прямо во вьюпорте Gmax (см. Рис.3).

Готово!

  • Покрути "камеру" вьюпорта с помощью кнопок на Панели навигации Gmax, рассмотрев полученный ящик со всех сторон.

Он сильно напоминает ящик из игры Hal-Life. Поздравляю, первый 3D-объект (на профессиональном сленге их называют префабами, от англ prefab - "заготовка", "полуфабрикат") готов.

  • Сохрани готовый объект в формат .X.

О том, как это сделать читаем статью Gmax Установка и настройка экспорта .X-файлов.

Просмотр полученного .X-файла

Полученный файл с расширением .x можно просмотреть с помощью специальной программы-просмотрщика DXViewer. До 2009 г. такой просмотрщик входил в стандартный набор утилит DirectX SDK. В версии DirectX SDK за август 2009 г. его убрали. Видимо за ненадобностью...
В Интернете его тоже не найти из-за запрета Microsoft распространения DXViewer отдельно от SDK.
Тем не менее, слегка усовершенствованную версию DX Viewer-а можно скачать здесь: http://www.cgdev.net/axe/download.php(external link) (объём прибл. 1 Мб). В некоторых версиях DirectX SDK DXViewer шёл в виде исходного кода, чем и воспользовались программеры с www.cgdev.net(external link), слегка видоизменив стандартный просмотрщик 3D-мешей от Microsoft. Данная версия DXViewer-а не поддерживает показ древовидной структуры встроенной иерархии объектов 3D-меша, что очень плохо, т.к. данная функция очень важна при создании 3D-объектов для игр. Поэтому мы найдём "родной" просмотрщик, идущий в наборе с одной из старых версий DirectXSDK и обладающий полным функционалом. Для этого:

  • Найди в Интернете одну из старых версий DirectX SDK...

В нашем случае это оказался DirectX SDK 8.1 аж 2001 года выпуска. В те времена DXViewer назывался MeshView. По мнению форумчан с www.gamedev.ru(external link), MeshView более удобен и информативен. Так что на нём и остановимся.

Ссылок на старые версии DirectXSDK с каждым годом становится всё меньше. А с учётом маниакального стремления Майкрософт что-либо вырезать в будущих редакциях, настоятельно рекомендуем сохранить скачанный архив в надёжном месте. В будущем (может даже через годы) он обязательно пригодится тебе в качестве источника дополнительной информации по т.н. "неуправляемому" (unmanaged; т.е. на чистом C++, без использования .NET Framework) игрокодингу. Да и примеры там интересные. Каждый DirectX игрокодер обязательно хранит у себя на компьютере несколько старых версий DirectX SDK.
Скачанный ZIP-архив содержит каталог DirectXSDK с установочными файлами DirectX SDK 8.1.

  • Извлеки (распакуй) папку DirectXSDK в любое место на жёстком диске (например, на Рабочий стол).

Устанавливать DirectX SDK в нашем случае не нужно. Искомая программа MeshView расположена по пути ..\DirectXSDK\DXSDK\bin\DXUtils\mview.exe .

  • Скопируй файл mview.exe в любое доступное место на жёстком диске (например, скопируй его на тот же Рабочий стол).

Остальные файлы распакованного дистрибутива можно удалить.

MeshView в действии
MeshView в действии
  • Запусти MeshView (файл mview.exe), изучи меню, настройки и т.д.
  • Открой сохранённый из Gmax .X-файл, выбрав в строке меню File->Open Mesh File... В появившемся диалоговом окне выбери .X-файл и жми "Открыть".

Куб сразу появится в окне DXViewer-а, но будет серым (т.е. без текстур). Всё дело в том, что при экспорте в .X-файл текстура не экспортируется, зато MeshView ищет .bmp-файл с тем же именем, что и текстура в Редакторе материалов Gmax. Поиск ведётся в том же каталоге, откуда загружен .X-файл. И когда он её не находит, то показывает 3D-меш без неё.
Исправим ситуацию. Для этого скачанную текстуру надо просто конвертировать из .jpg в .bmp. Проще всего это сделать стандартной программой Paint, имеющейся в любом Windows. Для этого:

  • Открой файл texture_crate01.jpg и выбери в меню Файл -> Сохранить как.
  • В появившемся диалоговом окне укажи формат ("256-цветный рисунок (*bmp, *.dbi)" или "24-разрядный рисунок (*bmp, *.dbi)"), а также имя сохраняемого файла (в нашем случае это texture_crate01; расширение .bmp Windows по умолчанию добавляет автоматически).
  • Жми "Сохранить", указав тот же каталог, в который сохранён .X-файл.

Теперь в окне DXViwer-а на объекте куб видна наложенная на него текстура ящика.

  • Покрути трёхмерное изображение, "подцепив" его ЛКМ.


===
При цитировании статьи просьба указывать ссылку на данную веб-страницу.


Contributors to this page: slymentat .
Последнее изменение страницы Понедельник 24 / Июль, 2017 10:30:16 MSK автор slymentat.

Последние комментарии

No records to display