Импорт карты высот (heightmap) в Unity / Хабр
Всем привет! Не так давно (месяца два назад) мне пришлось импортировать карту высот (она же 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 (у меня все было резко, острые края и т.д)
И вот итог:
Вдали вроде бы все размыто, но…ВблизиВывод
Как бы не была сложна технология, выход всегда есть. Более подробно на сделал на ютубе.
Сегодня я немного освежил технологию импорта карты высот в юнити и считаю это своим достижением.
Это мой личный способ. Я понимаю, что все карты разные, но технология одна и та же. Надо просто покопаться в цифрах и все получится😎
С вами был я Всем пока 🙂
Карты высот
Автор: wiki. thesimsresource.com
Перевод: Girlie
С помощью карты высот мы сможем задавать ландшафту в нашем мире определенную высоту, используя рисунки, выполненные в полутонах. Создание любого мира начинается с карты высот. Вы можете начать с карты равнины (flat map) или выбрать любой другой вариант. И конечно же, вы сможете создать свою собственную карту, разместив ее в папке, расположенной по адресу: …/Мои документы/Electronic Arts\Редактор Создание городка The Sims 3\UserToolData\HeightMaps
Создание своей собственной карты высот
Вы сможете придавать ландшафту вашего мира различные высоты, используя цвета. Если в ваших планах создание холмов или гор, начать создание городка с создания такой карты является идеальным решением, которое сбережет ваше время вместо того, чтобы потратить его на работу с инструментами изменения ландшафта.
-
Создать карту ландшафта вы сможете в любом графическом редакторе, сохранив ее в формате . png. Изображение должно быть квадратной формы, длиной 256, 1024 или 2048 пикселей.
-
Масштаб созданной карты высот по отношению к игре будет составлять 1 пиксель карты = 1 квадрат в игре.
-
Прочитайте информацию, данную ниже, чтобы узнать больше о картах высот.
Вы сможете импортировать и экспортировать свои собственные карты высот, используя соответствующие кнопки:
Используемые технические термины
Значение RGB – это способ передачи цветов через три цвета: красный, зеленый и синий. Когда вы вводите значения RGB в вашу карту высот, должны быть обозначены одинаковые номера для красного, зеленого и синего.
Значение Y – высота территории, однажды импортированной в Редактор создания городков
Цвета
Карта высот должна быть выполнена в полутонах (черно-белое изображение). При этом стоит обратить внимание на значения каждого цвета для редактора:
-
Черный и Белый цвета. С помощью карты высот редактор получает информацию о высоте ландшафта. Черный (Значение RGB – 0) показывает самую низкую точку карты, где значение Y также будет ровняться нулю. Белый цвет ((Значение RGB – 256) показывает наивысшую точку на карте. Значение Y будет равняться в зависимости от выбранной в Редакторе максимальной высоты – 100, 200 или 300.
-
Серые тона. Любые серые цвета (тона между черным и белым) показывают о наличии других высот. Для примера, 50% серого (Значение RGB – 128, ровно ? между черным и белым цветами) будет обозначать среднюю высоту ландшафта между минимальными и максимальными значениям высоты мира.
Вот так выглядят создаваемые карты высот:
Создание верного значения с помощью RGB
Вы сможете придать наиболее правильную высоту значения Y, используя точные значения RGB на вашей карте высот. Это возможность может оказаться очень полезной при создании ландшафта из топографических карт, что позволит вам воспроизвести высоты реально существующих местностей.
Будьте аккуратны! Вам необходимо задавать различные значения высот в зависимости от максимального уровня вашей карты (100, 200 или 300). Если вы используете некорректное значение, то карта работать не будет!
Для того, чтобы указать точные значения RGB, вам необходимо выполнить следующее равенство, взяв верные значения прироста высот из таблицы представленной ниже:
Требуемое значение Y x Точное значение прироста высоты = значение RGB
Так, если я хочу получить значение Y, равное 125, на карте, с установленной максимальной высотой, равной 300, я должен:
125 х 0.8533 = 107
Таким образом, я покрываю участки моей карты высот серым цветом, со значением RGB, равному 107
Максимальная высота карты | 1 прирост высоты |
100 | 2,56 |
200 | 1,28 |
300 | 0. 8533 |
USDA Forest Service FSGeodata Clearinghouse
USDA Forest Service FSGeodata Clearinghouse — FSTopo Map Products
|
Loudoun County, Virginia : топографическая карта масштаба 1:50 000
Об этом изделии
Заголовок
- Округ Лаудоун, Вирджиния : топографическая карта масштаба 1:50 000
Имена
- Геологическая служба (США)
Создано/опубликовано
- Рестон, Вирджиния: Обзор, 1992.
Заголовки
- — Округ Лаудон (Вирджиния) — Карты
- — США—Вирджиния—округ Лаудоун
Жанр
- Топографические карты
Заметки
- — «Карта отредактирована в 1992 году».
- — Рельеф показан контурами и высотами пятен.
- — Название в левом верхнем поле: округ Лаудоун, штат Вирджиния.
- — Название в правом нижнем поле: Loudoun County, VA.
- — Включает карту местоположения, указатель на карты масштаба 1:24 000 и таблицу преобразования.
- — «39077-A5-CF-050.»
- — Доступен также на веб-сайте Библиотеки Конгресса в виде растрового изображения.
Середина
- 1 карта: цв. ; 110 х 112 см.
Номер телефона/физическое местоположение
- G3883. L5 1992 .G4
Репозиторий
- Отдел географии и карт Библиотеки Конгресса Вашингтон, округ Колумбия 20540-4650 США dcu
Цифровой идентификатор
- http://hdl.loc.gov/loc.gmd/g3883l.ct009258
Контрольный номер Библиотеки Конгресса
- 94684535
Номер OCLC
- 29643635
Онлайн формат
- изображение
Постоянная ссылка LCCN
- https://lccn. loc.gov/94684535
Дополнительные форматы метаданных
- MARCXML-запись
- МОДС Запись
- Дублинская основная запись
Манифест презентации IIIF
- Манифест (JSON/LD)
Часть
- Общие карты (6693)
- Отдел географии и карт (56 430)
- Американская память (513 363)
- Онлайн-каталог Библиотеки Конгресса (1 351 258)
Права и доступ
Карты в материалах Коллекции карт были либо опубликованы до 1922 г. , произведено правительством США, или и тем, и другим (см. каталог записи, которые сопровождают каждую карту для информации о дате издание и источник). Библиотека Конгресса предоставляет доступ к эти материалы в образовательных и исследовательских целях и не знает о любой защиты авторских прав США (см. Раздел 17 Кодекса Соединенных Штатов) или любой другие ограничения в материалах Коллекции карт.
Обратите внимание, что письменное разрешение владельцев авторских прав и/или других прав владельцев (таких как права на публичность и/или конфиденциальность) требуется для распространения, воспроизведение или иное использование охраняемых объектов, выходящее за рамки разрешенного добросовестным использованием или другие установленные законом исключения. Ответственность за создание независимого юридическая оценка объекта и получение необходимых разрешений в конечном итоге остается за лицами, желающими использовать предмет.
Кредитная линия: Библиотека Конгресса, отдел географии и карт.