Каталог статей
Приветствую Вас, Новобранец · RSS Пятница, 19 Апр 2024, 16:16:21







Начало » Статьи » 3DS Max

Использование 3D Studio Max для создания детализированных текстур ландшафта.
Использование 3D Studio Max для создания детализированных текстур ландшафта.

1. Вступление

Неотъемлемой частью практически любого игрового графического движка является ландшафтный движок. Довольно сложно представить современные игры без живописных холмов, долин, лесов и рек. Рендеринг открытых пространств является достаточно сложным и ресурсоемким процессом даже на современных графических картах, способных пропускать через себя миллионы полигонов в секунду. Чтобы уменьшить их количество, разработчики используют различные методы и приемы для оптимизации работы алгоритмов рендеринга, такие как LOD, ROAM или OCTREE. Чаще всего в памяти компьютера данные о ландшафте представлены в виде карты высот, -текстуры, представленной в виде градаций серого цвета. Чем светлее цвет на текстуре, тем выше точка на ландшафте. Так-же используютса различные способы текстурирования сетки ландшафта. В некоторых случаях сетка разбивается на части и каждая из них имеет свою собственную текстуру, в других случаях используется одна огромная текстура, которая покрывает весь ландшафт. Именно такие текстуры мы и научимся сегодня рисовать. И для этого мы будем использовать всем известный пакет для моделирования 3D графики. Может-быть это прозвучит немного странно, но сегодня 3D Studio MAX мы будем использовать в качестве графического редактора.

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

2. Инструментарий

Перед началом работы предполагается, что у вас уже есть готовая карта высот ландшафта в виде графического файла. Формат файла значения не имеет, 3D Max понимает их практически все. В данной статье я не буду останавливаться на вопросах создания карты высот. Достаточно много информации можно найти в сети.
Из инструментов понадобится естественно 3D Studio Max версии не ниже 7.0 и PhotoShop любой версии, хотя можно обойтись и без него. А так-же набор текстур небольшого разрешения ( 256x256 будет вполне достаточно), которые будут служить нам в качестве исходного материала.
У меня получилось следующее

Карта высот



Набор текстур

Ну и естественно большое желание сделать что-то новое и интересное тоже не помешает...
Запускаем 3D Max. А пока он(или она? :) ) грузится, можно пойти сделать себе большую кружку кофе...

3. Начало работы

Первое, что нам предстоит сделать, это создать в 3D Max'е наш ландшафт, используя уже готовую карту высот. Делается это довольно просто, с использованием модификатора Displace. Создаем объект типа Plane со следующими параметрами:

Далее просто привязываем к нему модификатор Displace и в качестве карты выдавливания устанавливаем нашу с вами карту высот. Теперь устанавливаем силу выдавливания(Strength) равную 50 и любуемся симпатичным ландшафтом:

Добавляем в стек модификаторов два модификатора UVW Map. Да, именно два. Для чего, я объясню позже.
В первом устанавливаем Map Channel 1 ( он должен быть установлен по умолчанию ) и Alignment - Z. Во втором Map Channel - 2, Alignment - Y и жмем кнопку Fit. В конечном итоге наш стек модификаторов должен выглядеть примерно так: Plane->Displace->UVW Mapping->UVW Mapping

Ну а теперь немного спланируем, что-же мы должны получит в конечном итоге. Мы имеем холмистую местность с большим перепадом высот. Соответственно, высоко в горах у нас будет лежать снег, чуть ниже будет грязная земля, на равнинах трава, и низины соответственно заполнены водой. Такое планирование очень сильно поможет нам в дальнейшей работе.

Собственно на этом подготовительная работа закончена. Далее начинается самое интересное, приступаем к текстурированию нашего детища :)

4. Текстурирование

Весь процесс текстурирования сводится к использованию нескольких материалов, скомпонованных при помощи материала Blend.
Итак. Открываем Material Editor и создаем 4 стандартных материала. У каждого из которых в качестве карты диффузного отражения указываем наши текстуры. И не забудте дать понятные названия материалам, а то потом можно легко запутаться. Не перепутайте, именно материалам, а не картам. У меня соответственно получились материалы: Dirt, Grass, Water, Snow. Теперь для каждой карты установите Texture Tiling равный 10.

