Procedure consigliate per convertire e ottimizzare oggetti 3D in tempo reale da utilizzare in Dynamics 365 Guides o nei componenti di realtà mista inclusi nelle app create con Power Apps

Questo argomento descrive le procedure consigliate per convertire e ottimizzare oggetti 3D da utilizzare in Dynamics 365 Guides e nelle app create con Power Apps che includono componenti di realtà mista.

Ridurre i materiali e le superfici

  • A seconda dell'origine dell'oggetto 3D e del modo in cui desideri presentare il contenuto, potresti decidere di utilizzare tutte le funzionalità di un sistema di rendering basato sulla fisica (PBR). I sistemi PBR consentono di rappresentare visivamente colori, ruvidità e irregolarità creando texture map invece di avere tanti diversi materiali e complessità di superfici nell'oggetto 3D.

  • Se l'asset deve solo essere presente e non necessita dei dettagli forniti da un sistema PBR, è possibile ottenere un significativo aumento delle prestazioni applicando un solo colore. Ciò esclude dati di texture e informazioni sulla superficie supplementari, come più colori, riflessi e irregolarità.

    Monocolore.

    A. Oggetto 3D monocolore ad alte prestazioni senza sistema PBR
    B. Oggetto 3D che utilizza il sistema PBR per una rappresentazione di qualità superiore

Ridurre le texture

  • Riduci la mappa di ruvidità per aumentare le prestazioni del modello.

    Riduci la mappa di ruvidità.

    A. Modello con texture di mappa di ruvidità di 2048 x 2048
    B. Modello con texture di mappa di ruvidità di 1024 x 1024

  • Riduci la risoluzione e la quantità di texture per avere il maggiore impatto sul consumo di memoria e sulle dimensioni del file.

  • Riduci le texture in base al loro impatto visivo. Ad esempio, le mappe di ruvidità metallica possono spesso avere un valore di risoluzione pari alla metà delle mappe del colore di base e delle normal map senza alcuna percepibile riduzione della qualità.

  • La compressione JPG e la quantizzazione PNG riducono ulteriormente le dimensioni del file, ma non hanno alcun impatto sulla memoria richiesta al runtime quando il modello viene caricato.

Rimuovere i dati nascosti e inutilizzati

  • Assicurati di rimuovere tutti i dati che non sono necessari per rappresentare i tuoi oggetti 3D. Nodi, mesh, materiali e texture in più possono sommarsi rapidamente. Ad esempio, nel seguente oggetto 3D la rimozione di tutte le parti del motore nascoste riduce il numero di triangoli e semplifica la gerarchia, determinando un oggetto 3D con prestazioni migliori.

    Rimuovi i dati nascosti.

    Wireframe e modello ombreggiato visualizzati in Autodesk Inventor.

Ridurre i triangoli

  • Un numero elevato di triangoli o vertici può ridurre le prestazioni, soprattutto in dispositivi con limiti di prestazioni.

  • Se l'utilizzo del modello è noto in anticipo, puoi effettuare scelte di riduzione dei triangoli. Concentra la riduzione sulle aree meno importanti con elevata densità di mesh per consentire più dettagli nelle aree chiave.

  • Dettagli precisi della superficie geometrica e colori dei materiali possono essere spesso sostituiti fissandoli in normal map, mappe dei colori e ORM (occlusione, ruvidità e riflesso metallico) per risparmiare triangoli di grandi dimensioni.

    Ridurre i triangoli.

    A. Oggetto 3D CAD nativo
    B. Modello poligonale con numero di triangoli ridotto con normal map
    C. Modello ottimizzato con normal map

Ridurre le chiamate di disegno

  • Per chiamate di disegno si intende il numero di istruzioni grafiche per frame, che è il numero di materiali sullo schermo. La riduzione o il consolidamento dei materiali su un oggetto contribuisce a ridurre le chiamate di disegno.

    Ridurre le chiamate di disegno.

    In questo esempio, il consolidamento di più texture in un'unica texture riduce le chiamate di disegno da 22 a 1.

  • I colli di bottiglia più comuni nelle prestazioni di runtime possono in genere essere attribuiti a un numero elevato di chiamate di disegno.

  • Crea un atlante di texture da più materiali e unisci le mesh per consolidare le chiamate di disegno.

Ridurre la complessità della gerarchia

  • Il raggruppamento, l'associazione con un elemento padre e numeri elevati di nodi come nulli, localizzatori, curve grezze, mesh e raccordi possono contribuire a prestazioni di runtime scadenti.

  • Semplifica la gerarchia, rimuovi i nodi non necessari e combina le mesh ove possibile.

    Ridurre la complessità della gerarchia.

    Mesh combinate per ridurre le chiamate di disegno. Visualizzate in Autodesk 3DS Max.

    A. Gerarchia originale
    B. Gerarchia ottimizzata

  • Il formato glTF creerà una mesh per materiale e riunirà i materiali in un atlante per ridurre il numero di nodi e le chiamate di disegno.

Aumentare la distanza tra le facce della geometria

  • Può verificarsi uno sfarfallio quando le facce della geometria sono complanari o quasi complanari, soprattutto quando il modello è animato o si sposta da una posizione all'altra nelle applicazioni. Ciò significa che le facce geometriche sono perfettamente sovrapposte, causando l'effetto noto come Z-fighting.

    Aumentare la distanza tra le facce della geometria.

    Due forme sono quasi sovrapposte, causando l'effetto Z-fighting.

  • Aumentare la distanza tra le facce della geometria di una piccola quantità risolve i problemi di sfarfallio nella maggior parte dei casi.

Capovolgere le normali delle facce invertite

  • Le normali delle facce invertite possono causare un'ombreggiatura non corretta del modello.

  • Capovolgi le normali delle facce ombreggiate in modo errato per risolvere i problemi di rendering.

    Capovolgere le normali delle facce invertite.

    Normali delle facce visualizzate in Blender.

    A. Oggetto 3D con normale capovolta
    B. Oggetto 3D con normale corretta

Base tangente in conflitto

  • Una base tangente in conflitto può far apparire le normal map invertite.

    Base tangente in conflitto.

    Base tangente visualizzata in Autodesk Maya.

    A. Normal map fissata da un oggetto 3D con una vite con normale capovolta
    B. Il risultato visibile del fissaggio con un oggetto con normale capovolta

  • Se non esporti le tangenti con il modello, il renderer glTF e il renderer in tempo reale assumeranno una configurazione per mano destra.

  • Esporta il modello con le tangenti se stai fissando normal map dello spazio tangente in una configurazione per mano sinistra. In alternativa, puoi invertire il canale verde (asse Y) della normal map.

Vedi anche