3dsmax. Создание текстуры террейна и прочих — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

3dsmax. Создание текстуры террейна и прочих — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
 
(НАЗНАЧЕНИЕ ГОТОВОЙ ТЕКСТУРЫ НА ТЕРРЕЙН)
 
(не показаны 27 промежуточные версии 4 участников)
Строка 1: Строка 1:
Статья рассчитана на достаточно опытных юзеров 3Ds Max. С вопросами типа "как создать кубик" и иже с ними - идём сюда (www.3domen.com) и учимся работать.  
+
{{TOCright}}
 +
==ВВЕДЕНИЕ==
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Статья рассчитана на достаточно опытных юзеров '''3Ds Max'''. С вопросами типа "как создать кубик" и иже с ними - идём сюда ([http://www.3domen.com www.3domen.com]) и учимся работать.  
 +
 
  
 
Рассмотрим способ создания текстуры террейна, при этом она будет на 100 % отвечать следующим требованиям:
 
Рассмотрим способ создания текстуры террейна, при этом она будет на 100 % отвечать следующим требованиям:
- Готова для использования в качестве, собственно основной текстуры террейна
+
<code>- Готова для использования в качестве, собственно основной текстуры террейна
 
- Пригодна в качестве базовой текстуры для генерации детальных объектов (Добавляем траву на уровень)
 
- Пригодна в качестве базовой текстуры для генерации детальных объектов (Добавляем траву на уровень)
- Пригодна для генерации маски. Маска необходима для корректного рапределения шейдеров по ландшафту.
+
- Пригодна для генерации маски. Маска необходима для корректного рапределения шейдеров по ландшафту.</code>
  
'''СОЗДАНИЕ ТЕКСТУРЫ.'''
+
==СОЗДАНИЕ ТЕКСТУРЫ==
  
 
Нам понадобятся:
 
Нам понадобятся:
Autodesk 3DsMax
+
<code>Autodesk 3DsMax
 
Adobe Photoshop
 
Adobe Photoshop
Две специальных текстуры: "Трава" и "Асфальт".
+
Две специальных текстуры: "Трава" и "Асфальт".</code>
 +
 
 +
[http://www.lproject.3dn.ru/tutorials/Soft/Textures.7z СКАЧАТЬ ТЕКСТУРЫ]
  
 
Итак: Допустим у нас имеется готовый террейн. На нём смоделена дорога. Как его затекстурить:
 
Итак: Допустим у нас имеется готовый террейн. На нём смоделена дорога. Как его затекстурить:
Идём в Material Editor и делаем два "Standart" материала, обзываем их как хотим, например Grass и Asphalt.
+
Идём в '''Material Editor''' и делаем два "'''Standart'''" материала, обзываем их как хотим, например '''Grass''' и '''Asphalt'''.
  
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/1.JPG"/>
+
[[Изображение:Landshaft 1.JPG]]
  
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/2.JPG"/>
+
[[Изображение:Landshaft 2.JPG]]
  
 
Полученными материалами мы будем затекстуривать наш террейн. Настоятельно рекомендуется предварительно отделить всё, что относится к асфальту или земле от общего меша, для экспорта в СДК - это суровая необходимость, да и текстурить будет проще.  
 
Полученными материалами мы будем затекстуривать наш террейн. Настоятельно рекомендуется предварительно отделить всё, что относится к асфальту или земле от общего меша, для экспорта в СДК - это суровая необходимость, да и текстурить будет проще.  
Итак: Материал "Asphalt" накладываем на всё, что относится к асфальту. Аналогично поступаем с материалом Grass и с землёй. В результате должно получиться вот это:
+
Итак: Материал "'''Asphalt'''" накладываем на всё, что относится к асфальту. Аналогично поступаем с материалом '''Grass''' и с землёй. В результате должно получиться вот это:
  
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/3.JPG"/>
+
[[Изображение:Landshaft 3.JPG]]
  
Аттачим все объекты, и сверху всё это дело "прессуем" модификатором Unwrap UWV :). С свитке модификатора переходим в режим Face и выделяем ВСЕ фейсы модели. Ниже в настройках модификатора ищем кнопку Planar Mapping, нажимаем, и жмём кнопку рядом - Align Z Axis. Отжимаем кнопку Planar Mapping, и конвертируем в Edit Poly.  
+
Аттачим все объекты, и сверху всё это дело "прессуем" модификатором '''Unwrap UWV''' :). С свитке модификатора переходим в режим Face и выделяем ВСЕ фейсы модели. Ниже в настройках модификатора ищем кнопку '''Planar Mapping''', нажимаем, и жмём кнопку рядом - '''Align Z Axis'''. Отжимаем кнопку '''Planar Mapping''', и конвертируем в '''Edit Poly'''.  
  
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/4.JPG"/>
+
[[Изображение:Landshaft 4.JPG]]
  
 
Любуемся полученной идеалистической и профессиональной картинкой :)  
 
