Неотъемлемой частью практически любого игрового графического движка является ландшафтный движок. Довольно сложно представить современные игры без живописных холмов, долин, лесов и рек. Рендеринг открытых пространств является достаточно сложным и ресурсоемким процессом даже на современных графических картах, способных пропускать через себя миллионы полигонов в секунду. Чтобы уменьшить их количество, разработчики используют различные методы и приемы для оптимизации работы алгоритмов рендеринга, такие как LOD, ROAM или OCTREE. Чаще всего в памяти компьютера данные о ландшафте представлены в виде карты высот - текстуры, представленной в виде градаций серого цвета. Чем светлее цвет на текстуре, тем выше точка на ландшафте. Также используютса различные способы текстурирования сетки ландшафта. В некоторых случаях сетка разбивается на части и каждая из них имеет свою собственную текстуру, в других случаях используется одна огромная текстура, которая покрывает весь ландшафт. Именно такие текстуры мы и научимся сегодня рисовать. И для этого мы будем использовать всем известный пакет для моделирования 3D графики. Может быть, это прозвучит немного странно, но сегодня 3D Studio MAX мы будем использовать в качестве графического редактора. Данный материал не претендует на оригинальность и опытным разработчикам он может показаться знакомым, но думаю кому-то из начинающих он будет весьма полезен. И так, вперёд... Перед началом работы предполагается, что у вас уже есть готовая карта высот ландшафта в виде графического файла. Формат файла значения не имеет, 3D Max понимает практически все. В данной статье я не буду останавливаться на вопросах создания карты высот. Достаточно много информации можно найти в сети. Из инструментов понадобится, естественно, 3D Studio Max версии не ниже 7.0 и PhotoShop любой версии, хотя можно обойтись и без него. Также необходим набор текстур небольшого разрешения (256x256 будет вполне достаточно), которые будут служить нам в качестве исходного материала. А теперь, запускаем 3D Max, и пока он грузится можно пойти сделать себе большую кружку кофе! Первое, что нам предстоит сделать - это создать в 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 Ну а теперь немного спланируем, что-же мы должны получит в конечном итоге. Мы имеем холмистую местность с большим перепадом высот. Соответственно, высоко в горах у нас будет лежать снег, чуть ниже будет грязная земля, на равнинах трава, и низины соответственно заполнены водой. Такое планирование очень сильно поможет нам в дальнейшей работе. Собственно на этом подготовительная работа закончена. Далее начинается самое интересное, приступаем к текстурированию нашего детища!