Это наши заготовки. Теперь нам необходимо нанести их на модель в нужной последовательности и в нужных пропорциях. В этом нам поможет материал Blend. Он позволяет смешать 2 материала вместе используя третий материал в качестве маски. Материалов для смешивания у нас 4, следовательно Blend-материалов нам понадобится 2.
Вот и создаем их. Кликаем на кнопке Standart в Редакторе материалов и выбираем метериал Blend.
Называем материалы соответствнно Snow+Dirt и Grass+Water для того, чтобы не запутаться. Да и мне так будет легче объяснять:)
Выбираем материал Snow+Dirt и видим в его параметрах 3 поля: Material1, Material2 и Mask. Для начала нам необходимо заполнить первые два поля нашими материалами. Хватаем мышкой материал Snow и тащим его в слот Material1. На вопрос о способе переноса материала отвечаем Instance. Это позволит нам отслеживать все изменения в наших базовых материалах. Тоже самое делаем с материалом Dirt для слота Material2.
Выделяем наш объект и жмем кнопку Assign Material to Selection Материал должен отобразиться на объекте. Если этого не произошло, проверьте, активировано ли у вас для базовых материалов их отображение во вьюпорте. Если нет, нажмите кнопку для материалов Dirt и Snow. Сделайте пробный рендер. Если всё правильно, то у вас должна получиться модель ландшафта покрытая однородной текстурой - снегом.

Теперь нам необходимо смешать эти два материала таки образом, чтобы снег остался сверху на горах, а внизу был материал грязи. Для этого необходимо установить маску смешивания.
Кликаем на кнопку Mask в материале Snow+Dirt и в качестве маски выбираем карту Gradient Ramp. Карта Gradient Ramp позволяет использовать произвольное количество цветов для настройки градиента.
В нашем конкретном случае эта карта работает следующим образом. Чем чернее цвет карты, тем сильнее проявляется материал 1, чем белее карта, тем сильнее проявляется материал2.
По умолчанию мы проецируем карту на объект в плоскости объекта. т.е. если сейчас попробовать сделать пробный рендер, то мы получим следующее. Северная часть ландшафта покрыта снегом, а южная грязью. Мы хотели немного по другому:) Что-бы добиться желаемого результата необходимо повернуть плоскость проекции на 90 градусов
вокруг оси W. Для этого в параметре Angle/W ставим поворот 90град. И незабываем о Map Chanel. Нам понадобится номер 2. Именно тот, который мы проецировали по оси OY.
Теперь, всё что нам осталось сделать, это настроить наш градиент, чтобы положение текстур на объекте удовлетворяло нашему желанию.
Так как во вьюпорте отображается только одна карта материала Blend, поэтому в данном случае удобно будет воспользоваться функцией ActiveShade Floater или ActiveShade Viewport из пункта меню Rendering. Теперь все изменения в материале мы будем тут-же видеть в окне просмотра. Теперь настроить градиент не должно составит труда.
У меня получилось примерно так:

И вот так это выглядит в отрендеренном виде:

Думаю, на этом этапе многие уже уловили принцип нашей работы.
Теперь всё проделанное выше выполняем для материала Grass+Water.
Единственное отличие - это настройки градиента. Вода у нас будет внизу и её будет совсем немного, а трава вверху.

Ну и рендер соответственно:

Отлично. Работа уже близится к завершению. Остался последний рывок.
Наверное вы уже догадались, что нам осталось смешать вместе два материала Blend, которые мы до этого создали. И опять-же нам на помощь придёт всё тот-же материал Blend. Создаем его и назывем, например, FINAL. (а можете назвать его snow+dirt+grass+water :))
Всё это мы уже делали раньше. Перетаскиваем в слот Material 1 материал Snow+Dirt, а в слот Material 2 материал Dirt+Water. Т.е. при помощи материала Blend мы смешиваем два материала Blend :)
В качестве маски выбираем Gradient Ramp со следующими параметрами:

Если вы всё сделали правильно, вот, что должно получиться:

На этом текстурирование нашего ландшафта успешно закончено.
Но осталась самая главная вещь. Ведь мы же всё же хотим получить текстуру, а не отрендеренный ландшафт.

