Best practices voor het converteren en optimaliseren van realtime 3D-objecten voor gebruik in Dynamics 365 Guides of in mixed reality-onderdelen die zijn opgenomen in apps die zijn gemaakt met Power Apps

In dit onderwerp worden best practices besproken voor het converteren en optimaliseren van 3D-objecten voor gebruik in Dynamics 365 Guides en voor apps die zijn gemaakt met Power Apps en mixed reality-onderdelen bevatten.

Materialen en oppervlaktes verminderen

  • Afhankelijk van de 3D-objectbron en de manier waarop u de inhoud wilt presenteren, kan het zijn dat u de volledige mogelijkheden van een fysiek renderingsysteem (PBR) wilt. Met PBR-systemen kunnen kleuren, ruwheid en hobbels op een visuele manier worden weergegeven door middel van structuurkaarten, in plaats van een 3D-object met een veelvoud aan materialen en oppervlaktecomplexiteiten.

  • Als de activa slechts aanwezig hoeven te zijn en er geen details van een PBR-systeem nodig zijn, kan er een aanzienlijke prestatieverbetering worden behaald door slechts één kleur toe te passen. Hierdoor worden extra structuurgegevens en oppervlakte-informatie weggelaten, zoals meerdere kleuren, weerspiegelingen en hobbels.

    Enkele kleur.

    A. Hoogwaardig 3D-object in één kleur zonder PBR-systeem
    B. 3D-object dat gebruikmaakt van het PBR-systeem voor een weergave van hogere kwaliteit

Structuren verminderen

  • Verlaag de ruwheid om de prestaties van het model te verhogen.

    Ruwheid verlagen.

    A. Model met kaartstructuur voor ruwheid van 2048 x 2048
    B. Model met kaartstructuur voor ruwheid van 1024 x 1024

  • Verlaag de resolutie en de hoeveelheid structuren voor het grootste effect op het geheugenverbruik en de bestandsgrootte.

  • Verminder structuren op basis van hun visuele impact. Metallic ruwheid maakt bijvoorbeeld vaak de helft uit van de resolutie van de basiskleur en van normale kaarten zonder merkbare kwaliteitsvermindering.

  • De JPG-compressie en PNG-kwantisatie verkleinen de bestandsgrootte verder, maar hebben geen invloed op het benodigde geheugen tijdens runtime wanneer het model wordt geladen.

Verborgen en ongebruikte gegevens verwijderen

  • Zorg ervoor dat u alle gegevens verwijdert die niet vereist zijn voor de 3D-objecten. Extra knooppunten, meshes, materialen en structuren lopen samen snel op. Door in het volgende 3D-object verborgen onderdelen te verwijderen, verlaagt u bijvoorbeeld de driehoektelling en vereenvoudigt u de hiërarchie, waardoor het 3D-object beter presteert.

    Verborgen gegevens verwijderen.

    Draadmodel en gearceerd model gevisualiseerd in Autodesk Inventor.

Driehoeken verminderen

  • Hoge driehoeks- of vertex-tellingen kunnen de prestaties belemmeren, met name voor apparaten met een prestatiebeperking.

  • Als het modelgebruik van te voren bekend is, kunt u driehoeken verminderen. Reduceer in de minder belangrijke gebieden met een hoge mesh-dichtheid, zodat er meer details mogelijk zijn in de belangrijkste gebieden.

  • De kleine geometrische oppervlaktedetails en materiaalkleuren kunnen vaak worden vervangen door ze in normale, kleur- en ORM-kaarten (occlusie, ruwheid en metallic) te simuleren voor grote driehoeksbesparingen.

    Driehoeken verminderen.

    A. Systeemeigen CAD 3D-object
    B. Lager aantal driehoeken voor polygonenmodel met een normale kaart
    C. Geoptimaliseerd model met normale kaart

Tekenoproepen verminderen

  • Tekenoproepen verwijzen naar het aantal grafische instructies per frame, het aantal materialen op het scherm. U kunt tekenoproepen verminderen door materialen in een object te verminderen of te consolideren.

    Tekenoproepen verminderen.

    Door meerdere structuren in dit voorbeeld te consolideren in één structuur, wordt het aantal tekenoproepen van 22 naar 1 verlaagd.

  • De meest voorkomende prestatieproblemen voor runtime kunnen meestal worden toegeschreven aan een groot aantal tekenoproepen.

  • Maak een structuurkaart van meerdere materialen en voeg de deze meshes samen om tekenoproepen te consolideren.

De hiërarchiecomplexiteit verminderen

  • Groepering, bovenliggende entiteiten en grote aantallen knooppunten, zoals nullen, plaatsbepalers, ruwe rondingen, meshes en verbindingen kunnen bijdragen aan slechte runtimeprestaties.

  • Vereenvoudig uw hiërarchie, verwijder onnodige knooppunten en combineer meshes waar mogelijk.

    De hiërarchiecomplexiteit verminderen.

    Gecombineerde meshes om tekenoproepen te verminderen. Gevisualiseerd in Autodesk 3DS Max.

    A. Oorspronkelijke hiërarchie
    B. Geoptimaliseerde hiërarchie

  • glTF maakt één mesh per materiaal en voegt atlasmaterialen samen om het aantal knooppunt en tekenoproepen te verminderen.

De afstand tussen geometrische faces verhogen

  • Er kan flikkering optreden wanneer geometrische faces coplanair of bijna coplanair zijn. Dit komt vooral voor wanneer het model is geanimeerd of in toepassingen steeds van positie verandert. Dit betekent dat de geometrische faces elkaar perfect overlappen en zorgen voor Z-fighting.

    De afstand tussen geometrische faces verhogen.

    Twee vormen overlappen elkaar bijna, wat het Z-fightingeffect veroorzaakt.

  • Door de afstand tussen de geometrische faces een klein beetje te vergroten, lost u het flikkeren in de meeste gevallen op.

Omgekeerde face-standaarden omdraaien

  • Omgekeerde face-standaarden kunnen ertoe leiden dat het model onjuist wordt gearceerd.

  • U kunt de weergaveproblemen oplossen door de standaarden van de onjuist gearceerde faces om te draaien.

    Omgekeerde face-standaarden omdraaien.

    Face-standaarden gevisualiseerd in Blender.

    A. 3D-object met omgedraaide standaard
    B. 3D-object met herstelde standaard

Conflicterende raaklijnbasis

  • Een conflicterende raaklijnbasis kan ervoor zorgen dat uw normale kaarten omgekeerd worden weergegeven.

    Conflicterende raaklijnbasis.

    Raaklijnbasis gevisualiseerd in Autodesk Maya.

    A. Normale kaart gesimuleerd van een 3D-object met een normaal omgedraaide schroef
    B. Het zichtbare resultaat van simuleren met een omgedraaid normaal object

  • Als u met uw model geen raaklijnen exporteert, gaan glTF en de realtime weergave ervan uit dat u rechtshandig bent.

  • Exporteer uw model met raaklijnen als u normale kaarten met ruimte voor raaklijnen simuleert in een linkshandige setting. U kunt ook het groene kanaal (Y-as) van de normale kaart omkeren.

Zie ook