Når du forbereder 3D-indhold, især CAD-filer, til brug i mixed reality-applikationer som Microsoft Dynamics 365 Guides eller komponenter i apps oprettet med Power Apps, kan du støde på adskillige forhindringer relateret til ydeevne og kvalitet. Disse forhindringer kan forhindre en glidende overgang fra CAD-verdenen til realtid. Autodesk 3ds Max er en kraftfuld suite til digital indholdsoprettelse (DCC), der tilbyder unikke funktioner til at bygge bro mellem parametriske objekter og realtids polygonmodellering. Denne guide demonstrerer, hvordan du bruger 3ds Max's konverterings- og optimeringsfunktioner til effektivt at forberede dine 3D CAD-objekter til brug i mixed reality-miljøer. Det er vigtigt at bemærke, at dette er en specifik anvendelse af 3ds Max, og selve oprettelsen af objekter fra bunden behandles ikke her; fokus er på import og optimering af eksisterende modeller.
Autodesk 3ds Max er bredt anerkendt software til 3D-modellering, rendering og animation, der bruges inden for designvisualisering, spiludvikling og animation. Dets alsidighed gør det til et fremragende værktøj til at håndtere de udfordringer, der opstår, når komplekse CAD-modeller skal tilpasses realtidsapplikationer med begrænsede ressourcer.

