Всем привет! Не так давно (месяца два назад) мне пришлось импортировать карту высот (она же heightmap) в игровой движок unity. Все, что я нашарил в интернете - устаревшие статейки 2012 года. И да, официальные доки юнити тоже устарели...
Начнем с начала
Я снял еще видео и выложил на ютуб. Если ничего не понятно - смотрите здесь. Я создал проект, затем создаем новый террейн(3D -> Terrain)
![новый проект новый проект](https://habrastorage.org/getpro/habr/upload_files/4bc/2ff/109/4bc2ff10944a59339662830e8b7e8141.png)
![новый террейн новый террейн](https://habrastorage.org/getpro/habr/upload_files/a70/46f/702/a7046f702ae2c56bd6270504d78cdb21.png)
![вот так он выглядит вот так он выглядит](https://habrastorage.org/getpro/habr/upload_files/f59/908/dea/f59908deaef4728925dea96f7feae702.png)
Итак, ландшафт готов, самое время его сделать объемным
Можно использовать инструменты в инспекторе:
![](https://habrastorage.org/getpro/habr/upload_files/ae8/c1c/d07/ae8c1cd07900181d836bcabb82ce5a90.png)
Но такой способ неудобен и подходит либо для создания маленьких карт, либо для редактирования уже готовых
Берем карту высот
Для начала надо взять образец карты в самом движке
Переходим в Settings(шестеренка справа)
![](https://habrastorage.org/getpro/habr/upload_files/925/2c8/683/9252c8683082995c17c763c15c5dc2ce.png)
И мотаем вниз
(P.S): чуть выше в графе terrain width и terrain height поставьте значения побольше(у меня это раз в 10)
![](https://habrastorage.org/getpro/habr/upload_files/e65/c08/445/e65c084457551342bf593d522e3586bf.png)
Heightmap resolution - разрешение карты. Чем выше - тем карта точнее. Но острее. У меня стабильно 1025
Import Raw / Export Raw - кнопки для импорта/экспорта карты соответственно
Control texture resolution - "смешивание" текстур рельефа.
Я сам не знаю что это, поэтому я оставляю по умолчанию. Если что, потом методом тыка подкрутим
Ну и Base texture resolution - разрешение текстур. Чем все эти цифры выше - тем качественнее террейн. Ежу понятно...
В итоге мои значения такие:
![](https://habrastorage.org/getpro/habr/upload_files/73f/da6/0b7/73fda60b7366cf3005301df90b34b774.png)
Нажимаем Export Raw и...
![](https://habrastorage.org/getpro/habr/upload_files/011/45a/811/01145a811dad1cbfdab70e9c6caaa186.png)
Я оставил как есть. Затем просто нажимаем кнопку export и сохраняем карту. Идем дальше
Редактируем карту
Я сохранил карту(она должна быть в формате .raw). Затем открыл ее с помощью фотошопа.(просто нажал о ней ПКМ -> Открыть с помощью -> Photoshop)
Еще я скачал самую простую карту высот из интернета. Вот она:
![](https://habrastorage.org/getpro/habr/upload_files/ad3/232/d5d/ad3232d5d6fc16635679b7ad553eb815.png)
Тоже открываю эту картинку в фотошопе -> ctrl + A -> ctrl + C
Переходим в файл с картой высот и ctrl + V
В итоге получается так:
(карту еще придется немного уменьшить)
![](https://habrastorage.org/getpro/habr/upload_files/bfd/b41/422/bfdb414220011431b75126f245dd5b5b.png)
Черной кистью удаляю все ненужное:
![](https://habrastorage.org/getpro/habr/upload_files/1bd/edd/b68/1bdeddb687c74fde6c60994102d27089.png)
Затем ctrl + shift + S и выбираем формат .RAW
![](https://habrastorage.org/getpro/habr/upload_files/6a2/290/b79/6a2290b79f2e3684b35efc294d537073.png)
Возвращаемся в Юнити
Находим кнопку Import Raw
![Вот она Вот она](https://habrastorage.org/getpro/habr/upload_files/5fd/b2d/3b6/5fdb2d3b63cb3ebe2b2693582bea3503.png)
И выбираем нашу RAW карту
![](https://habrastorage.org/getpro/habr/upload_files/402/768/a44/402768a4432bfefaf07442159e738c8f.png)
Ничего не меняем и нажимаем Import
И тут такое...
Вполне возможно, что у вас будут либо штыки либо ничего. Не паникуем! Это мой горький опыт. Надо просто поменять цифры в настройках террейна
![Было так Было так](https://habrastorage.org/getpro/habr/upload_files/867/b40/6ff/867b406ff2b5121751b8d765102ca694.png)
Мои шаги:
1) Я вернул значения с 10000 на 1000(в графах terrain width и height)
2) Terrain Height на 5000 вместо 600 по дефолту
3) Heightmap Resolution на 513 (у меня все было резко, острые края и т.д)
И вот итог:
![Вдали вроде бы все размыто, но... Вдали вроде бы все размыто, но...](https://habrastorage.org/getpro/habr/upload_files/1dc/09c/288/1dc09c288b851446b4e4ff5e10ca5828.png)
![Вблизи Вблизи](https://habrastorage.org/getpro/habr/upload_files/4fd/182/9a0/4fd1829a0eeb3d277d61650f84ab9a3b.png)
Вывод
Как бы не была сложна технология, выход всегда есть. Более подробно на сделал на ютубе.
Сегодня я немного освежил технологию импорта карты высот в юнити и считаю это своим достижением.
Это мой личный способ. Я понимаю, что все карты разные, но технология одна и та же. Надо просто покопаться в цифрах и все получится?
С вами был я Всем пока :)