Тема: Скайбоксы
Показать сообщение отдельно
Старый 16.06.2006, 15:57   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Читаю сейчас книгу по OpenGL. В главе по использованию кубических карт текстур наткнулся на способ создания последних в 3DS MAX. Вот теперь хочу его поведать Вам. Т.к. в книге рассказывается о создании кубических текстур для последующего использования в проектах OpenGL, в ней говорится, что в максе оси не совпадают с осями OpenGL, поэтому возникает необходимость вращать стороны текстур. Я решил сравнить так ли это и для блитца... оказывается нетак. Для блитца надо повернуть совсем другие стороны и не три а две... что-то я заговорился. Приступим:

- Для начала у Вас должна быть готовая сцена в 3DS MAX (я проверял на шестой версии).

- Далее, вам необходимо создать объект (впринципе любой), который надо поместить в точку, которая будет играть роль положения набльдателя (т.е. точку, из которой мы будем видеть сцену).

- После этого необходимо выполнить следующее (последовательность показана на рисунке):

1. Открыть редактор материалов и выбрать любой свободный слот со стандартным материалом.

2. На вкладке Maps (карты текстур) включить карту Reflection, установить ее значение в 100 и назначить ей карту Reflect/Refract.

3. У карты Reflect/Refract в качестве источника (Source) указать From File.

4. Установить размер текстур (например 512 для текстур с разрешением 512х512).

5. В области Render Cubic Maf Files нажать на кнопку справа от надписи To File и выбрать имя файла и его формат для сохранения (например FileName.BMP). И наконец нажать на кнопку Pick Object and Render Maps и выбрать ранее созданный объект в сцене.

3DS MAX создаст шесть файлов:
FileName_BK.BMP
FileName_DN.BMP
FileName_FR.BMP
FileName_LF.BMP
FileName_RT.BMP
FileName_UP.BMP

Как видите у них имена, которые даже менять не надо при использовании функции загрузки SkyBox'а из примера MAK\Castle, входящего в состав стандартных примеров блитца (Function LoadSkyBox( file$ )).

Но это еще не все. Нам еще необходимо павернуть две текустуры, а именно: FileName_UP.BMP по часовой стрелке на 90 градусов и [b]FileName_DN.BMP против часовой стрелке на 90 градусов (это можно сделать в любом редакторе изображений, например в Paint'е).

Вот и все!!! Жедаю Вам удачи в разработке игр!
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием