Тема: Back to the future
Показать сообщение отдельно
Старый 11.04.2023, 19:22   #137
yt2
Местный
 
Регистрация: 18.01.2012
Сообщений: 814
По умолчанию

Информация для картоделов.
Не так давно, начиная с версии 2.0.9.5 внёс изменения в функционал связанный с картами.

С версии 2.0.9.5 увеличение доступного количества текстурных слотов ландшафта с 32 до 196.

Стандартный Map_T содержит информацию о дорогах и тайлах текстур. На дороги 3 бита, на тайлы 5 бит. Дефолтный формат ограничивает количество слотов для текстур числом 32 (2^5).
Логичное рассуждение, что если хочется больше слотов, то они должны использовать больше бит. Я просто вынес информацию о дорогах на отдельную текстуру, а в новом Map_T отдал все 8 бит в распоряжение текстурных слотов. Что даёт теоретическое число 256 текстур. Но из-за особенностей движка, слоты Wood и Water используют всего по 4 текстуры. Что в итоге и привело к 196 максимальному доступному количеству текстурных слотов.

Да, естественно, что файлы Map_T и load.ini должны быть обновлены для использования новых возможностей.
Хорошая новость что это выполняется не вручную. Я написал два конвертера для преобразования старых файлов в новый формат. Так что подготовка существующей карты занимает всего несколько движений мышкой, с минимумом ручной работы.
Я уже преобразовал все дефолтные карты и перепаковал их в SFS (что удивительно но размер SFS не стал больше).

Также для работы с новыми возможностями был изменён стандартный редактор карт.
Думаю тестирование покажет недоработки и возможные проблемы. Естественно я не проверял одновременное использование на карте всех 196 слотов, хотя было бы интересно посмотреть насколько это сказывается на производительности.

Пример: как выглядят Map_t до и после https://disk.yandex.ru/d/tVro4T8qtFkBeQ
Пример: как выглядят load.ini теперь (вернее на момент внедрения, сейчас небольшие отличия есть) https://disk.yandex.ru/d/EVf5BrwKkyOBCQ
Пример: как стал выглядеть редактор карт https://disk.yandex.ru/d/nLTv_cz5MTqlpQ

С версии 2.0.9.7 Затронута карта высот Map_H
Ранее она была GrayScale 8-bit. Содержала всего 255 вариантов высот. Имела нелинейный шаг точности. Существенно снижала возможность моделирования горного ландшафта. Да и вообще задать на карте точку ландшафта выше 4 с небольшим колометра было нельзя.

Изменён формат Map_H. используются обычные 32 битные TGA. Но для высот используются только каналы RED и GREEN - в сумме 16 бит информации.
Это позволило расширить допустимый диапазон высот до бессмысленных 65535м с шагом 1 м. Всегда и везде доступна эта точность, даже в горах.
Инструменты редактора карт также исправлены и позволяют в ручную корректировать высоты и сохранять изменения.
А ещё потребовалось перевести старые карты восот в формат нового, что с успехом выполнено таким же автоматическим конвертером по подобию ранее представленного для Map_T.

Ну это теория. Где же практика и демонстрация?

Пришлось мне создать карту Кавказа, чтобы продемонстрировать получаемый ландшафт в новом формате.
Для Microdem также написан преобразователь позволяющий сохранить из него карту сразу в формат для IL2X64
Этот процесс самый муторный и имеет разные подводные камни, но не в этом суть.

Это альбом со скринами карты Кавказа https://disk.yandex.ru/d/Jjf5BV1W8yAujA

Эльбрус высотой ~5600м
Рельеф гор, ущелий выглядит плавненько и соотносится с рельефом показанным на плоской картинке к карте.

Надо понимать, что я делал эту карту для демонстрации, и прокладкой дорог, текстурированием и другими необходимыми вещами не занимался
Мод с картой Кавказ2 включён в поставку. Увидеть её в полном редакторе можно запустив игру с вкл модов (il2fb.exe -mods)



С версии 2.0.9.8 появилась возможность задавать мостам высоты отличные от нуля.
Реализовал в полном редакторе, в режиме редактирования карт, возможность с помощью колёсика мыши двигать мост по вертикали.
Для этого надо выделить мост, перейти в 3D-вид и уже там крутить колёсико мышки. Мост будет двигаться по вертикали вместе с участком земли вокруг него.
Требования для установки мостов выше уровня 0м это плоская площадка под весь мост и два кусочка дорог примыкающим к нему. Если редактировать высоту ландшафта отдельно от моста, это может привести к тому, что начало, середина или окончание моста могут встать на разной высоте и между ними будет ступенька или что-то подобное. Поэтому чтобы такой фигни не было, ставьте мосты на ровные площадки.
Я протестировал проезд машинок и поездов по приподнятым мостам.
Ещё надо проверять разрушение мостов, разрушение мостов совместно с транспортом на них, уничтожение мостов самолётами и т.п.
Пример тут https://disk.yandex.ru/d/okZ9Z4UrCti9SA
Если запустить игру с вкл модов (il2fb.exe -mods) то подключится мод с картой Крыма на которой будет два приподнятых участка.


Наверное я с интересом выслушал бы мнение всех причастных к картостроению, что они об этом думают.

Конвертер файлов "старых" модных карт в новый формат. Краткая инструкция рядом с файлами. https://disk.yandex.ru/d/Xas_hr-_1JpXhA

Последний раз редактировалось yt2; 11.04.2023 в 19:46.
yt2 вне форума   Ответить с цитированием