Любуемся полученной идеалистической и профессиональной картинкой :)  
  
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/5.JPG"/>
+
[[Изображение:Landshaft 5.JPG]]
  
 
А вот теперь - начинается самое интересное. Генерация текстуры.
 
А вот теперь - начинается самое интересное. Генерация текстуры.
Открываем окно Rendering in Texture (Вызывается нажатием "0" (ноль) на клаве), и настраиваем параметры рендеринга следующим образом:  
+
Открываем окно '''Rendering in Texture''' (Вызывается нажатием "0" (ноль) на клаве), и настраиваем параметры рендеринга следующим образом:  
  
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/6.JPG"/>
+
[[Изображение:Landshaft 6.JPG]]
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/7.jpg"/>
+
<img src="http://www.lproject.3dn.ru/tutorials/Screens/GM_WIKI_TEX/8.jpg"/>
+
  
Рендерим! На выходе, в указанной папке - появится текстура в формате TGA. Текстуру уже можно экспортить в X-Ray SDK, предварительно убив альфа-канал в фотошопе и дав нормальное имя (terrain_МОЯКАРТА.tga)
+
[[Изображение:Landshaft 7.JPG]]
  
'''НАЗНАЧЕНИЕ ГОТОВОЙ ТЕКСТУРЫ НА ТЕРРЕЙН'''
+
[[Изображение:Landshaft 8.JPG]]
  
Итак, после экспорта в СДК у нас в папке ...SDK\gamedata\textures\terrain\ появится аналог нашей текстурки в формате DDS. Вот её и заюзаем для этого. Создаём на базе данной текстуры ещё два одинаковых материала, обозвав их terrain_aspalt и terrain_grass. Убиваем на нашем террейне вспомогательные материалы. Сделать это можно, воспользовавшись утилитой UWV Remove (Найти её можно на вкладке Utilites правого тулбара 3DsMax). Выделив объекты террейна - запускаем утилиту и жмём кнопку Clear >> Materials (НЕ UWV!!!!). Теперь назначаем террейну - новые материалы. На асфальт - terrain_asphalt... и так-же с землёй и terrain_grass. Теперь можете аттачить асфальт и землю в один меш, и спокойно экспортить в СДК. После экспорта объекта - не забываем прописать нашу текстуру в файле textures.ltx  
+
Рендерим! На выходе, в указанной папке - появится текстура в формате '''TGA'''. Текстуру уже можно экспортить в '''X-Ray SDK''', предварительно убив альфа-канал в фотошопе и дав нормальное имя (terrain_МОЯКАРТА.tga)
 +
 
 +
==НАЗНАЧЕНИЕ ГОТОВОЙ ТЕКСТУРЫ НА ТЕРРЕЙН==
 +
 
 +
