Руководство по оптимизации настроек проекта
Рендеринг 3DGS сосредоточен на сортировке и рендеринге на GPU и является интенсивным потребителем ресурсов. Графический конвейер проекта, графический API, настройки камеры и качества напрямую определяют частоту кадров и использование видеопамяти. Разумная конфигурация проекта может значительно повысить частоту кадров и снизить использование видеопамяти. В этом документе описывается организация сцены, а также рекомендуемые настройки графического конвейера, графического API, камеры и качества. В качестве примера используются Unity 6000.0 LTS с рендер-конвейером URP.
Организация объектов сцены
Для режима SingleRender создайте в сцене пустой GameObject, задайте его свойства Transform, прикрепите пользовательский скрипт, получите в этом скрипте объект Renderer и вызовите метод renderer.Load() для загрузки данных.
Для режима MultiRender обычно динамически создаются соответствующие пустые GameObject, их свойства Transform задаются через код, один пустой GameObject привязывается к каждому объекту Renderer, и метод renderer.Load() каждого объекта управляется независимо для загрузки данных.
Во всех режимах каждая сцена может независимо задавать свои Position, Rotation и Scale, что позволяет независимо работать с ними и управлять ими.
Настройки платформы и конвейера
Поскольку данные 3DGS реконструируются и обучаются в цветовом пространстве Gamma, установка Color Space в значение Gamma помогает повысить качество рендеринга; рендеринг в цветовом пространстве Linear делает сцену слегка выцветшей.
Для платформ с разным уровнем производительности SDK предоставляет алгоритмы сортировки на GPU с разной производительностью, поддерживая Direct3D12, Direct3D11, Vulkan и Metal. Они проверены на Intel HD Graphics 620, сериях NVIDIA RTX 1x/2x/3x/4x, серии AMD 7900X и сериях Apple M1/M2.
Приоритет графического API
Рекомендуемый приоритет графического API для каждой платформы приведён ниже. На Windows отдавайте предпочтение Direct3D12, чтобы повысить частоту кадров.
| Платформа | Приоритет графического API |
|---|---|
| Windows | Direct3D12 > Vulkan > Direct3D11 |
| Linux | Vulkan |
| macOS | Metal |
В строке меню Unity выберите File → Project Settings, выберите Player в левой части окна Project Settings, переключитесь на вкладку целевой платформы для публикации (Desktop для настольных; выберите Android при публикации на Android), разверните раздел Other Settings и настройте графический API для каждой платформы:
- Windows: снимите флажок Auto Graphics API for Windows, задайте для Graphics APIs значения Direct3D12, Vulkan, Direct3D11 и удалите остальные графические API;
- macOS: снимите флажок Auto Graphics API for Mac, задайте для Graphics APIs значение Metal и удалите остальные графические API;
- Linux: снимите флажок Auto Graphics API for Linux, задайте для Graphics APIs значение Vulkan и удалите остальные графические API.
Наконец, задайте для Color Space значение Gamma, как показано ниже:

Настройка графического API
Рекомендации по настройкам графики (одинаковые для PC и мобильных устройств)
В левой части окна Project Settings выберите Graphics и проверьте Render Asset, используемый текущим Default Render Pipeline, — в этом примере это Mobile_RPAsset, как показано ниже:

Проверка используемого Render Asset
В левой части окна Project Settings выберите Quality и проверьте Render Asset, используемый текущим Default Render Pipeline, — в этом примере это Mobile_RPAsset. Задайте Resolution Scaling Fixed DPI Factor = 0.7 и VSync Count = Don't Sync, как показано ниже:

Проверка настроек Quality
Щёлкнув по Render Asset, используемому текущим Default Render Pipeline (Mobile_RPAsset в этом примере), вы найдёте этот Asset в окне Project; выберите его и задайте соответствующие переключатели свойств в окне Inspector.
Как для PC, так и для мобильных устройств рекомендуется отключить HDR, MSAA и подобные режимы, чтобы снизить накладные расходы на пропускную способность и видеопамять:
- Отключите Depth Texture
- Отключите Opaque Texture
- Отключите HDR
- Отключите Anti Aliasing (MSAA)
Вы также можете использовать встроенное суперразрешение URP, то есть задать Render Scale = 0.7 и Upscaling Filter = Automatic, как показано ниже:

Отключение HDR, Depth Texture, Opaque Texture и Anti Aliasing (MSAA) в Render Pipeline Asset
Мобильные устройства (URP) используют ту же стратегию, что и PC: также отключите HDR, Depth Texture, Opaque Texture и MSAA и включите суперразрешение.
Найдите соответствующий Renderer для Render Asset, используемого Default Render Pipeline платформы, — в этом примере это Mobile_Renderer (Universal Renderer Data), — и задайте его свойства в окне Inspector, как показано ниже:

Настройка Renderer
Настройки камеры
Выберите камеру в окне Hierarchy (по умолчанию Main Camera) и задайте свойства Camera в окне Inspector:
| Свойство | Рекомендуемое значение | Описание |
|---|---|---|
| Field of View | 60 | Поле зрения (FOV) |
| Clipping Planes → Near | 0.2 ~ 0.3 | Ближняя плоскость отсечения |
| Clipping Planes → Far | 5000 ~ 15000 | Дальняя плоскость отсечения, охватывающая большие сцены |
| Anti-aliasing | No Anti-aliasing | Сглаживание отключено по умолчанию |
| Opaque Texture | Off | Отключено по умолчанию |
| Depth Texture | Off | Отключено по умолчанию |
| Background Type | Solid Color | Рекомендуется сплошной цвет |
| Background | Black | В качестве цвета фона по умолчанию рекомендуется чёрный |
| HDR Rendering | Off | Отключено по умолчанию |
| MSAA | Off | Отключено по умолчанию |
Остальные свойства можно задать по мере необходимости.

Настройка Clipping Planes, Clear Flags и цвета фона камеры в Inspector