3ds max
Меню сайта
Категории каталога
уроки [96]
Чертежи [1]
Мини-чат
300
Наш опрос
Оцените мой сайт
Всего ответов: 171
Главная » Статьи » Моделирование » уроки

Render To Texture
Очень многие стали задавать вопрос, как делать реальные статические тени в играх. Ответ прост - LightMap (Карта света).
Я решил написать урок по созданию Light Map(ЛМ), потому что на мой взгляд это легко и красиво. :)

Для этого нам понадобится 3D Studio MAX 5(или больше) и игровой движок.

***

Часть 1
-----------------------------

Вот наша сцена.

Render To Texture

Делаем её супермегареалистичной :)))
Я использовал для этого Mental Ray рендер.
Наворотил её немного. Добавил текстур, источников света разноцветных и т.д...
Также добавил камеру.
Отрендерил то, что получилось.


Render To Texture


А вот, как выглядит в Максе.

Render To Texture


В этом уроке мы создадим 2 ЛМ. Одна для стен и пола(потолка), другая для объектов. Итак приступим.

***
Часть 2
-----------------------------

Атачим все объекты сцены в один. (Editable Poly->Attach) Применим к этим объектам модификатор Unvrap UVW и присмотримся к его панели.

Render To Texture


Там мы найдем пункт Map Channel(Канал текстуры). По умолчанию он первый. Если нажать кнопку Edit, то мы увидим координаты нашей наложеной текстуры. Она у нас наложена по первому каналу. Закроем окно Edit. Пока оно нам не нужно.
Нажимаем 0(ноль). Или в меню вверху вибираем Rendering->Render to texture. Появляется вот эта панель.

Render To Texture

Жмём кнопку Add и в списке выбираем Lightning Map. Теперь называем нашу текстуру и указываем путь.
(1) Устанавливаем нужный размер текстуры (обязательно кратный степени двойки). Лучше выбрать из уже предоставленых. Он появится в поле Size.
(2) И ставим галочку Render to files only.
(3) Это делается для того, чтобы текстура не накладывалась сразу на объект.


Render To Texture


Вернемся к панели Unwrap UVW. Сменим Map Channel на 2. Выскочит табличка - жмём да. Потом жмём Edit. Теперь (ВАЖНО!!!) проследите, чтобы ни один вертекс не был выделен. Для этого нужно отъехать подальше и кликнуть на свободном месте. В верхнем меню выбираем Mapping, Flattern Mapping (если нету маленьких полигонов, можно параметр Spacing уменьшить до 0,01) и жмём ОК.

Render To Texture


Потом в окне Render to texture. Выбираем Map Channel 2. Объект должен быть всегда выделен(!!!).

Render To Texture

Всё готово, можно рендерить в текстуру! :)


Render To Texture

И вот, что у нас вышло.


Render To Texture

Теперь повторяем то же, но для стен и пола. Вот, как выглядит этот ЛМ.


Render To Texture

***
Часть 3
-------------------------------

Теперь нужно как-то отобразить ЛМ в игре.
Для этого нам понадобится какойнибудь экспортер в ваш движок. Я использовал экспортер для Blitz3D. У вас - свой.
Примечание: если у вас нет экспортера, то переходим к Послесловию.
Итак. Сохраняем сцену под другим именем. Выделяем объект. Выбираем из списка материалов движковый материал.


Render To Texture


И на первый слой наносим текстуру, которая должна быть на объекте.

Render To Texture

Тип нанесения - Multiply.
Я включил mipmap,color... это особенности движка. Но самое главное - Map Channel. Он должден быть установлен в "1".


Render To Texture


Теперь на второй слой наносим наш сохраненный ЛМ. Но! Map Channel уже нужно выставить "2".

Render To Texture

Нужно убедится, что у объекта есть второй Map Channel. Для этого применим к нему Unwrap UVW(если он уже не применен) и переключившись на Map Channel 2, нажмем кнопку Edit. Если текстурные координаты выглядят так же, как мы их создавали, то всё в порядке. Если появляются сомнения насчет этого, то снова идем в меню Mapping->Flattern Mapping и жмем ОК, как и в прошлый раз(!) Нужно повторить всё, что мы делали в прошлый раз!
Если всё в порядке, то повторяем всё теперь с остальными материалами и смотрим, что вышло. :)
Вот, что вышло у меня.
Это движковый рендер.


Render To Texture


А вот как выглядит в максе сцена, если показывать второй канал на всех материалах.

Render To Texture


***
Послесловие.

Если у вас нет экспортера, то наложение текстур придется делать вручную в движке. Или писать свой экспортер, который поддерживает несколько слоев.
Если есть какие-нибудь вопросы, присылайте мне на мыло.
Всем желаю удачи!
Buck.

 

Автор: Buck

Источник: www.3dcenter.ru 

Категория: уроки | Добавил: alteros (23.03.2008)
Просмотров: 984 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024