Итак, после экспорта в '''SDK''' у нас в папке .'''..SDK\gamedata\textures\terrain\''' появится аналог нашей текстурки в формате '''DDS'''. Вот её и используем для этого. Создаём на базе данной текстуры ещё два одинаковых материала, обозвав их '''terrain_aspalt''' и '''terrain_grass'''. Убиваем на нашем террейне вспомогательные материалы. Сделать это можно, воспользовавшись утилитой '''UWV Remove''' (Найти её можно на вкладке '''Utilites''' правого тулбара '''3DsMax'''). Выделив объекты террейна - запускаем утилиту и жмём кнопку '''Clear >> Materials''' (НЕ UWV!!!!). Теперь назначаем террейну - новые материалы. На асфальт - '''terrain_asphalt'''... и так-же с землёй и '''terrain_grass'''. Теперь можете аттачить асфальт и землю в один меш, и спокойно экспортить в СДК. После экспорта объекта - не забываем прописать нашу текстуру в файле '''textures.ltx'''
 
Прописываем её так:
 
Прописываем её так:
  
 +
<code>
 
terrain\terrain_НАШАКАРТА        = detail\detail_grnd_grass, **.000000, usage[diffuse]
 
terrain\terrain_НАШАКАРТА        = detail\detail_grnd_grass, **.000000, usage[diffuse]
 +
</code>
  
Вместо ** - указываем уровень детализации (ориентировочно от 40 до 90) От него зависит детальность шейдера поверхности террейна. Чем выше число - тем выше детальность. Я ставлю где-то 65-80. Прописать необходимо в НУЖНОЕ место файла textures.ltx, для этого юзаем "поиск" в редакторе, и ищем где прописаны остальные "террейны".
+
Вместо '''**''' - указываем уровень детализации (ориентировочно от 40 до 90) От него зависит детальность шейдера поверхности террейна. Чем выше число - тем выше детальность. Я ставлю где-то 65-80. Прописать необходимо в ''НУЖНОЕ'' место файла '''textures.ltx''', для этого юзаем "поиск" в редакторе, и ищем где прописаны остальные "террейны".
  
'''СОЗДАНИЕ ДЕТАЛЬНОЙ ТЕКСТУРЫ'''
+
==СОЗДАНИЕ ДЕТАЛЬНОЙ ТЕКСТУРЫ==
  
 
Юзаем фотошоп для этого. Открываем TGA-вариант текстуры, и заливаем "асфальт" жёлтым цветом  
 
Юзаем фотошоп для этого. Открываем TGA-вариант текстуры, и заливаем "асфальт" жёлтым цветом  
(R:G:B индекс - 240:240:1). Это "Штатный" СДК-шный цветоиндекс, ему соотвествуют "листья на асфальте".
+
'''(R:G:B индекс - 240:240:1)'''. Это "Штатный" СДК-шный цветоиндекс, ему соотвествуют "листья на асфальте".
  
'''НЕ МЕНЯЙТЕ СТАНДАРТНЫЕ ЦВЕТА В DTI-ФАЙЛЕ! УБЪЁТЕ ВСЁ И НАСМЕРТЬ. Дело в том, что для текстур террейна ИСПОЛЬЗУЕТСЯ ТОТ ЖЕ НАБОР ЦВЕТОВ что и в DTI-файле.'''
+
{{Message_box|
 +
id =pseudoscience|
 +
align = left|
 +
backgroundcolor = #f9f9f9|
 +
image =Lamp.gif|
 +
heading = Важный момент -- Haron|
 +
message = Не меняйте стандартные цвета В DTI-ФАЙЛЕ! УБЪЁТЕ ВСЁ И НАСМЕРТЬ. Дело в том, что для текстур террейна используется тот же набор цветов что и в DTI-файле.
 +
}}
 +
<br clear="both" />
 +
Теперь подбираем интенсивность альфа-канала текстуры в нужных местах. ''(100%-альфа - травы НЕ будет! Без альфы - всё заросшее)''. Сохраняем в TGA, обозвав '''terrain_МОЯКАРТА_det.TGA''' и экспортим в СДК. Получившуюся текстуру в '''DDS''' формате юзаем на детальные объекты.
  
Теперь подбираем интенсивность альфа-канала текстуры в нужных местах. (100%-альфа - травы НЕ будет! Без альфы - всё заросшее). Сохраняем в TGA, обозвав '''terrain_МОЯКАРТА_det.TGA''' и экспортим в СДК. Получившуюся текстуру в DDS формате юзаем на детальные объекты.
+
==СОЗДАНИЕ МАСКИ==
 
+
'''СОЗДАНИЕ МАСКИ'''
+
  
 
Юзаем фотошоп.
 
Юзаем фотошоп.
  
 
Вот таблица цветов под разные участки маски: Заливать - ими.
 
Вот таблица цветов под разные участки маски: Заливать - ими.
 +
<code>
 
Асфальт: RGB - 0:252:0
 
Асфальт: RGB - 0:252:0
 
Земля: RGB - 248:0:0
 
Земля: RGB - 248:0:0
 
Овраги, вода RGB - 0:0:248
 
Овраги, вода RGB - 0:0:248
 
Под домами: Просто чёрный цвет
 
Под домами: Просто чёрный цвет
 +
</code>
  
 
Сохраняем под именем '''terrain_МОЯКАРТА_mask.TGA''' И экспортим в СДК.  
 
Сохраняем под именем '''terrain_МОЯКАРТА_mask.TGA''' И экспортим в СДК.  
Строка 75: Строка 98:
 
Запарилсо =)
 
Запарилсо =)
  
[[Категория: SDK]]
+
====Дополнение Сахарова====
 +
Тайлинг детальных текстур, зависит в принципе "не от балды", а от размера карты(для кордона например 140, для мп атп 40 и т.п.)
 +
 
 +
и какбы надо написать что маска юзается только после финальной компиляции уровня на макс настройках.
 +
QUOTE
 +
Теперь назначаем террейну - новые материалы. На асфальт - terrain_asphalt... и так-же с землёй и terrain_grass. Теперь можете аттачить асфальт и землю в один меш, и спокойно экспортить в СДК. После экспорта объекта - не забываем прописать нашу текстуру в файле textures.ltx
 +
 
 +
 
 +
Енжин шейдер только из папки levels, материалы какие угодно(хоть металл), на остальных маска не юзается(ибо нефик), в идеале нужно создать для своего уровня персональный шейдер с набором текстур для маски (всего 4 текстуры максимум, ибо ARGB.. +1 дитеил текстура, ака дитейл бамп(онли р2 рендер))
 +
terrain_grass и т.п., это для всяких декораций на заднем плане(см, мп_атп и иже сними)
  
[[Участник: Haron]]
+
[[Категория: Wireframe]]
  
--[[Участник:Haron|Haron]] 17:20, 13 июля 2008 (MSD)
+
--[[Участник:Haron|Haron]] '''17:20, 13 июля 2008 (MSD)'''

Текущая версия на 14:13, 31 мая 2011

ВВЕДЕНИЕ

Статья рассчитана на достаточно опытных юзеров 3Ds Max. С вопросами типа "как создать кубик" и иже с ними - идём сюда (www.3domen.com) и учимся работать.


Рассмотрим способ создания текстуры террейна, при этом она будет на 100 % отвечать следующим требованиям:

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

СОЗДАНИЕ ТЕКСТУРЫ

Нам понадобятся:

Autodesk 3DsMax
Adobe Photoshop
Две специальных текстуры: "Трава" и "Асфальт".

СКАЧАТЬ ТЕКСТУРЫ

Итак: Допустим у нас имеется готовый террейн. На нём смоделена дорога. Как его затекстурить: Идём в Material Editor и делаем два "Standart" материала, обзываем их как хотим, например Grass и Asphalt.

Landshaft 1.JPG

Landshaft 2.JPG

Полученными материалами мы будем затекстуривать наш террейн. Настоятельно рекомендуется предварительно отделить всё, что относится к асфальту или земле от общего меша, для экспорта в СДК - это суровая необходимость, да и текстурить будет проще. Итак: Материал "Asphalt" накладываем на всё, что относится к асфальту. Аналогично поступаем с материалом Grass и с землёй. В результате должно получиться вот это:

Landshaft 3.JPG

Аттачим все объекты, и сверху всё это дело "прессуем" модификатором Unwrap UWV :). С свитке модификатора переходим в режим Face и выделяем ВСЕ фейсы модели. Ниже в настройках модификатора ищем кнопку Planar Mapping, нажимаем, и жмём кнопку рядом - Align Z Axis. Отжимаем кнопку Planar Mapping, и конвертируем в Edit Poly.

Landshaft 4.JPG

Любуемся полученной идеалистической и профессиональной картинкой :)

Landshaft 5.JPG

А вот теперь - начинается самое интересное. Генерация текстуры. Открываем окно Rendering in Texture (Вызывается нажатием "0" (ноль) на клаве), и настраиваем параметры рендеринга следующим образом:

Landshaft 6.JPG

Landshaft 7.JPG

Landshaft 8.JPG

Рендерим! На выходе, в указанной папке - появится текстура в формате TGA. Текстуру уже можно экспортить в X-Ray SDK, предварительно убив альфа-канал в фотошопе и дав нормальное имя (terrain_МОЯКАРТА.tga)

НАЗНАЧЕНИЕ ГОТОВОЙ ТЕКСТУРЫ НА ТЕРРЕЙН

Итак, после экспорта в SDK у нас в папке ...SDK\gamedata\textures\terrain\ появится аналог нашей текстурки в формате DDS. Вот её и используем для этого. Создаём на базе данной текстуры ещё два одинаковых материала, обозвав их terrain_aspalt и terrain_grass. Убиваем на нашем террейне вспомогательные материалы. Сделать это можно, воспользовавшись утилитой UWV Remove (Найти её можно на вкладке Utilites правого тулбара 3DsMax). Выделив объекты террейна - запускаем утилиту и жмём кнопку Clear >> Materials (НЕ UWV!!!!). Теперь назначаем террейну - новые материалы. На асфальт - terrain_asphalt... и так-же с землёй и terrain_grass. Теперь можете аттачить асфальт и землю в один меш, и спокойно экспортить в СДК. После экспорта объекта - не забываем прописать нашу текстуру в файле textures.ltx Прописываем её так:

terrain\terrain_НАШАКАРТА         = detail\detail_grnd_grass, **.000000, usage[diffuse]

Вместо ** - указываем уровень детализации (ориентировочно от 40 до 90) От него зависит детальность шейдера поверхности террейна. Чем выше число - тем выше детальность. Я ставлю где-то 65-80. Прописать необходимо в НУЖНОЕ место файла textures.ltx, для этого юзаем "поиск" в редакторе, и ищем где прописаны остальные "террейны".

СОЗДАНИЕ ДЕТАЛЬНОЙ ТЕКСТУРЫ

Юзаем фотошоп для этого. Открываем TGA-вариант текстуры, и заливаем "асфальт" жёлтым цветом (R:G:B индекс - 240:240:1). Это "Штатный" СДК-шный цветоиндекс, ему соотвествуют "листья на асфальте".

Lamp.gif Важный момент -- Haron
Не меняйте стандартные цвета В DTI-ФАЙЛЕ! УБЪЁТЕ ВСЁ И НАСМЕРТЬ. Дело в том, что для текстур террейна используется тот же набор цветов что и в DTI-файле.


Теперь подбираем интенсивность альфа-канала текстуры в нужных местах. (100%-альфа - травы НЕ будет! Без альфы - всё заросшее). Сохраняем в TGA, обозвав terrain_МОЯКАРТА_det.TGA и экспортим в СДК. Получившуюся текстуру в DDS формате юзаем на детальные объекты.

СОЗДАНИЕ МАСКИ

Юзаем фотошоп.

Вот таблица цветов под разные участки маски: Заливать - ими.

Асфальт: RGB - 0:252:0
Земля: RGB - 248:0:0
Овраги, вода RGB - 0:0:248
Под домами: Просто чёрный цвет

Сохраняем под именем terrain_МОЯКАРТА_mask.TGA И экспортим в СДК.

Вроде усё =) Запарилсо =)

Дополнение Сахарова

Тайлинг детальных текстур, зависит в принципе "не от балды", а от размера карты(для кордона например 140, для мп атп 40 и т.п.)

и какбы надо написать что маска юзается только после финальной компиляции уровня на макс настройках. QUOTE Теперь назначаем террейну - новые материалы. На асфальт - terrain_asphalt... и так-же с землёй и terrain_grass. Теперь можете аттачить асфальт и землю в один меш, и спокойно экспортить в СДК. После экспорта объекта - не забываем прописать нашу текстуру в файле textures.ltx


Енжин шейдер только из папки levels, материалы какие угодно(хоть металл), на остальных маска не юзается(ибо нефик), в идеале нужно создать для своего уровня персональный шейдер с набором текстур для маски (всего 4 текстуры максимум, ибо ARGB.. +1 дитеил текстура, ака дитейл бамп(онли р2 рендер)) terrain_grass и т.п., это для всяких декораций на заднем плане(см, мп_атп и иже сними)

--Haron 17:20, 13 июля 2008 (MSD)

Другие места
LANGUAGE