Guida all'ottimizzazione delle impostazioni di progetto
Il rendering 3DGS è incentrato sull'ordinamento e sul rendering GPU ed è un grande consumatore di risorse. La pipeline grafica, l'API grafica, la camera e le impostazioni di qualità del progetto determinano direttamente il frame rate e l'uso della memoria video. Una configurazione ragionevole del progetto può migliorare significativamente il frame rate e ridurre l'uso della memoria video. Questo documento descrive l'organizzazione della scena, nonché le impostazioni consigliate per pipeline grafica, API grafica, camera e qualità. Utilizza Unity 6000.0 LTS con la pipeline di rendering URP come esempio.
Organizzazione degli oggetti della scena
Per la modalità SingleRender, crea un GameObject vuoto nella scena, imposta le sue proprietà Transform, collega uno script personalizzato, ottieni l'oggetto Renderer in quello script e chiama il metodo renderer.Load() per caricare i dati.
Per la modalità MultiRender, in genere crei i GameObject vuoti corrispondenti dinamicamente, imposti le loro proprietà Transform tramite codice, associ un GameObject vuoto per ogni oggetto Renderer e controlli indipendentemente il metodo renderer.Load() di ogni oggetto per caricare i dati.
In tutte le modalità, ogni scena può impostare indipendentemente Position, Rotation e Scale, consentendo un funzionamento e un controllo indipendenti.
Impostazioni di piattaforma e pipeline
Poiché i dati 3DGS vengono ricostruiti e addestrati nello spazio colore Gamma, impostare Color Space su Gamma aiuta a migliorare la qualità del rendering; il rendering nello spazio colore Linear rende la scena leggermente sbiadita.
Per piattaforme con diversi livelli di prestazioni, l'SDK fornisce algoritmi di ordinamento GPU con prestazioni diverse, supportando Direct3D12, Direct3D11, Vulkan e Metal. Sono stati validati su Intel HD Graphics 620, serie NVIDIA RTX 1x/2x/3x/4x, serie AMD 7900X e serie Apple M1/M2.
Priorità delle API grafiche
La priorità delle API grafiche consigliata per piattaforma è la seguente. Su Windows, preferisci Direct3D12 per contribuire a migliorare il frame rate.
| Piattaforma | Priorità delle API grafiche |
|---|---|
| Windows | Direct3D12 > Vulkan > Direct3D11 |
| Linux | Vulkan |
| macOS | Metal |
Nella barra dei menu di Unity, seleziona File → Project Settings, seleziona Player sul lato sinistro della finestra Project Settings, passa alla scheda della piattaforma di destinazione da pubblicare (Desktop per il desktop; seleziona Android se pubblichi su Android), espandi la sezione Other Settings e configura l'API grafica per piattaforma:
- Windows: deseleziona Auto Graphics API for Windows, imposta Graphics APIs su Direct3D12, Vulkan, Direct3D11 e rimuovi le altre API grafiche;
- macOS: deseleziona Auto Graphics API for Mac, imposta Graphics APIs su Metal e rimuovi le altre API grafiche;
- Linux: deseleziona Auto Graphics API for Linux, imposta Graphics APIs su Vulkan e rimuovi le altre API grafiche.
Infine, imposta Color Space su Gamma, come mostrato di seguito:

Imposta l'API grafica
Raccomandazioni per le impostazioni grafiche (uguali per PC e mobile)
Sul lato sinistro della finestra Project Settings, seleziona Graphics e controlla il Render Asset usato dall'attuale Default Render Pipeline, che in questo esempio è Mobile_RPAsset, come mostrato di seguito:

Controlla il Render Asset in uso
Sul lato sinistro della finestra Project Settings, seleziona Quality e controlla il Render Asset usato dall'attuale Default Render Pipeline, che in questo esempio è Mobile_RPAsset. Imposta Resolution Scaling Fixed DPI Factor = 0.7 e VSync Count = Don't Sync, come mostrato di seguito:

Controlla le impostazioni Quality
Facendo clic sul Render Asset usato dall'attuale Default Render Pipeline (Mobile_RPAsset in questo esempio) individui quell'Asset nella finestra Progetto; selezionalo e imposta i corrispondenti interruttori delle proprietà nella finestra Inspector.
Sia per PC sia per mobile, si consiglia di disattivare HDR, MSAA e modalità simili per ridurre l'overhead di larghezza di banda e memoria video:
- Disattiva Depth Texture
- Disattiva Opaque Texture
- Disattiva HDR
- Disattiva Anti Aliasing (MSAA)
Puoi anche usare la super-risoluzione integrata di URP, ovvero impostare Render Scale = 0.7 e Upscaling Filter = Automatic, come mostrato di seguito:

Disattiva HDR, Depth Texture, Opaque Texture e Anti Aliasing (MSAA) nel Render Pipeline Asset
Mobile (URP) usa la stessa strategia del PC: disattiva anche HDR, Depth Texture, Opaque Texture e MSAA e abilita la super-risoluzione.
Trova il Renderer corrispondente del Render Asset usato dalla Default Render Pipeline della piattaforma, che in questo esempio è Mobile_Renderer (Universal Renderer Data), e imposta le sue proprietà correlate nella finestra Inspector, come mostrato di seguito:

Imposta il Renderer
Impostazioni della camera
Seleziona la camera nella finestra Gerarchia (Camera principale per impostazione predefinita) e imposta le proprietà della Camera nella finestra Inspector:
| Proprietà | Valore consigliato | Descrizione |
|---|---|---|
| Field of View | 60 | FOV |
| Clipping Planes → Near | 0.2 ~ 0.3 | Piano di ritaglio vicino |
| Clipping Planes → Far | 5000 ~ 15000 | Piano di ritaglio lontano, copre scene grandi |
| Anti-aliasing | No Anti-aliasing | Anti-aliasing disattivato per impostazione predefinita |
| Opaque Texture | Off | Disattivato per impostazione predefinita |
| Depth Texture | Off | Disattivato per impostazione predefinita |
| Background Type | Solid Color | Si consiglia un colore solido |
| Background | Black | Si consiglia il nero come colore di sfondo predefinito |
| HDR Rendering | Off | Disattivato per impostazione predefinita |
| MSAA | Off | Disattivato per impostazione predefinita |
Le altre proprietà possono essere impostate secondo necessità.

Imposta i Clipping Planes, i Clear Flags e il colore di sfondo della camera nell'Inspector