Перейти к содержимому

Добро пожаловать Falcon-Lair.com
Регистрация даст вам полный доступ к возможностям нашего сайта. Зарегистрировавшись или войдя под своим логином, вы сможете создавать темы, оставлять ответы в имеющихся темах, скачивать наши работы, участвовать в обсуждениях наших работ, пользоваться галереей, вести блоги, высказывать свои пожелания и даже принимать участие в развитии нашего проекта SFW и многое другое. Данное сообщение исчезнет, как только вы авторизируетесь. Если у вас возникли какие-либо проблемы с авторизацией (не приходит письмо), воспользуйтесь формой обратной связи.
Войти Регистрация

Информация

  • Добавлена: 09 сент. 2017 16:55
  • Обновлена: 09 сент. 2017 17:02
  • Просмотров: 38
 


* * * * *
0 Рейтинг

Генерация ландшафта по карте высот

Написано MagnuMspec 09 сент. 2017 16:55

Генерация ландшафта на основе реальных карт высот.

 

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

И это оправданно, такой подход обеспечивает хорошую точность и позволяет хорошо сэкономить время, как если бы ландшафт строился вручную в GECK.

 

Перед вами собирательная мини-инструкция о том, как  программными средствами воссоздать геометрию ландшафта какой-нибудь территории, чтобы затем приступить к обработке его в GECK и, разумеется, строительству локаций.

 

I. Необходимое ПО.
- Adobe Photoshop или любой его эквивалент, способный работать с RAW.
- GECK.
- (опционально) TESannwyn
- VTP (Virtual Terrain Project): http://vterrain.org/Download/ (или другое ПО, способное работать с DEM)

II. Подготовка карт высот.

 

1. Экспортируем DEM.
Это можно сделать на сайте USGS: https://viewer.nationalmap.gov/basic/
- В правом окне откройте нужный вам регион и нажмите Search Products.
- Откроется список доступных файлов, с помощью кнопки Thumbnail вы можете определить какой или какие файлы вам нужны (они покажутся на карте). Самый подходящий формат - 1/3 arc. Всегда берите только формат 'arcgrid'.
- Нажав там же Download, вы скачаете большой архив по данному квадрату. Распакуйте архив в рабочую папку.

 

2. Конвертируем в RAW.
Запускаем Virtual Terrain Project (VTBuilder).
- Жмете Layer - Import Data - Elevation. Выбираете самый большой файл *ADF в из полученного выше архива. Ждете.
- Далее жмете Elevation - Export to. Здесь вариантов много, но уж точно работает выбор RAW (Scaled to 8-bit) for Unity. Сохраняем.

 

III. Обработка карт высот.
3. Открываем в Photoshop полученный RAW.

 

4. Уменьшаем размер каждого RAW до 3072x3072. В этом случае для одного квадрата получается оптимальный по игровым меркам ландшафт.
Для понимания: в полученном квадрате у нас три на три игровых блока.
(Далее идет выбор, зависящий от используемого ПО. Но работы продолжаются в Фотошопе.)

 

>Вариант для импорта через GECK.
5. Нужно преобразовать картинку в 16-битную в градациях серого.
6. При необходимости повысить ей контрастность, сгладить швы и т.д.
7. Нужно порезать ее на четкие квадраты 1024x1024, и сохранить с названиями, в соответствии со схемой: http://geck.bethsoft...verviewgrid.jpg
8. Положить сохраненные файлики RAW в Data/Heightfield

Идем в GECK. Грузим наш мод, выбираем HeightMap. Ждем пока откроется окно, жмем импорт. Ждем. Сохраняем плагин. Готово.

>Вариант для импорта через tesannwyn.
Мне он импонирует больше, т.к. в чем-то проще и умеет работать с разной битностью RAW. Я после кучи экспериментов остался на 8-бит.
Итак:
5. Если у нас несколько RAW, которые нужно сцепить вместе, делаем это в Photoshop, попутно подгоняя их яркость и контрастность друг к другу. (карты высот разных годов отличаются).
6. Добавляем немного размытия. Мне приглянулся результат размытия по поверхности. Стоит поиграть ползунками, чтобы немного сгладить особенности 8битности (швы).
7. Резать на квадраты здесь не нужно, картинка может быть большой, но она должна быть квадратной. (У меня получился квадрат 6144x6144). Импортируются ячейки 1 к 1, так что лучше иметь размер изображения, кратный 1024.
8. И так, мы экспортировали RAW (у меня он получился весом 36 MB)

9. Теперь переходим непосредственно к tesannwyn. Я работал через консоль, т.к. интерфейс mpgui работать корректно не хотел.
Через консоль нам нужно составить и выполнить команду:

tesannwyn.exe -i FalloutNV -p 1 -b 8 -d 6144x6144 -s 3.0 -x -100 -y -100 -h 500 -w TESAnnwyn "F:\Fallout\Programs\MPGUI\templates\6144.raw"

Разберем ее по порядку:
-i - импорт, ключ указана игра.
-p - режим. 1 - это RAW.
-b - битность, указано 8.
-d - разрешение файла.
-s масштаб. Но по факту это множитель высоты. У меня 3, т.е. в игре контраст высот будет в 3 раза больше, чем в исходном RAW. Стоит поиграться с этим параметром, т.к. карты в игре значительно меньше реальных прототипов и множитель 1 сделает горы маленькими холмами.
-x и -y - это значения крайней левой нижней ячейки. У меня по -100, что для 6144x6144 значит, что карта простирается от -100,-100 до 92,92.
-w - название мирка в плагине. Можно потом спокойно поменять в GECK.
Ну и путь до raw, в конце.

(Параметров на самом деле куда больше, ниже полный перечень)

Скрытый текст

 

 

Запустив команду, она потратит какое-то время, и создаст в своем каталоге файл: tesannwyn.esp
Его вес будет зависеть от того, насколько гладкая или рельефная у вас карта высот. У меня при наиболее красивом результате вышло 33mb.
Но 6144x6144 - это 36 блоков, что ОЧЕНЬ много. Для сравнения, доступная для пешей прогулки карта Столичной пустоши F3 - это 4 блока или чуть больше.

 

Вот. Полученный ESP можно спокойно переносить в Data, и запускать в GECK, чтобы назначить погоду, и ряд других параметров. То же самое можно сделать и в FNVEdit.

*Если у вас GECK берет много памяти и зависает (бывает на тяжелых файлах), поставьте плагину флаг ESM в FNVEdit.

 

 

Часть информации взята отсюда: Tutorial-Converting a DEM to a Heightmap

  • Logsl это нравится