Всем привет! Не так давно (месяца два назад) мне пришлось импортировать карту высот (она же 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 (у меня все было резко, острые края и т.д)

И вот итог:

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

Вывод

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

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

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

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

Комментарии (2)


  1. RealSup
    06.05.2022 16:29

    Очень уж напоминает ваша карта мир из одной известной серии игр


    1. TonyAlt Автор
      07.05.2022 19:43

      Какой?