Optimalisatiegids voor projectinstellingen
3DGS-rendering draait om GPU-sortering en -rendering en verbruikt veel resources. De grafische pipeline, grafische API, camera- en kwaliteitsinstellingen van het project bepalen rechtstreeks de framerate en het videogeheugengebruik. Een redelijke projectconfiguratie kan de framerate aanzienlijk verbeteren en het videogeheugengebruik verlagen. Dit document beschrijft de organisatie van de scène, evenals aanbevolen instellingen voor de grafische pipeline, grafische API, camera en kwaliteit. Het gebruikt Unity 6000.0 LTS met de URP-renderpipeline als voorbeeld.
Organisatie van scèneobjecten
Maak voor de SingleRender-modus een leeg GameObject in de scène, stel de Transform-eigenschappen in, voeg een aangepast script toe, verkrijg het Renderer-object in dat script en roep de methode renderer.Load() aan om gegevens te laden.
Voor de MultiRender-modus maak je doorgaans de bijbehorende lege GameObjects dynamisch aan, stel je hun Transform-eigenschappen via code in, bind je één leeg GameObject per Renderer-object en beheer je onafhankelijk de renderer.Load()-methode van elk object om gegevens te laden.
In alle modi kan elke scène onafhankelijk zijn Position, Rotation en Scale instellen, wat onafhankelijke bediening en controle mogelijk maakt.
Platform- en pipeline-instellingen
Omdat 3DGS-gegevens worden gereconstrueerd en getraind in de Gamma-kleurruimte, helpt het instellen van Color Space op Gamma om de renderingkwaliteit te verbeteren; renderen in de Linear-kleurruimte maakt de scène enigszins flets.
Voor platformen met verschillende prestatieniveaus biedt de SDK GPU-sorteeralgoritmen met verschillende prestaties, met ondersteuning voor Direct3D12, Direct3D11, Vulkan en Metal. Deze zijn gevalideerd op Intel HD Graphics 620, de NVIDIA RTX 1x/2x/3x/4x-serie, de AMD 7900X-serie en de Apple M1/M2-serie.
Prioriteit van de grafische API
De aanbevolen prioriteit van de grafische API per platform is als volgt. Geef op Windows de voorkeur aan Direct3D12 om de framerate te helpen verbeteren.
| Platform | Prioriteit van de grafische API |
|---|---|
| Windows | Direct3D12 > Vulkan > Direct3D11 |
| Linux | Vulkan |
| macOS | Metal |
Selecteer in de Unity-menubalk Bestand → Projectinstellingen, selecteer Player aan de linkerkant van het venster Projectinstellingen, schakel naar het tabblad van het doelplatform waarnaar je wilt publiceren (Desktop voor desktop; selecteer Android als je naar Android publiceert), vouw de sectie Overige instellingen uit en configureer de grafische API per platform:
- Windows: schakel Auto Graphics API for Windows uit, stel Graphics APIs in op Direct3D12, Vulkan, Direct3D11 en verwijder de overige grafische API's;
- macOS: schakel Auto Graphics API for Mac uit, stel Graphics APIs in op Metal en verwijder de overige grafische API's;
- Linux: schakel Auto Graphics API for Linux uit, stel Graphics APIs in op Vulkan en verwijder de overige grafische API's.
Stel ten slotte de Color Space in op Gamma, zoals hieronder wordt weergegeven:

Stel de grafische API in
Aanbevelingen voor grafische instellingen (gelijk voor pc en mobiel)
Selecteer aan de linkerkant van het venster Projectinstellingen Grafisch en controleer de Render Asset die wordt gebruikt door de huidige Default Render Pipeline; in dit voorbeeld is dat Mobile_RPAsset, zoals hieronder wordt weergegeven:

Controleer de Render Asset die in gebruik is
Selecteer aan de linkerkant van het venster Projectinstellingen Kwaliteit en controleer de Render Asset die wordt gebruikt door de huidige Default Render Pipeline; in dit voorbeeld is dat Mobile_RPAsset. Stel Resolution Scaling Fixed DPI Factor = 0.7 en VSync Count = Don't Sync in, zoals hieronder wordt weergegeven:

Controleer de kwaliteitsinstellingen
Door te klikken op de Render Asset die wordt gebruikt door de huidige Default Render Pipeline (in dit voorbeeld Mobile_RPAsset) wordt dat Asset gevonden in het Project-venster; selecteer het en stel de bijbehorende eigenschap-schakelaars in het Inspector-venster in.
Voor zowel pc als mobiel wordt aanbevolen om HDR, MSAA en vergelijkbare modi uit te schakelen om de bandbreedte- en videogeheugenoverhead te verlagen:
- Schakel Depth Texture uit
- Schakel Opaque Texture uit
- Schakel HDR uit
- Schakel Anti Aliasing (MSAA) uit
Je kunt ook de ingebouwde superresolutie van URP gebruiken, d.w.z. stel Render Scale = 0.7 en Upscaling Filter = Automatic in, zoals hieronder wordt weergegeven:

Schakel HDR, Depth Texture, Opaque Texture en Anti Aliasing (MSAA) uit in de Render Pipeline Asset
Mobiel (URP) gebruikt dezelfde strategie als pc: schakel ook HDR, Depth Texture, Opaque Texture en MSAA uit en schakel superresolutie in.
Zoek de bijbehorende Renderer van de Render Asset die wordt gebruikt door de Default Render Pipeline van het platform; in dit voorbeeld is dat Mobile_Renderer (Universal Renderer Data), en stel de bijbehorende eigenschappen in het Inspector-venster in, zoals hieronder wordt weergegeven:

Stel de Renderer in
Camera-instellingen
Selecteer de camera in het Hiërarchie-venster (standaard Main Camera) en stel de Camera-eigenschappen in het Inspector-venster in:
| Eigenschap | Aanbevolen waarde | Beschrijving |
|---|---|---|
| Field of View | 60 | FOV |
| Clipping Planes → Near | 0.2 ~ 0.3 | Nabij knipvlak |
| Clipping Planes → Far | 5000 ~ 15000 | Ver knipvlak, voor grote scènes |
| Anti-aliasing | No Anti-aliasing | Standaard uitgeschakeld |
| Opaque Texture | Off | Standaard uitgeschakeld |
| Depth Texture | Off | Standaard uitgeschakeld |
| Background Type | Solid Color | Effen kleur aanbevolen |
| Background | Black | Zwart aanbevolen als standaard achtergrondkleur |
| HDR Rendering | Off | Standaard uitgeschakeld |
| MSAA | Off | Standaard uitgeschakeld |
Overige eigenschappen kunnen naar behoefte worden ingesteld.

Stel de Clipping Planes, Clear Flags en achtergrondkleur van de camera in de Inspector in