Site Loader

Содержание

Импорт карты высот (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

Перейти к основному содержанию

  • Центр обмена информацией
  • Справка
  • Свяжитесь с нами
  • Загружаемые данные
  • Инструмент обнаружения геопространственных данных
  • Открытые данные Data. gov
  • Картографические службы
  • FSTopo
  • Стандартные картографические продукты
  • Другие картографические продукты
  • Загрузка данных ACCEL
  • Земельный покров Карибских островов
  • Чугач Обновления
  • Климат
  • Лесная биомасса
  • Система мониторинга ландшафтных изменений
  • Тип национального леса
  • Пастбища
  • РАВГ
  • Набор региональных ресурсов Сьерра-Невада
  • Навес для деревьев
  • Государственное и частное лесничество
  • Дикая природа, WSR и WSA
  • Исследования и разработки
  • Проект анализа пробелов в Пуэрто-Рико

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 Кодекса Соединенных Штатов) или любой другие ограничения в материалах Коллекции карт.

Обратите внимание, что письменное разрешение владельцев авторских прав и/или других прав владельцев (таких как права на публичность и/или конфиденциальность) требуется для распространения, воспроизведение или иное использование охраняемых объектов, выходящее за рамки разрешенного добросовестным использованием или другие установленные законом исключения. Ответственность за создание независимого юридическая оценка объекта и получение необходимых разрешений в конечном итоге остается за лицами, желающими использовать предмет.

Кредитная линия: Библиотека Конгресса, отдел географии и карт.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *