Всем привет! Не так давно (месяца два назад) мне пришлось импортировать карту высот (она же 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 (у меня все было резко, острые края и т.д)
И вот итог:
Вывод
Как бы не была сложна технология, выход всегда есть. Более подробно на сделал на ютубе.
Сегодня я немного освежил технологию импорта карты высот в юнити и считаю это своим достижением.
Это мой личный способ. Я понимаю, что все карты разные, но технология одна и та же. Надо просто покопаться в цифрах и все получится????
С вами был я Всем пока :)
RealSup
Очень уж напоминает ваша карта мир из одной известной серии игр
TonyAlt Автор
Какой?