Import af en fil i 3ds Max
Processen starter med at få din eksisterende 3D-model ind i 3ds Max. Dette gøres typisk ved at importere en fil. Åbn en ny scene i 3ds Max. Gå derefter til menuen Filer og vælg Import > Import for at importere dit 3D-objekt. Det er afgørende at tjekke importindstillingerne for at sikre, at scenen importeres som forventet. Importindstillinger kan variere afhængigt af den specifikke filtype, du importerer (f.eks. .obj, .fbx, .step, .iges osv.). Selvom standardindstillingerne ofte er tilstrækkelige, er der et par undtagelser, der kan være relevante for optimering til mixed reality:
- Sæt Hierarchy Mode til Flattened. Dette kan hjælpe med at forenkle scenestrukturen, hvilket ofte er fordelagtigt for realtidsapplikationer.
- Sæt Mesh Resolution til en værdi mellem –6 og –10. Dette kan potentielt reducere kompleksiteten af importerede overflader.
- Hvis din model importeres sidelæns, kan du prøve at importere den igen med Up Axis sat til Y-Up. Dette sikrer, at modellens orientering er korrekt i scenen.
En korrekt import er det første skridt mod en succesfuld optimering. Når modellen er i 3ds Max, kan du begynde at analysere og modificere den.
Optimering af et 3D-objekt
En af de mest almindelige udfordringer med CAD-modeller i realtid er et for højt polygonantal. Et højt polygonantal kan drastisk påvirke ydeevnen i mixed-reality apps. For at forbedre ydeevnen skal du optimere 3D-objektet ved at reducere dets polygonantal. Før du kan optimere, skal du dog kunne se, hvor mange polygoner din model indeholder.
Visning af polygonstatistikker
For at se antallet af polygoner i din scene skal du først konfigurere viewporten til at vise statistik. Klik på + i øverste venstre hjørne af ethvert viewport-vindue for at åbne indstillingerne for Configure Viewports. I skærmen Viewport Configuration skal du vælge fanen Statistics. Under Setup skal du markere afkrydsningsfeltet Polygon Count og derefter vælge indstillingen Total + Selection. Under Application skal du markere afkrydsningsfeltet Show Statistics in Active View. Når du er færdig, skal du vælge OK. Du vil nu se det samlede polygonantal for din model og det samlede polygonantal for eventuelle objekter, du har valgt. Dette er et essentielt værktøj til at identificere de mest komplekse dele af din model.
Tilføjelse af en Edit Poly modifier
Før du begynder at reducere polygoner, er det en god praksis at tilføje en Edit Poly modifier til dine objekter. Dette hjælper med at eliminere potentielle skyggeproblemer, der kan opstå under modificeringsprocessen. Vælg alle dele af dit 3D-objekt, og anvend derefter Edit Poly modifieren fra Modifier List.
Identificering af objekter med højt polygonantal
Den mest effektive måde at reducere størrelsen på din model på – samtidig med at den visuelle kvalitet bevares – er at finde de objekter, der har det højeste polygonantal, og reducere dem mest. Objekter som skruer, bolte, gevind eller grillmønstre kan indeholde tusindvis af polygoner, der sjældent ses i detaljer i en mixed-reality kontekst. Disse er ofte de bedste kandidater til aggressiv optimering.
For at finde disse objekter skal du klikke på knappen Name (eller Select from Scene). I vinduet Select from Scene skal du vælge Customize > Configure Columns. Træk derefter 'Faces' (som er synonymt med polygoner i denne kontekst) ved siden af 'Name' for at aktivere kolonnen. Klik på 'Faces'-fanen et par gange, så dine objekter sorteres fra det højeste antal flader til det laveste. Dette giver dig et klart overblik over, hvilke dele af modellen der bidrager mest til det samlede polygonantal.
Du kan også bruge søgefeltet øverst i Select from Scene-menuen. Hvis din model har mange filletter (afrundede kanter), kan det være en god idé at søge efter dem, da de ofte bruger mange polygoner og kan reduceres betydeligt uden at påvirke den overordnede visuelle fidelity markant. Vælg de objekter, der har de højeste antal flader, og vælg derefter OK. Du har nu isoleret de mest komplekse dele af din model, klar til optimering.
Reduktion af polygonantallet med ProOptimizer
Med de objekter, der skal optimeres, valgt, er næste skridt at anvende en reduceringsmodifier. ProOptimizer er et fremragende værktøj til dette formål. Åbn Modifier List, der er placeret i højre side af viewporten. Vælg ProOptimizer fra listen. Klik på Calculate for at låse op for justeringerne af Optimization Level værdien. Denne værdi bestemmer, hvor aggressivt polygonantallet reduceres.
Prøv forskellige værdier for Vertex % (procentdel af bevarede hjørner) typisk i området fra 10% til 30%. Målet er at finde det højeste niveau af reduktion, der stadig bevarer en visuel kvalitet, der opfylder dine standarder. Dette kræver ofte lidt eksperimentering.
Når du har optimeret de mest komplekse dele, skal du anvende ProOptimizer på resten af modellen. På menuen Edit skal du vælge Select Invert for at vælge alle de objekter, du ikke lige har optimeret. Tilføj en ProOptimizer til disse objekter. Følg de samme trin som før, men vær generelt mindre aggressiv med reduktionen – gå ikke så lavt som 10% til 30%. Reducer disse andre objekter, indtil du når et samlet polygonantal, der matcher de anbefalede ydeevnemål for din specifikke anvendelse, samtidig med at du sikrer god visuel fidelity.
Husk, at du kan være meget detaljeret med, hvad du reducerer. Hvis specifikke dele af din model skal have højere fidelity, skal du blot vælge dem og hæve procentværdien i ProOptimizer for at imødekomme dine behov. Eksperimenter med forskellige teknikker og niveauer af reduktion for at finde den tilgang, der fungerer bedst for din model og dit mål.
Håndtering af buede overflader
Når buede overflader er til stede på 3D-objekter, kan de efter optimering eller import fra visse kilder se facettere ud (have synlige flade segmenter i stedet for en glat kurve). Du kan udglatte udseendet af disse overflader ved hjælp af Smooth modifieren.
På menuen Edit skal du vælge Select All for at vælge alle 3D-objekter i scenen. I Modifier List skal du vælge Smooth. Under Parameters skal du markere afkrydsningsfeltet Auto Smooth og derefter justere Threshold-værdien, indtil de facettere overflader ser glatte ud. Standardgrænsen er 30.0, hvilket ofte giver gode resultater, men du kan finjustere den efter behov.
Bemærk, at du også kan anvende Smooth modifieren på individuelle 3D-objekter, hvis de hver især kræver en forskellig Threshold-værdi. Dette giver dig fin kontrol over, hvordan forskellige dele af din model udglattes.
På dette tidspunkt er din model måske optimeret nok til brug i mixed reality. Hvis ydeevnen er acceptabel, kan du potentielt springe direkte til at eksportere din model som en GLB-fil. Hvis modellen stadig er for kompleks, især med hensyn til antallet af materialer, skal du fortsætte til næste afsnit.
Opsætning af materialer
Ikke alle CAD-materialer er direkte kompatible med realtidsapplikationer. De skal ofte konverteres til en mere kompatibel type. En GLB-venlig materialetype er Physical Material, som er meget fleksibel og kompatibel med mixed-reality teknologi.
Hvis dit 3D-objekt har mange materialer (f.eks. 10 eller flere), kan dette også påvirke ydeevnen negativt. I sådanne tilfælde kan det være en god idé at kombinere materialerne ved hjælp af teksturbagning, hvilket beskrives senere.
Konvertering af materialer med Scene Converter
For at konvertere eksisterende materialer til Physical Material, gå til menuen Rendering og vælg Scene Converter. I dialogboksen Scene Converter skal du udvide Materials og derefter vælge Standard Material to Physical Material (eller den relevante konvertering baseret på dine kildematerialer). Vælg Convert Scene. Dette vil konvertere materialerne i din scene til Physical Material-typen, hvilket gør dem bedre egnet til eksport.
Tilføjelse eller modificering af eksisterende materialer
I tilfælde, hvor du ønsker fin kontrol over materialernes udseende, kan du anvende og ændre materialegenskaber som farve og refleksion. Gå til menuen Rendering og vælg Material Editor > Compact Material Editor. Dette vindue præsenterer dig for material slots, der vises som grå kugler. For at indlæse et materiale fra din scene i en slot til inspektion eller redigering, skal du vælge eyedropper-værktøjet og derefter klikke på det 3D-objekt i viewporten, hvis materiale du vil se på. De vigtigste parametre at kigge på for Physical Material er Base Color og Reflections. Refleksioner styres typisk af Metalness- og Roughness-værdierne, som definerer materialets overfladefinish.

For at anvende et materiale fra en slot til et andet 3D-objekt, skal du blot trække den aktive materialekugle fra Material Editor over på det 3D-objekt i viewporten, du vil ændre. For at inspicere et andet materiale kan du enten bruge eyedropperen igen for at overskrive den nuværende slot, eller vælge en ny, tom slot for nemt at skifte mellem materialer.
Teksturbagning
Hvis der er mere end ti materialer på 3D-objektet, kan det forbedre ydeevnen markant at kombinere dem til et enkelt materiale. Dette gøres ved at "bage" materialefarver og andre egenskaber ned til et enkelt teksturkort (et billede). Dette er en valgfri, men ofte nødvendig, proces, hvis du oplever ydeevneproblemer med din model.
Målet med teksturbagning i denne kontekst er at have ét objekt, der repræsenterer den kombinerede geometri af de originale objekter, og et teksturkort, der indeholder farveinformationen fra alle de originale materialer. Bemærk, at denne proces bedst virker, hvis materialerne ikke allerede er konverteret til Physical Material, da bagning ofte fungerer bedst med mere grundlæggende materialetyper eller kræver specifikke indstillinger for Physical Material.
Bagning, UV-koordinater og teksturkort er komplekse emner. Formålet her er at guide dig gennem processen specifikt til brug med Dynamics 365 Guides og Power Apps, ikke at gøre dig til ekspert i teksturbagning. Derfor vil detaljerne være fokuseret på den nødvendige workflow.
Forberedelse af 3D-objektet til bagning
Vælg et enkelt objekt fra din modelhierarki, omdøb det til noget som "Original_Combined" og tilføj en Edit Poly modifier til det. Gå derefter til objektvalget (f.eks. ved at trykke H eller bruge Select from Scene). Du skal nu samle alle 3D-objekterne til ét mesh. Vælg et hvilket som helst objekt, tilføj en Edit Poly modifier til det, og brug derefter Attach-funktionen under Edit Geometry-rullegardinet. Klik på knappen til højre for Attach-knappen. Dette åbner en liste over tilgængelige objekter i scenen, som du kan kombinere. Vælg alle de 3D-objekter på Attach-listen, som du vil bage, og vælg derefter Add. Når du bliver spurgt, skal du vælge "Match Material IDs to Material" og derefter OK. Alle de individuelle meshes er nu kombineret til ét. Omdøb dette nye kombinerede mesh til "Original_Combined" eller lignende. Dette mesh repræsenterer den originale geometri og materiale-ID'er.
Unwrap UV'er
For at kunne bage et teksturkort, skal dit kombinerede mesh have korrekte UV-koordinater. UV-koordinater fortæller softwaren, hvordan et 2D-billede (teksturkortet) skal "pakkes ud" og placeres på 3D-objektets overflade. Anvend Unwrap UVW modifieren fra Modifier List på dit kombinerede "Original_Combined" mesh. Vælg Polygon i rullelisten inde i modifieren for at redigere UV-fladerne. Under Edit UVs skal du vælge Open UV Editor. I vinduet Edit UVWs skal du vælge Mapping > Flatten Mapping. I den dialogboks, der vises, skal du give UV'erne lidt afstand (padding) ved at sætte Spacing til f.eks. 0.003. Marker afkrydsningsfeltet for By Material IDs (dette hjælper med at organisere UV'erne baseret på de originale materialer) og vælg derefter OK. Dette vil automatisk "pakke ud" UV'erne, hvilket er en nødvendig forudsætning for bagning.
Oprettelse af en kopi til bagning
Nu hvor det originale kombinerede mesh er forberedt med UV'er, skal du oprette en kopi af det, som teksturen skal bages til. Vælg det kombinerede 3D-objekt ("Original_Combined"). Gå til Edit > Clone. Vælg Copy og omdøb det klonede objekt til noget som "Bake_Target", så du ved, at det er det objekt, der skal modtage den bagte tekstur.
Bagning af tekstur på det klonede mesh
Vælg det klonede mesh ("Bake_Target") – dette er objektet, du vil bage teksturen til. Gå til menuen Rendering og vælg Render To Texture. Indstil Render To Texture-menuen på følgende måder:
- Under Output, sæt Path til den placering, hvor teksturkortet skal gemmes. Du kan lade standardindstillingen være, hvis du ikke har en specifik destination i tankerne.
- Skift Render Settings til
3dsmax.scanline.no.advanced.lighting.high. - Når du bliver bedt om at vælge Preset Categories, lad alle indgange være markeret, og vælg derefter Load.
- Under Projection Mapping, gør følgende:
- Marker Enabled afkrydsningsfeltet.
- Vælg Pick, vælg de originale kilde-3D-objekter, du vil bage farven fra (dette skal være dit "Original_Combined" mesh), og vælg derefter Add.
- Vælg Options-knappen ved siden af Pick-knappen. I Method-sektionen skal du vælge UV Match-indstillingen. Ryd afkrydsningsfeltet Use Cage og luk vinduet.
- Under Mapping Coordinates, vælg Use Existing Channel-indstillingen, og sæt kanalen til 1 (dette refererer til UV-kanalen, du unwrappede tidligere).
- Under Output, vælg Add, vælg DiffuseMap fra listen over elementer, du kan bage, og vælg derefter Add Elements.
- Vælg de tre prikker ud for File Name and Type, og vælg .png som filformat.
- I pop-up-menuen skal du vælge RGB 24 bit-indstillingen, rydde afkrydsningsfeltet Alpha channel (medmindre du specifikt har brug for gennemsigtighed) og derefter vælge OK.
- I Target Map Slot-feltet, vælg Diffuse Color.
- Marker afkrydsningsfeltet Use Automatic Map Size.
- Under Automatic Map Size, marker afkrydsningsfeltet Nearest power of 2 (dette sikrer, at teksturstørrelsen er optimal for realtidsbrug).
- Når alle indstillinger er korrekte, vælg Render for at bage diffuse farvekortet. Et preview-vindue vises muligvis, men det endelige kort gemmes automatisk til den angivne output-placering.
Det bagte kort vil være et 2D-billede, der indeholder farveinformationen fra alle de originale materialer, fordelt i henhold til UV-layoutet.
Anvendelse af teksturen
Nu hvor du har det bagte teksturkort, skal du anvende det på dit "Bake_Target" mesh. Vælg Rendering > Material Editor > Compact Material Editor for at åbne Material Editor igen. Opsæt en ny material slot. Vælg en af de grå kugler og træk den til det unwrappede "Bake_Target" 3D-objekt i viewporten. På dette tidspunkt vil modellen sandsynligvis fremstå grå, fordi den kun har et standardmateriale uden tekstur.
For at anvende den bagte tekstur, klik på Standard-knappen i material slotten for at åbne Material/Map Browser. Vælg Materials > General > Physical Material (eller den materialetype, du ønsker at bruge, men Physical Material er anbefalet). Juster Roughness- og Metalness-værdierne for at give overfladen den ønskede finish (f.eks. Roughness til 0.1 og Metalness til 0.9 for en metallisk overflade, eller 0.8 og 0.1 for en mat plastoverflade).
For at vedhæfte det bagte farvekort, klik på option-boksen ud for Base Color and Reflections farvevælgeren. Vælg Maps > General > Bitmap fra listen over muligheder. Når du bliver bedt om at Select Bitmap Image File, skal du vælge det tekstur (.png-fil), du oprettede under bagningen. For at se den nye tekstur på modellen i viewporten, skal du muligvis ændre viewportens indstillinger. Gå til: User Defined > Materials > Shaded Materials with Maps.
Til sidst skal du skjule det originale "Original_Combined" 3D-objekt, så du kun kan se det optimerede "Bake_Target" 3D-objekt med dets nye, bagte tekstur. Dette objekt er nu klar til eksport.
Eksport af 3D-objektet
Den anbefalede filtype for brug i Dynamics 365 Guides og Power Apps er GLB. For at eksportere din optimerede model som en GLB-fil, skal du have Babylon Exporter til 3ds Max installeret (dette er et separat plugin). Vælg det klonede, optimerede mesh ("Bake_Target"). Gå til Babylon-menuen og vælg Babylon File Exporter. Sørg for, at glb er valgt under Output format, og marker afkrydsningsfeltet Export only selected, så kun det valgte objekt (og dets tilknyttede teksturer) eksporteres. Vælg Export.
Din optimerede og teksturerede 3D-model er nu gemt som en GLB-fil, klar til at blive importeret og brugt i dine mixed-reality applikationer.
Ofte Stillede Spørgsmål
- Hvorfor skal jeg optimere mine 3D-modeller til mixed reality?
- Uoptimerede modeller, især fra CAD-systemer, har ofte et meget højt polygonantal og mange materialer, hvilket kan føre til dårlig ydeevne, lav billedhastighed og ustabilitet i realtids mixed-reality applikationer. Optimering reducerer kompleksiteten for at sikre en flydende oplevelse.
- Hvordan ser jeg polygonantallet i 3ds Max?
- Du kan aktivere visning af polygonstatistikker ved at klikke på '+' i viewporten, vælge Configure Viewports, gå til Statistics-fanen og markere Polygon Count samt Show Statistics in Active View.
- Hvad er teksturbagning, og hvorfor er det nyttigt?
- Teksturbagning er processen med at overføre visuel information (som farve, lys, skygger) fra en kompleks model eller flere materialer til et enkelt 2D-billede (et teksturkort). Det er nyttigt, fordi det kan reducere antallet af materialekald og forenkle renderingen, hvilket forbedrer ydeevnen, især når en model har mange forskellige materialer.
- Hvilket filformat anbefales til mixed reality?
- GLB-formatet anbefales, da det er et effektivt, enkelt filformat, der indeholder både mesh-data, materialer og teksturer, hvilket gør det let at håndtere i mixed-reality platforme som Dynamics 365 Guides og Power Apps.
- Kan jeg bage andre typer information end farve?
- Ja, Render To Texture-værktøjet kan bage forskellige typer kort, herunder normale kort (for detaljeret belysning uden ekstra geometri), ambient occlusion-kort (for bløde skygger i sprækker) og mere, afhængigt af dine behov og den valgte renderer.
Sammenligning af optimeringsmetoder
Der er forskellige tilgange til at optimere 3D-modeller, og valget af metode afhænger af modellens karakter og de ønskede resultater. En direkte reduktion af polygonantallet med værktøjer som ProOptimizer er effektiv til at fjerne unødvendig geometri, især på flade eller svagt buede overflader og detaljer, der ikke er kritiske for modellens genkendelighed på afstand. Fordelen er en direkte reduktion i geometrisk kompleksitet. Ulempen kan være tab af fine detaljer på stærkt buede eller komplekse overflader, hvis reduktionen er for aggressiv.
Håndtering af materialer er en anden vigtig optimeringsfaktor. En model med mange separate materialer kræver flere "draw calls" (instruktioner til grafikkortet om at tegne objekter med et specifikt materiale), hvilket kan påvirke ydeevnen negativt. Konvertering til en kompatibel materialetype som Physical Material er et første skridt. Men for modeller med et meget stort antal materialer er teksturbagning en mere radikal, men ofte nødvendig, løsning. Ved at bage farve og andre materialegenskaber ned til ét eller få teksturkort, kan antallet af materialer reduceres drastisk til kun ét eller få, hvilket forbedrer renderingseffektiviteten markant. Ulempen ved bagning er, at det kan kræve mere opsætning, og resultatet er et statisk billede af materialerne, hvilket begrænser muligheden for dynamiske effekter eller materialændringer i realtid.
Valget mellem kun at reducere polygoner, kun at konvertere materialer eller at anvende teksturbagning afhænger af en analyse af modellens kompleksitet med hensyn til både geometri og materialer, samt de specifikke ydeevnemål for mixed-reality applikationen.
Denne guide har fokuseret på de mest almindelige trin til at transformere en potentielt kompleks 3D-model til et format, der er egnet til realtidsbrug. Ved at følge disse trin kan du forbedre ydeevnen og den visuelle kvalitet af dine 3D-modeller i mixed-reality oplevelser betydeligt.
Hvis du vil læse andre artikler, der ligner Optimer 3D-modeller til Mixed Reality, kan du besøge kategorien Fotografi.
