LoadLine Calibration Опубликовано: 15 мая Опубликовано: 15 мая (изменено) Довольно давно Jim сделал адаптацию редактора UnrealEd2 от Unreal Tournament 99, чтобы он работал с картами DeusEx. В целом это работало, но у такого редактора были недостатки - не работала функция Play Map, не отображались модели, а построение путей для ИИ работало несколько иначе. В дальнейшем большинство этих недостатков было устранено, но для правильного отображения моделей требовался дополнительный шаг - конвертация их в формат Unreal 3D. В чём вообще суть проблемы? Обычный UnrealEd для UT99 не умеет правильно читать модели в формате DeusEx 3D mesh напрямую, потому что ждёт свой формат, где одна вершина занимает 4 байта. А в Deus Ex HP-моделях одна вершина занимает 8 байт: координаты X/Y/Z хранятся точнее, по 16 бит на ось. Из-за этого, если дать редактору такую модель как есть, он читает вершины неправильно: берёт половинки HP-вершин и считает их обычными старыми вершинами, и в результате геометрия превращается в кашу. Как была решена проблема? Для редактора был создан дополнительный модуль - DXMeshExt. Мы не заставляем весь UnrealEd понимать новый формат глобально. Вместо этого оставляем редактору обычный Mesh/LodMesh-объект, но отдельно храним настоящие HP-вершины Deus Ex (в side-cache). Когда редактор хочет нарисовать модель, он вызывает функцию UMesh::GetFrame(). Её задача проста: вернуть массив координат вершин для нужного кадра анимации. И вот здесь срабатывает модуль DXMeshExt. Редактор предполагает что получает вершины из обычного Mesh-> Verts, но DXMeshExt перехватывает этот момент и подсовывает ему правильный массив координат, собранный из Deus Ex HP-данных. И вместо 4-байтных вершин Unreal/UT в отрисовку уходят нужные нам координаты, то есть Deus Ex HP вершины: X/Y/Z из 8-байтного формата. Таким образом, у нас теперь есть возможность просматривать пакеты с моделями в формате DeusEx 3D, без конвертации в формат Unreal 3D, то есть теперь редактор сразу правильно распознаёт пакеты с моделями и правильно их отображает. Весь функционал сохранён - можно просматривать анимации, редактировать свойства модели и прочее. Дополнительные улучшения: Возможность предварительного просмотра ParticleGenerator прямо в редакторе. Также поддерживаются ElectricityEmitter, LaserTrigger и BeamTrigger. Просмотр путей CameraPoint. Построение путей для ИИ: Редактор Unreal Tournament строит пути так, чтобы для каждого Inventory добавлялся InventorySpot. Это необходимо для ботов, чтобы они могли находить оружие, аптечки, и прочие предметы. В оригинальном DeusEx эта особенность была отключена, в UnrealEd 2.2x она также была отключена. В дополнение к этому был добавлен PathBlockingActor - специальный Actor, который не позволяет pathbuilder проводить пути там, где он установлен. Это как некий аналог proscribed paths в Unreal 227/Unreal Engine 2. В дополнение к этому, были скорректированы константы PathBuilder, чтобы по поведению он был больше похож на DeusEx-версию, и проводил пути в том числе через узкие дверные проёмы. Установка: Нужно распаковать архив в базовый каталог DeusEx и запустить UED22x\UnrealEd.exe. При необходимости можно отредактировать файл UnrealTournament.cmd, он используется когда вы нажимаете кнопку "Play Map!" Скопируйте DeusExCharacters.u, DeusExDeco.u, DeusExItems.u из DeusEx\System\ в DeusEx\UED22x\, поскольку теперь они в архив не входят. Если ваш мод использует свои модели, то соответствующий package также нужно скопировать в UED22x\. Примечание: Этот редактор хоть и решает большинство проблем, но он самой главной не избавляет, и поэтому до сих пор нужно готовить две версии Packages, для игры и для этого редактора. Но по крайней мере, вопрос с моделями теперь закрыт, а редактор получил несколько приятных улучшений. Важно: Если вы собираетесь использовать PathBlockingActor, то обязательно включайте файл PathBlocker.u в свой мод. Скачать (тестовая версия): https://drive.google.com/file/d/1qKEFd5VJ8bSqbbnqKQ0kvCG9L9O-LIym/view?usp=sharing Изменено 27 июля пользователем LoadLine Calibration Релиз
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас