Всем привет! Не так давно (месяца два назад) мне пришлось импортировать карту высот (она же heightmap) в игровой движок unity. Все, что я нашарил в интернете - устаревшие статейки 2012 года. И да, официальные доки юнити тоже устарели...

Начнем с начала

Я снял еще видео и выложил на ютуб. Если ничего не понятно - смотрите здесь. Я создал проект, затем создаем новый террейн(3D -> Terrain)

новый проект
новый террейн
вот так он выглядит

Итак, ландшафт готов, самое время его сделать объемным

Можно использовать инструменты в инспекторе:

Но такой способ неудобен и подходит либо для создания маленьких карт, либо для редактирования уже готовых

Берем карту высот

Для начала надо взять образец карты в самом движке

Переходим в Settings(шестеренка справа)

И мотаем вниз

(P.S): чуть выше в графе terrain width и terrain height поставьте значения побольше(у меня это раз в 10)

Heightmap resolution - разрешение карты. Чем выше - тем карта точнее. Но острее. У меня стабильно 1025

Import Raw / Export Raw - кнопки для импорта/экспорта карты соответственно

Control texture resolution - "смешивание" текстур рельефа.

Я сам не знаю что это, поэтому я оставляю по умолчанию. Если что, потом методом тыка подкрутим

Ну и Base texture resolution - разрешение текстур. Чем все эти цифры выше - тем качественнее террейн. Ежу понятно...

В итоге мои значения такие:

Нажимаем Export Raw и...

Я оставил как есть. Затем просто нажимаем кнопку export и сохраняем карту. Идем дальше

Редактируем карту

Я сохранил карту(она должна быть в формате .raw). Затем открыл ее с помощью фотошопа.(просто нажал о ней ПКМ -> Открыть с помощью -> Photoshop)

Еще я скачал самую простую карту высот из интернета. Вот она:

Тоже открываю эту картинку в фотошопе -> ctrl + A -> ctrl + C

Переходим в файл с картой высот и ctrl + V

В итоге получается так:

(карту еще придется немного уменьшить)

Черной кистью удаляю все ненужное:

Затем ctrl + shift + S и выбираем формат .RAW

Возвращаемся в Юнити

Находим кнопку Import Raw

Вот она

И выбираем нашу RAW карту

Ничего не меняем и нажимаем Import

И тут такое...

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

Было так

Мои шаги:

1) Я вернул значения с 10000 на 1000(в графах terrain width и height)

2) Terrain Height на 5000 вместо 600 по дефолту

3) Heightmap Resolution на 513 (у меня все было резко, острые края и т.д)

И вот итог:

Вдали вроде бы все размыто, но...
Вблизи

Вывод

Как бы не была сложна технология, выход всегда есть. Более подробно на сделал на ютубе.

Сегодня я немного освежил технологию импорта карты высот в юнити и считаю это своим достижением.

Это мой личный способ. Я понимаю, что все карты разные, но технология одна и та же. Надо просто покопаться в цифрах и все получится?

С вами был я Всем пока :)