5. Текстура.

Для рендеринга в текстуру нам понадобится интсрумент Render to Texture. Выдиляем наш оттекстурированный ландшафт в окне просмотра Top и выбираем пункт меню Rendering->Render to Texture или жмём горячюю клавишу “0”(нуль). Откроется диалоговое окно инструмента Render To Texture. Теперь немного настроим необходимые параметры.
В пункте Object to Bake должно быть указано имя выделенного объекта, если его нет, проверьте, выделен ли объект в окне просмотра.
В пункте Mapping Coordinates устанавливаем Chanel 1 и Use Existing Chanel. Не зря же мы создаваля два модификатора UVW Mapping.
Теперь параметр Output. В нем необходимо задать элемент текстуры, который нам надо получить. Кликаем Add и выбираем Complete Map.
Теперь осталось только задать размер текстуры. В данном случае,- чем больше, тем лучше. Потом можно будет прои желании уменьшить размеры в Фотошопе.
Ну вот и всё. Жмём кнопку Render и ждем результата :)

6. Заключение

Данный способ позволяет создавать достаточно качественные текстуры большого разрешения за довольно небольшой промежуток времени.
Я показал возможность смешивания четырех текстур, их может быть гораздо больше. Так-же в качестве маски смешивания необязательно нужно использовать градиент. Например для получения пятен грязи на дороге можно использовать карту Noise, а для создания дороги между горами, нарисовнную в Фотошопе чёрно-белую карту. Я дал всего-лишь направление по которому можно прийти к очень и очень интересным результатам. Главное терпение.

Категория: 3DS Max | Добавил: Barbanel (15 Май 2007) | Автор: vr5
Просмотров: 34871 | Комментарии: 23 | Рейтинг: 5.0

Всего комментариев: 191 2 »
19 BotNuttUttefe  
0
На днях мне потребовалась юридическая услуга и я не очень долго искал какой-нибудь юридический центр! Через какое-то время наткнулся на http://www.consalt-centr.ru - юридический центр в городе Москва
. Почитал их сайт и оформил предлагаемую услугу. После чего юридическая помощь дала о себе узнать и я в результате решил свои проблемы личностного характера. Советую Юридический центр Консалт.

18 Spincfuerperi  
0
Рекомендовал мне url -адресов: http://srub-dizain.ru/profil-brus - стоимость сухого бруса камерной сушки
и решился я построить новый дом! Мне в то время нужен был половой профилированный брусок. В общем после этого я и попёрся к ним на производство! Там совсем всё организовано сделано и профилированный брус камерной сушки тяжело выбрать. Всему данному действию сопутствовала трудная навигация ресурса, которую я струдом понял.Хорошо конечно то, что это завод изготовитель – но шаблон сайта стрёмный.

17 Dafevadia  
0
http://gardenindex.ru - .

16 DIPSCREARIE  
0
Совсем беспредел наступил! Вот в яндексе не умышленно обнаружил статью http://rentrealtycrimea.com - сдам недвижимость в Симферополе
и впал в гнев. Теперь вот с Вами не поздоровался даже исходя из этого! В общем сдам жилье в Симферополе
,я заценил и осознал, что жизнь прекрасна – раз имеют место такие квартиры. Поэтому всем рекомендую веб-сайт http://rentrealtycrimea.com с Крымской недвижимостью.

15 Dafevadia  
0
You are not right. I am assured. I can prove it. Write to me in PM, we will communicate.http://travelofficeclub.ru - .

14 Dafevadia  
0
I to you will remember it! I will pay off with you!http://stroikimoskvi.ru - .

