Давайте без вступлений! В этой статье мы поговорим о создании земли в видеоиграх. О том, почему на локациях вы часто видите одинаковые камни, деревья и дома. Заваривайте пельмени, на связи разработчик игр с восьмилетним опытом работы и мы начинаем!
Terrain - земля написанная на бумаге
В самой первой статье на этом канале мы с вами разобрались в том, что такое 3D модель и как игровой движок её создаёт. Но в связи с современным алгоритмом создания 3D моделей появляется проблема. Одно дело когда компьютер просчитывает городскую локацию с прямоугольными домами. Другое дело когда локация состоит из высокодетализированных холмов и гор. На просчитывание всех полигонов может уйти очень много ценных вычислительных ресурсов. Потому разработчики игр давно нашли замену классическим точкам и полигонам.
Всё описанное дальше - простейшее объяснение где я опускаю много подробностей. Давайте создадим текстовый документ и напишем в нём числа в диапазоне от 1 до 9 размером 3 на 3 числа. У нас выйдет вот такая текстовая матрица:
Давайте теперь представим что одно число будет равняться площади в 100м ² . Теперь запихнем эту матрицу в игровой движок и скажем что число 1 = 0 метров над уровнем моря, а 9 = 100 метров над уровнем моря.
Ждём небольшого просчёта и получаем вот такой Terrain:
Хотя мы получили плоскость с подъёмом в центре - это не сильно похоже на землю. Потому разработчики придумали целый ряд инструментов которые позволяют дизайнерам "рисовать" горы и холмы буквально "кисточкой". Все их рисунки превращаются в матрицу чисел. Простейший пример на картинке ниже. Тут один квадратик равен одному числу на матрице:
Текстуры нарисованные числами
Но по чисто белой или чёрной земле бегать скучно. Давайте возьмём ту же матрицу чисел и представим что 1 = картинка с зелёной травой, а 2 = камень. Вот так выглядит матрица теперь:
Теперь перенесем её на наш Terrain и получим хорошо затекстурированную землю:
Terrain - деревья как матрица
Как вы должны были догадаться - деревья мы будем садить таким же способом. Как и траву. Как и камни. Всё что нужно - присвоить числам матрицы их 3D модели. Например 1 = дерево, 2 = камень, 3 = трава и т.д.
И всё, мы получим Terrain c растительность. и камнями.
Теперь видя в играх землю вы всегда будете помнить, вы ходите не столько по земле, как по матрице из чисел. Довольно интересно наблюдать за тем, как такие красивые локации выходят у дизайнеров при использовании нескольких численных матриц.
Ребят, заканчиваются идеи для статей! Пишите в комментариях темы - которые вам было бы интересно увидеть в моих статьях!