Частые вопросы о плагине 3DGS для UE5
Какие форматы данных поддерживаются?
LCC2 (.lcc2), LCC (.lcc), SOG (.sog), SPZ (.spz), PLY (.ply).
Какие версии UE поддерживаются?
UE 5.4 ~ 5.8.
Какие платформы поддерживаются?
Windows (Win64), Linux. macOS, Android и iOS не поддерживаются.
Поддерживается ли Linux Arm64?
Текущие выпущенные версии плагина не поддерживают кросс-компиляцию из Windows на платформу Linux Arm64.
Есть ли нативная версия плагина для Linux?
Есть, но она не доступна для скачивания на платформе разработчика. Чтобы запросить версию для Linux, отправьте письмо на sdk@xgrids.com по такому шаблону:
- Название компании:
- Назначение: для чего используется плагин
- Версия движка: для какой версии движка нужен плагин
- Источник информации: откуда вы узнали о плагине
Можно ли использовать плагин на пользовательской версии движка?
Выпускаемые пакеты плагина подходят только для движка, опубликованного Epic. Кастомные ветки производителей (например, ветка NVIDIA RTX), коммерческие движки на базе UE (например, Pixotope), а также движки с самостоятельно изменённым исходным кодом требуют отдельной адаптации, см. Пользовательские версии движка.
В чём разница между LCC и LCC2?
Конвейер LCC — это старая реализация с потоковой загрузкой по частям. Конвейер LCC2 — текущий основной конвейер, который поддерживает вывод глубины, LOD-октодерево, генерацию нормалей и другие новые возможности. Одиночные форматы (SOG/SPZ/PLY) внутри используют конвейер LCC2.
Как выбрать Actor?
- Файл
.lcc2→ ALCC2Actor - Файл
.lcc→ ALCCActor - Файл
.sog→ ASogActor - Файл
.spz→ ASpzActor - Файл
.ply→ APlyActor
Поддерживаются ли относительные пути?
Да. Относительные пути отсчитываются от каталога Content проекта. При распространении на другие машины относительные пути обязательны.
Плагин с открытым исходным кодом? Можно ли менять исходники?
Нет. Плагин распространяется в бинарном виде и предоставляет только скомпилированные модули и публичный API, без исходного кода.
Поскольку плагин бинарный, папку Intermediate в каталоге плагина удалять нельзя. Intermediate проекта можно сгенерировать заново, а у плагина после удаления восстановить его невозможно — придётся заново скачивать пакет плагина.
Поддерживается ли импорт PLY? Какие требования к PLY?
Поддерживается, но к формату есть требования:
- Должен быть PLY стандартного формата 3DGS
- Сферические гармоники поддерживаются в степенях 0, 1, 2 и 3 (степень 3 — это 45 coefficients)
- Тип свойств должен быть
float - Порядок свойств должен совпадать со стандартом 3DGS
- Наличие свойства Normal не обязательно
PLY, которые не соответствуют этим условиям (например, нестандартные варианты, экспортированные сторонними инструментами), нужно сначала преобразовать в стандартный формат. Обычные геометрические облака точек в PLY загрузить нельзя.
Кроме того, у PLY нет ни LOD, ни разбиения на части, поэтому большие сцены лучше переводить в формат LCC2.
Поддерживается ли сборка под Android?
Текущая версия не поддерживает прямую сборку под платформу Android. Для использования на устройствах VR применяйте схему с запуском на ПК и стримингом, см. Быстрый старт — Quest3.
Поддерживается ли ортографический вид?
Поддерживается. Оба режима отображения — 3DGS и облако точек — корректно отображаются в ортографическом виде, и все пять форматов (.lcc, .lcc2, .sog, .spz, .ply) ведут себя одинаково. При переключении на ортографический вид ничего настраивать не нужно: плагин сам определяет режим проекции камеры.
Для планов, фасадов, видов сверху и других изображений без перспективы достаточно переключить вьюпорт или камеру в ортографический режим.
Может ли зеркальный материал отражать 3DGS?
Нет. Когда нужен эффект отражения (например, зеркало заднего вида), используйте вместо него компонент SceneCapture2D движка для захвата изображения.
Можно ли рендерить вместе с обычными моделями Mesh?
Можно. Типичный подход: инструментами обрезки удалить из 3DGS часть, которую нужно заменить, а затем поместить переработанный Mesh в обрезанную область — плагин автоматически обработает глубину и перекрытие.
Материал Mesh лучше делать непрозрачным (Opaque): полупрозрачные материалы могут давать проблемы с сортировкой по глубине. Границу обрезки стоит вывести немного за пределы Mesh.
Можно ли получить широту и долготу точки на 3DGS?
Плагин не предоставляет интерфейс преобразования координат напрямую, но расчёт можно выполнить самостоятельно. Файл описания .lcc2 содержит информацию epsg и offset, и вместе с GetRTKBaseLocation и методами преобразования географической системы координат её можно пересчитать.
Можно ли отобразить в плагине аннотации из LCC Studio?
Нет. Аннотации сохраняются в файл attrs.lcp, который плагин не разбирает, поэтому читать и отображать его должен прикладной слой.
Можно ли перенести в UE скайбокс, настроенный в LCC Scene Editor?
Нет. Здесь нужно разделить два легко путающихся понятия, потому что «небо», которое видно в сцене LCC, на самом деле берётся из двух разных источников:
| Данные окружения (Environment Data) | Скайбокс (Skybox) | |
|---|---|---|
| Что это | Фон окружения сцены, автоматически создаваемый при реконструкции, включая далёкое небо и дальние планы. По сути это гауссовы точки 3DGS, помеченные как «окружение» | Фоновый эффект, заменённый через готовый шаблон в LCC Scene Editor |
| Часть самих данных | Да, хранится вместе с данными LCC | Нет, это лишь функция наложения при отображении в Editor |
| Поддерживается плагином | Рендеринг поддерживается | Не поддерживается, вместе с данными не переносится |
Иначе говоря, плагин может отрендерить полученный при реконструкции фон окружения, но заменённый в Editor шаблон скайбокса вместе с данными не переносится.
Для эффектов неба в UE используйте средства самого движка, например Sky Atmosphere, SkyLight или собственный материал скайбокса. Если нужны только данные окружения, убедитесь, что LoadMode равен Both (значение по умолчанию): значение OnlyMain скрывает часть окружения, см. Режим загрузки.
Поддерживаются ли вызовы из C++?
Поддерживаются. Достаточно добавить зависимость от модуля LCC4UnrealRuntime в build.cs.
Поддерживаются ли коллизии?
.lcc и .lcc2 поддерживаются, при этом данные должны содержать файл коллизий; .sog, .spz и .ply данных коллизий не содержат, и коллизии нужно строить самостоятельно через Blocking Volume или приблизительный меш. Подробнее см. Коллизии.
Поддерживается ли nDisplay?
Поддерживается. При использовании ALCCActor (конвейер LCC) задайте Default Traversal Type как Circle и перезапустите редактор; для конвейера LCC2 можно оставить значения по умолчанию. Подробнее см. Интеграция со сторонними и движковыми плагинами.
Поддерживается ли VR?
Поддерживается стереорендеринг (InstanceStereo).
Сколько объёмов обрезки и секущих плоскостей можно разместить?
| Лицензия | Действующее количество |
|---|---|
| Бесплатная редакция | 50 каждого типа |
| Редакция Pro | 65536 каждого типа |
Два типа считаются независимо и не занимают квоту друг друга. О лицензировании см. Редакции и лицензирование.
Что делать при конкретной неисправности?
Эта страница отвечает только на вопросы справочного характера. Если конкретное проявление уже возникло (изображение не отображается, мерцает, низкая частота кадров, ошибки сборки), смотрите Устранение неполадок и находите проблему по симптому.
Чтобы посмотреть журналы и воспользоваться инструментами отладки, см. Журналы и диагностика.
Остались другие вопросы?
См. Свяжитесь с нами: помощь можно получить по адресу технической поддержки, на платформе разработчика или в сообществе Discord.