Главная
Новости
Уроки 3D графики
Урок Quest3d - Игры закончились! Quest3D для начинающих
Новости
Уроки 3D графики
Урок Quest3d - Игры закончились! Quest3D для начинающих
Урок Quest3d - Игры закончились! Quest3D для начинающих |
Цель урока: Создание независимого приложения для демонстрации 3D модели (скажем игрового уровня).Для этих целей существует множество программ и методов, мы рассмотрим метод реализации этой задачи с помощью программы Quest3D. Специально для этого урока автор смастерил небольшой уровень аля МаксПейн, назовем это "пародия на игровой уровень игры Max Payne", вы можете использовать и свою геометрию.
Для просмтра увеличенного изображения достаточно кликнуть по нему. Для начала давайте подготовим весь материал который нам понадобится на протяжении всего урока:
Файлы Результат урока .ехе файл, запускается как любое приложение, без вьюверов и всяких библиотек. Архив с текстурами и .х файлами max_payne_parody_base.x max_payane_parody_lights.x max_payane_parody_collision.x Walkthrough camera Заготовка Walkthrough камеры. Walkthrough_camera_from_danila_dem.cgr Walkthrough_camera_from_danila_dem.igr max_payane_parody_tutor_Max9.max max_payane_parody_tutor_Maya2008.mb max_payne_parody_Xsi601.scn Исходники, на всякий случай. Во всех файлах путь к текстурам: c:\Program Files\Act-3D\Quest3D 3.6\Tutorials\max_payne\textures\ Экспорт Одна из первоочередных задач при работе с Q3D, это подружить его с программой 3D моделирования которую вы используете, для того чтобы быстро и без проблем вставлять нужную геометрию в ваши проекты. Quest3D принимает в качестве моделей свои файлы(.cgr), файлы DirectX(.х), и еще пару форматов(не для всех). На официальном сайте программы можно найти экспортеры почти для всех программ моделирования. Но в этом небольшом уроке мне не хотелось бы поднимать тему установки плагинов, оценки и сравнивания их работоспособности, их много они разные, и для человека который хотел бы просто попробовать, эта информация будет излишней. Если вы собираетесь всерьез работать с этой программой, то проведя пару десятков экспериментов остановитесь на том, что более всего подходит именно вам. А в этом уроке что бы получить файл .х, мы воспользуемся универсальным средством, внешней программой "Deep Exploration". Если вы занимаетесь 3d графикой, то скорее всего она уже установлена на вашем компьютере, если неустановленна, то советую ее поставить, пригодится. Я использую версию 3.5, не самая последняя, но думаю, что более поздние версии справятся с нашими задачами. В итоге получается такая цепочка действий: 3D программа -> Deep Exploration -> Quest3D.Экспорт из MAYA Из maya я думаю, проще всего экспортировать в формат .obj, это ее родной формат, он достаточно предсказуем и с ним работают почти все конверторы. Все как всегда, я бы только посоветовал поставить галочку опции Materials в положение off, настройки материалов и текстуры maya в Q3D нам не понадобятся.Экспорт из 3DsMax Из 3DsMax, я предлагаю начать с формата .ASE, если возникнут трудности можно попробовать .obj или .3ds(у обоих замечены проблемы со смус-группами).Хочется отметить, что данные рекомендации работают только в связке 3D программа -> Deep Exploration 3.5 -> Quest3D. Как поведет себя формат .ASE или .obj с другим конвертером неизвестно. Единственное от чего хотелось бы предостеречь, так это от зацикливании на этой теме. Очень часто результат который доходит до Q3D отличается от того что вы планировали, не стоит опускать руки. Пускай вас успокоит тот факт, что проблема корректной трансляции файлов существует во всех программах и движках, в той или иной степени. Если у вас вообще ничего не получилось (что врядли) можно взять файлы урока. Deep Exploration Допустим что вы прошли первый уровень, или у вас просто под рукой оказался набор нужных элементов, не важно, просто у вас есть файлы .obj. Давайте создадим файлы .х.
![]() Quest3D Итак. Все просто, в верхнем левом углу ноды-заготовки, в нижнем левом файловая иерархия проекта и маленькое окошко предосмотра сцены, по центру (Big channel) большое голубое поле, это рабочий стол для работы с нодами, там же во вкладках большое окно предосмотра сцены, редактор анимации, редактор объектов и т.д. Начнем с Big channel После импорта ваших моделей в Q3D они будут представлены в виде большого количества различных нод, для того что бы вы не растерялись при их виде давайте внимательно посмотрим что такое 3D модель в Quest3d. ![]()
1. Импорт File->Import->file.x, при импорте Q3D создает новый Channel Group(.CGR) файл, при этом просит дать ему уникальное (в области проекта) имя. После чего появляется меню, ставьте как на скрине. ![]() Перед нами появится примерно следующая картина. Наша объект состоит из сюрфейсов разбитых по материалам. Каждый сюрфейс завернут в папочку (Папочку открыть\закрыть можно с помощью пробела). Основная нода объекта красного цвета, это значит, что весь объект имеет паблик статус, тоесть его можно использовать во всем проекте. ![]() Делая небольшие проекты я стараюсь не использовать модели в виде отдельных ресурсов, и в данном случае для наглядности предлагаю избавляться от внешних групп и делать все в основной. Для этого нужно выделить все объекты и скопировать их в буфер (ctrl+c), затем перейти в основную группу, нажав на нее в окне Groups. Щелкнуть на голубом поле, и вставить (ctrl+v). Потом выделить группу с импортированной моделью и удалить ее. Теперь все ноды в одной группе. Можно переименовать объект, например в "base_modell", и снять с него паблик статус. ![]() 2. Настройка материалов Теперь нужно настроить материалы. Для этого переходим в окно Object. Бардак с материалами нужно привести в порядок, для этого в окне Surface нужно выделить все наши сюрфейсы с шифтом, и настроить материалы один раз для всех. Настройки будут такими Diffuse и Emissive выставим в 1, а все остальное Specular, Specular Power, Alpha, Texture factor в 0. Должен получиться чисто белый материал без затенений и цвета. ![]() 3. Текстуры Для того что бы назначить текстуры их нужно загрузить в проект. Выбираем в меню Texture Channelgroup нашу группу, после чего с шифтом выделим все текстуры проекта и загрузим их всех.![]() Обратите внимание, что после того как вы загрузили текстуры в проект и сохранили его, размер .cgr файла сильно увеличился, это значит что текстуры Q3D хранит в своих файлах, и если вы редактируете их, то нужно делать Reload. Динамическая загрузка текстур и моделей, тема для отдельного урока. После того как вы загрузили текстуры, выделяем объект - щелкаем по текстуре. Если вы используете мои файлы, текстуры названы как объекты, если текстура используется больше чем на один объект, она имеет двойное название. 4. Лайтмапы Для тех кто не в курсе. Light mapping - весьма распространенная технология, грубо говоря, тень нарисованная на стенах, натянутая с помощью дополнительной UV-раскладки. Не будем вдаваться в подробности, урок не об этом. Тем более что, в сети немало статей на эту тему. Скажу только, что свои я сделал, используя Maya, MentalRay, FinalGathering, BatchBake и это тема отдельного урока. Я работаю в программе Maya, а для этой программы разработчики не написали экспортера в .cgr файлы, которые поддерживают больше одной UV-раскладки, от себя скажу, что этот досадный факт меня нисколько не печалит, потому что лично мне удобнее рассчитывать карты освещенности на отдельных объектах и в отдельных файлах. Итак. Если вы правильно выполнили пункт 3, то текстуры лайтмапов уже загружены, осталось загрузить модель с текстурными координатами для них. Выполните пункт 1 полностью, загрузив вспомогательную модель. Не обращайте внимания на ее внешний вид, после того как мы перекинем ее UV- раскладку на основную модель, она нам больше не понадобится. Выглядеть это будет примерно так.
![]()
![]() Теперь надо назначить текстуру на "Stage 2".
![]() Теперь осталось настроить материалы тех объектов, которые не участвуют в лайтмапе, а именно (tubes, metall_helps, metall_lamps, glass_lamps, metall_rounds). Выделим их, и установим параметр Diffuse в 0, Emissive в 0.2. ![]() 5. Камера Самая занудная глава закончена, модель уровня готова. Хочется уже по скорее пройтись по ней. Для начала нам нужно вывести всю нашу работу в экран "Animation 3D View".
![]() Теперь подключим специальную камеру, в простонародии "Walkthrough", заодно посмотрим, как можно сделать темплейт для повседневной работы. В стандартных заготовках Q3D есть целых две Walkthrough камеры, одна простая, вторая на основе физического движка "Open Dynamics Engine"(ODE). Я взял простую, немного ее переделал и сохранил в отдельный файл "Walkthrough_camera_from_danila_dem.cgr". В корне программы есть папка "Templates", создадим в ней еще одну, типа "My templates" и перепишем туда файлы "Walkthrough_camera_from_danila_dem.cgr" и "Walkthrough_camera_from_danila_dem.igr", (.igr) это файлы форматирования нод, их положения, папки, текстовые описания и пр., если его удалить то при загрузке ноды будут сброшены в кучу без всего, работать конечно будет, но хрен разберешься.
![]() В окне "Animation 3D View" теперь можно пройтись. Мы подошли к завершающей части урока, осталось скомпилировать наш проект получив .ехе файл.
![]() Если при выполнении урока у вас возникли проблемы или предложения пишите на форум автора урока. Урок опубликован с официального разрешения автора Комментарии разрешено оставлять только зарегистрированным пользователям. 5390
|
|||||
Теги / Tags:
Quest3D урок начинающих исходники 3d Q3D модель 3dsmax maya deep Exploration Экспорт
| < Пред. | След. > |
|---|




Цель урока: Создание независимого приложения для демонстрации 3D модели (скажем игрового уровня).















Комментариев (1)