13 Seenselatar  
0
нижегородские секс знакомства http://treminfagdai.xlphp.net/cat5/znakomstva-dlya-seksa-yuzhniy.php - знакомства для секса южный знакомства в кондопоге
http://treminfagdai.xlphp.net/cat8/znakomstva-novomichurinsk.php - знакомства новомичуринск секс знакомства в балаково ищу девушку для занятия сексом сайт знакомств в туймазах
знакомства анжеро судженск знакомства починки http://treminfagdai.xlphp.net/cat8/hochu-normalnogo-seksa.php - хочу нормального секса знакомства за деньги
intimcity ru http://treminfagdai.xlphp.net/map110.php - прикольные анкеты с сайтов знакомств интим ижевск девушка не хочет меня видеть
секс знакомства для пар http://treminfagdai.xlphp.net/cat6/znakomstva-v-oktyabrskom-bashkiriya.php - знакомства в октябрьском башкирия знакомства секс экибастуз секс знакомства лесной
знакомства волосово девушка хочет анального секса секс знакомства калуга
знакомства онега знакомства в каменце подольском http://treminfagdai.xlphp.net/map163.php - интим южно сахалинск maill ru знакомства
познакомлюсь с женатым красноярск знакомства фото
bdsm знакомства познакомлюсь с парнем для секса

12 SnonsSevebord  
0
знакомства на майле http://contnaltiher.0fees.net/cat2/intim-znakomstva-yaroslavl.php - интим знакомства ярославль хочу секса бесплатно
http://contnaltiher.0fees.net/cat7/znakomstva-seks-v-alchevske.php - знакомства секс в алчевске facesittingworks дата знакомства знакомства г кривой рог
тихорецк знакомства сайт знакомств оренбург http://contnaltiher.0fees.net/cat4/seks-znakomstva-v-artemovske.php - секс знакомства в артемовске знакомства первоуральск
бесплатные секс знакомства в омске http://contnaltiher.0fees.net/cat1/seks-znakomstva-v-orehove-zueve.php - секс знакомства в орехове зуеве интим сергиев посад знакомства новозыбков
сайт знакомств в чебоксарах http://contnaltiher.0fees.net/cat2/seks-znakomstva-pospeliha.php - секс знакомства поспелиха семейная пара хочет познакомиться знакомства в санкт
набережная знакомств знакомства для секса зеленоград знакомства староминская
знакомства яндекс ру знакомства г щёлково http://contnaltiher.0fees.net/cat5/znakomstva-fryazino.php - знакомства фрязино знакомства сландо
знакомства плюс вечера знакомств кому за
знакомства городец интим ярославль

11 coedgecliew  
0
случайное знакомство порно http://stalogaddream.freeweb.pk/art.php?n=386139 - Как познакомиться с селеной гомес город на бире знакомства
http://stalogaddream.freeweb.pk/ct.php?c=9&p=18 - Тула интим объявления знакомства крым симферополь интим в великом новгороде знакомства для секса бузулук
love planet сайт знакомства знакомства в сургуте http://stalogaddream.freeweb.pk/art.php?n=628489 - Знакомства салават сайт знакомств с телефонами
я хочу полюбить девушку http://stalogaddream.freeweb.pk/art.php?n=412853 - Секс знакомства георгиевск хочу секс с двумя парнями знакомства саранск девушки
знакомства н тагил http://stalogaddream.freeweb.pk/art.php?n=808741 - Знакомство г брест познакомиться с девушкой онлайн азербайджанский сайт знакомств
сайт знакомств в запорожье досуг знакомства для секса секс знакомства в бийске
секс знакомства ставрополь однолюбовницы http://stalogaddream.freeweb.pk/art.php?n=327765 - Секс знакомства за 30 интим ленинский
секс знакомства в краснодаре бесплатно знакомства г вологда
познакомлюсь с молодым парнем сайт знакомств ведено

10 Arinnyenrinee  
0
Наш портал нерухомості свої послуги по продажу нерухомості . З нашою допомогою Ви зможете підібрати житло і для оренди на тривалий термін, і для подобової оренди. Ми пропонуємо апартаменти будь-яких цінових категорій . Тут Ви знайдете і квартири економ класу, і дорогі апартаменти. Також Ви можете вибрати підходящу Вам квартиру для погодинної оренди. Якщо Ви потребуєте оренді квартири подобово , то наш сайт завжди готовий прийти до Вас на допомога . Швидко, комфортно і надійно - у нас. Заходьте на сайт ves.Lviv.Ua.
http://ves.lviv.ua/shop/186/desc/podobove-zhitlo-u-lvovi-2-k-vul-doroshenka-44-5-khv-do-opernogo - квартири в києві оренда

1-10 11-19
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]