Metodtips för att konvertera och optimera 3D-objekt i realtid för användning i Dynamics 365 Guides eller i komponenter för mixad verklighet som ingår i appar som har skapats med Power Apps

I det här avsnittet tar vi upp metodtips för att konvertera och optimera 3D-objekt så att de fungerar med Dynamics 365 Guides och för appar skapade i Power Apps som innehåller komponenter för mixad verklighet.

Minska material och ytor

  • Beroende på vilken källan till 3D-objektet är och hur du vill presentera innehållet, vill du kanske utnyttja alla funktioner hos ett fysiskt renderingssystem (PBR). I PBR-system kan färger, strukturer och ojämnheter representeras visuellt genom att skapa strukturkartor, i stället för att behöva använda en rad olika material och komplexa ytor i 3D-objektet.

  • Om tillgången bara behöver finnas med och du inte behöver den detaljerade information som ett PBR-system kan ge, kan du höja prestandan väsentligt genom att använda en enda färg. Då utelämnas extra strukturdata och ytinformation, exempelvis olika färger, reflektioner och ojämnheter.

    En färg.

    A. 3D-objekt med en färg för hög prestanda, utan PBR-system
    B. 3D-objekt med PBR-systemet för representationer av högre kvalitet

Reducera strukturer

  • Minska grovheter i mappningen för att höja modellens prestanda.

    Minska grovheter i mappning.

    A. Modell med grovhetsstruktur 2 048 x 2 048 i mappningen
    B. Modell med grovhetsstruktur 1 024 x 1 024 i mappningen

  • Minska upplösningen och förekomsten av strukturer för att uppnå maximal effekt på minnesanvändning och filstorlek.

  • Reducera strukturer utifrån visuell effekt. Till exempel kan mappning av grovhet hos metaller ofta ge halva upplösningen hos grundfärgen och normal mappning utan märkbar kvalitetsförsämring.

  • Både jpg-komprimering och png-kvantisering minskar filstorleken ytterligare, men de påverkar inte mängden minne som krävs under körning i samband med att modellen läses in.

Ta bort dolda och oanvända data

  • Glöm inte att ta bort alla data som inte behövs för att representera 3D-objekt. Extra noder, rutnät, material och strukturer kan snabbt läggas till. I följande 3D-objekt kan du till exempel ta bort alla dolda motordelar för att minska antalet trianglar och förenkla hierarkin. Resultatet är ett 3D-objekt med bättre prestanda.

    Ta bort dolda data.

    Trådblock och skuggad modell visualiserad i Autodesk Inventor.

Reducera trianglar

  • Ett stort antal trianglar eller hörn kan försämra prestanda, i synnerhet när det gäller enheter med begränsad prestanda.

  • Om modellanvändningen är känd på förhand kan du fatta beslut om att minska antalet trianglar. Fokusera på att minska antalet i mindre viktiga områden med hög rutnätsdensitet, så kan du i stället använda fler detaljer i viktiga områden.

  • Små geometriska detaljer i ytan och färger på material kan ofta ersättas genom att inkludera dem i normal mappning, färg- och ORM-mappning (Occlusion, Roughness och Metallic) för att uppnå större besparingar i antalet trianglar.

    Reducera trianglar.

    A. Inbyggt CAD 3D-objekt
    B. Polygonal modell med färre antal trianglar med normal mappning
    C. Optimerad modell med normal mappning

Minska antal ritanrop

  • Draw calls avser antalet grafiska instruktioner per ram, vilket motsvarar antalet material på skärmen. Genom att minska eller konsolidera material på ett objekt kan du bidra till ett lägre antal ritanrop.

    Minska antal ritanrop.

    Om flera strukturer konsolideras till en enda minskar antalet ritanrop från 22 till 1 i det här exemplet.

  • De vanligaste flaskhalsarna för körtidsprestanda beror vanligtvis på ett stort antal ritanrop.

  • Skapa en strukturatlas av flera material och sammanfoga rutnäten för att konsolidera ritanrop.

Förenkla hierarkin

  • Grupperingar, överordnade entiteter och ett stort antal noder som nullvärden, platshållare, råkurvor, rutnät och fogar kan alla bidra till försämrad körtidsprestanda.

  • Förenkla hierarkin, ta bort onödiga noder och kombinera rutnät där så är möjligt.

    Förenkla hierarkin.

    Kombinerade rutnät för att reducera antalet ritanrop. Visualiserat i Autodesk 3DS Max.

    A. Ursprunglig hierarki
    B. Optimerad hierarki

  • glTF skapar ett rutnät per material och mappar material tillsammans för att minska antalet noder och ritanrop.

Öka avståndet mellan geometriytor

  • Bilden kan fladdra om olika geometriytor befinner sig på samma eller nästan samma plan. Det är särskilt vanligt när modellen är animerad eller rör sig från en position till en annan i appar. Det innebär att geometriska ytor överlappar helt perfekt, vilket orsakar något som kallas Z-fighting.

    Öka avståndet mellan geometriytor.

    Två figurer överlappar nästan helt och hållet, vilket orsakar en så kallad Z-fighting-effekt.

  • Om du ökar avståndet mellan geometriytorna något går det oftast att lösa problem med fladdrande bild.

Vänd på normal mappning av inverterade ytor

  • Normal mappning av inverterade ytor kan skapa felaktiga skuggningar i modellen.

  • Vänd på normal mappningen av felaktigt skuggade ytor för att lösa renderingsproblemet.

    Vänd på normal mappning av inverterade ytor.

    Normal mappning av ytor visualiserad i Blender.

    A. 3D-objekt med omvänd normal mappning
    B. 3D-objekt med fast normal mappning

Tangentbas i konflikt

  • En tangentbas i konflikt kan få normal mappning att se inverterad ut.

    Tangentbas i konflikt.

    Tangentbas visualiserad i Autodesk Maya.

    A. Normal mappning från ett 3D-objekt med en normal/omvänd skruv
    B. Det synliga resultatet av bakning med omvänt normalt objekt

  • Om du inte exporterar tangenter tillsammans med modellen förutsätter glTF och realtidsrenderingen att personen är högerhänt.

  • Exportera modellen med tangenter om du bakar normal mappning med tangentutrymme för vänsterhänta användare. Du kan även invertera den gröna kanalen (Y-axeln) för den normala mappningen.

Se även