Skapa 3D-modeller för användning i hemmet

Den Windows Mixed Reality är startpunkten där användarna hamnar innan de startar program. När du utformar ditt program för Windows Mixed Reality headset använder du en 3D-modell som appstartare och placerar 3D-djuplänkari Windows Mixed Reality hem . Den här artikeln beskriver riktlinjerna för att skapa 3D-modeller som är kompatibla med Windows Mixed Reality startsidan.

Översikt över tillgångskrav

När du skapar 3D-modeller Windows Mixed Reality finns det vissa krav som alla tillgångar måste uppfylla:

  1. Exportera – Tillgångar måste levereras i filformatet .snb (binary betF)
  2. Modellering – Tillgångar måste vara mindre än 10 000 trianglar, ha högst 64 noder och 32 underpunkter per LOD
  3. Material – Strukturer får inte vara större än 4 096 x 4 096 och den minsta mip-kartan får inte vara större än 4 på någon av dimensionerna
  4. Animering – Animeringar får inte vara längre än 20 minuter vid 30 FP (36 000 nyckelbildrutor) och måste innehålla <= 8192 morfhörn
  5. Optimera – Tillgångar ska optimeras med hjälp av WindowsMRAssetConverter. Krävs för Windows operativsystemversioner <= 1709* och rekommenderas för Windows operativsystemversioner >= 1803

Resten av den här artikeln innehåller en detaljerad översikt över dessa krav och extra riktlinjer för att se till att dina modeller fungerar bra med Windows Mixed Reality hemmet.

Detaljerad vägledning

Exportera modeller

I Windows Mixed Reality förväntar sig att 3D-tillgångar levereras med filformatet .snb med inbäddade bilder och binära data. Glab är den binära versionen av formatet för Khronos, som är en kostnadsfri öppen standard för 3D-tillgångsleverans som underhålls av Khronos-gruppen. Allt eftersom allt detta utvecklas som en branschstandard för samverkande 3D-innehåll, så kommer Microsofts stöd för formatet i Windows appar och upplevelser. Om du inte har skapat en ertF-tillgång innan du kan hitta en lista över stödda tillgångar och konverterare på github-sidan för arbetsgrupps-github.

Riktlinjer för modellering

Windows förväntar sig att tillgångar genereras med hjälp av följande modelleringsriktlinjer för att säkerställa kompatibilitet med Mixed Reality hemupplevelsen. Tänk på följande rekommendationer och begränsningar när du modellerar i ditt program:

  1. Upp-axeln ska vara inställd på "Y".
  2. Tillgången ska vara "framåt" mot den positiva Z-axeln.
  3. Alla tillgångar ska byggas på markplanet på platsens ursprung (0,0,0)
  4. Arbetsenheter ska anges till mätare och tillgångar så att tillgångar kan redigeras i världsskala
  5. Alla nät behöver inte kombineras, men vi rekommenderar att du riktar in dig på resursbegränsade enheter
  6. Alla nät bör dela ett material, där endast en strukturuppsättning används för hela tillgången
  7. UV:er måste vara kvadratiska i 0–1-utrymmet. Undvik att tillägga strukturer även om de är tillåtna.
  8. Multi-UV:er stöds inte
  9. Dubbelsidig material stöds inte

Antal trianglar och detaljnivåer (LOD)

Den Windows Mixed Reality har inte stöd för modeller med fler än 10 000 trianglar. Vi rekommenderar att du triangulerar näten innan du exporterar för att säkerställa att de inte överskrider det här antalet. Windows MR stöder även valfria geometrinivåer (LOD) för att säkerställa en högpresterande och högkvalitativ upplevelse. WindowsMRAssetConverter hjälper dig att kombinera 3 versioner av din modell till en enda .rnb-modell. Windows avgör vilken LOD som ska visas baserat på mängden skärm real egendom som modellen tar upp. Endast 3 LOD-nivåer stöds med följande rekommenderade trianglar:

LOD-nivå Rekommenderat triangelantal Maximalt antal triangel
LOD 0 10 000 10 000
LOD 1 5 000 10 000
LOD 2 2 500 10 000

Antal noder och undervärden

Den Windows Mixed Reality har inte stöd för modeller med fler än 64 noder eller 32 undergrupper per LOD. Noder är ett begrepp i specifikationen som definierar objekten i scenen. Submeshes definieras i matrisen med primitiver i mesh i objektet.

Funktion Beskrivning Maximalt antal som stöds Dokumentation
Noder Objekt i erTF-scenen 64 per LOD Här
Undergrupper Summan av primitiver i alla nät 32 per LOD Här

Materialriktlinjer

Strukturer bör förberedas med hjälp av ett PBR-arbetsflöde för grovhet i metall. Börja med att skapa en fullständig uppsättning strukturer, inklusive Albedo, Normal, Ocklusion,Dirigering och Grovhet. Windows Mixed Reality stöder strukturer med upplösningar på upp till 4 096 x 4096, men vi rekommenderar att du skapar 512 x 512. Strukturer ska redigeras vid upplösningar i multiplar av 4. Detta är ett krav för det komprimeringsformat som tillämpas på strukturer i de exportsteg som beskrivs nedan. När du genererar mip-kartor eller en struktur måste den lägsta mip vara högst 4x4.

Rekommenderad strukturstorlek Maximal storlek på struktur Lägsta Mip
512 × 512 4096x4096 max 4x4

Karta över Albedo (basfärg)

Råfärg utan belysningsinformation. Den här kartan innehåller även refreferans- och rörinformation för metall (vit på kartkartan) och isoleryta (svart på kartkartan).

Normal

Tangent space normal map

Ungefärlig karta

Beskriver objektets mikroyta. Vit 1.0 är grov svart 0,0 är jämn. Den här kartan ger tillgång mest tecken, eftersom den verkligen beskriver ytan. Till exempel scratches, fingerprints, smudges, scratche och så vidare.

Omgivande ocklusionskarta

Värdeskalningskarta som visar områden med ockluderat ljus, vilket blockerar reflektioner

Map

Talar om skuggaren om något är av metall eller inte. Raw Metal = 1,0 vit Icke-metal = 0,0 svart. Det kan finnas övergångsgrå värden som indikerar något som täcker rådata, till exempel grått, men i allmänhet bör den här kartan endast vara svart och vit.

Optimeringar

Windows Mixed Reality erbjuder en serie optimeringar ovanpå kärnspecifiktF som definierats med anpassade tillägg. Dessa optimeringar krävs på Windows versioner <= 1709 och rekommenderas för nyare versioner av Windows. Du kan enkelt optimera valfri mall IF 2.0-modell med hjälp av Windows Mixed Reality Asset Converter som finns på GitHub. Det här verktyget utför rätt struktur för packning och optimeringar enligt nedan. För allmän användning rekommenderar vi att du använder WindowsMRAssetConverter, men om du behöver mer kontroll över upplevelsen och vill skapa en egen optimeringspipeline kan du läsa den detaljerade specifikationen nedan.

Anteckning

En fullständig lista över möjligheterna för exakta modellbegränsningar finns i artikeln 3D-modelloptimering för användning i Dynamics 365-program.

Material

För att förbättra inläsningstiden för tillgångar Mixed Reality miljöer Windows MR stöd för rendering av komprimerade DDS-strukturer packad enligt strukturpaketeringsschemat som definieras i det här avsnittet. DDS-strukturer refereras med hjälp MSFT_texture_dds tillägget. Vi rekommenderar starkt att du komprimerar strukturer.

HoloLens

HoloLens-baserade upplevelser med mixad verklighet förväntar sig att strukturer packas med en 2-struktur med följande packningsspecifikation:

egenskap för egenskap Textur Paketeringsschema
pbrStarticRoughness baseColorTexture Röd (R), grön (G), blå (B)
MSFT_packing_normalRoughnessMetallic normalRoughnessStarticTexture Normal (RG), grovhet (B), nörd (A)

När du komprimerar DDS-strukturerna förväntas följande komprimering på varje karta:

Textur Förväntad komprimering
baseColorTexture, normalRoughnessGeniTexture BC7

Headset för Avancerad (VR)

PC-baserade Windows Mixed Reality för integrerande (VR) headset förväntar sig att strukturer packas med en 3-struktur med hjälp av följande packningsspecifikation:

Windows OS >= 1803

egenskap för egenskap Textur Paketeringsschema
pbrStarticRoughness baseColorTexture Röd (R), grön (G), blå (B)
MSFT_packing_occlusionRoughnessMetallic ocklusionRoughnessStarticTexture Ocklusion (R), grovhet (G), Grupprincip (B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normal (RG)

När du komprimerar DDS-strukturerna förväntas följande komprimering på varje karta:

Textur Förväntad komprimering
normalTexture BC5
baseColorTexture,ocklusionRoughnessLogicTexture BC7
Windows OS <= 1709

egenskap för egenskap Textur Paketeringsschema
pbrStarticRoughness baseColorTexture Röd (R), grön (G), blå (B)
MSFT_packing_occlusionRoughnessMetallic roughnessTrappicOcclusionTexture Grovhet (R),Dirigering (G),Ocklusion (B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normal (RG)

När du komprimerar DDS-strukturerna förväntas följande komprimering på varje karta:

Textur Förväntad komprimering
normalTexture BC5
baseColorTexture, roughnessTrappicOcclusionTexture BC7

Lägga till nät-LOD:er

Windows MR använder geometrinod-LOD:er för att återge 3D-modeller i olika detaljnivåer beroende på skärmtäckning. Även om den här funktionen tekniskt sett inte krävs, rekommenderas den för alla tillgångar. För Windows har stöd för tre detaljnivåer. Standard-LOD är 0, vilket representerar den högsta kvaliteten. Andra LOD:er numreras sekventiellt, till exempel 1, 2 och får progressivt lägre kvalitet. Den Windows Mixed Reality Asset Converter stöder generering av tillgångar som uppfyller den här LOD-specifikationen genom att acceptera flerafsF-modeller och sammanfoga dem i en enda tillgång med giltiga LOD-nivåer. I följande tabell beskrivs förväntade LOD-ordningsmål och triangelmål:

LOD-nivå Rekommenderat triangelantal Maximalt antal triangel
LOD 0 10 000 10 000
LOD 1 5 000 10 000
LOD 2 2 500 10 000

När du använder lods anger du alltid 3 LOD-nivåer. Saknade LOD:er gör att modellen inte renderas oväntat eftersom LOD-systemet växlar till den LOD-nivå som saknas. specTF 2.0 stöder för närvarande inte LOD:er som en del av kärnspecifikationen. LOD:er bör definieras med hjälp av MSFT_LOD tillägget.

Skärmtäckning

LOD:er visas i Windows Mixed Reality baserat på ett system som drivs av det skärmtäckningsvärde som angetts för varje LOD. Objekt som för närvarande förbrukar en större del av skärmutrymmet visas på en högre LOD-nivå. Skärmtäckning är inte en del av kärnspecifikationen för TF 2.0 och måste anges med hjälp av MSFT_ScreenCoverage i avsnittet "extra" i MSFT_lod tillägget.

LOD-nivå Rekommenderat intervall Standardintervall
LOD 0 100% - 50% 0,5
LOD 1 Under 50 % – 20 % 0,2
LOD 2 Under 20 % – 1 % 0,01
LOD 4 Under 1 % -

Riktlinjer för animering

Anteckning

Den här funktionen lades till som en del Windows 10 uppdatering för april 2018. I äldre versioner Windows dessa animeringar inte spelas upp, men de läses fortfarande in om de har redigerats enligt riktlinjerna i den här artikeln.

Hem med mixad verklighet stöder animerade animeradTF-objekt på HoloLens och integrerande (VR)-headset. Om du vill utlösa animeringar i din modell måste du använda tillägget Animeringskarta i formaten för formatstf. Med det här tillägget kan du utlösa animeringar i erTF-modellen baserat på användarens närvaro i världen, till exempel utlösa en animering när användaren är nära objektet eller när de tittar på det. Om du har animeringar för ett objekt med animeringar, men inte definierar utlösare, spelas animeringarna inte upp. I avsnittet nedan beskrivs ett arbetsflöde för att lägga till dessa utlösare i alla animerade animeratTF-objekt.

Verktyg

Ladda först ned följande verktyg om du inte redan har dem. De här verktygen gör det enkelt att öppna valfri mall, förhandsgranska den, göra ändringar och spara tillbaka som förhandstittTF eller .lfb:

  1. Visual Studio Code
  2. Tools for Visual Studio Code

Öppna och förhandsgranska modellen

Börja med att öppna upp modeltF-modellen i VSCode genom att dra filen .jmTF till redigeringsfönstret. Om du har en .lfb i stället för en .jmTF-fil kan du importera den till VSCode med hjälp av det laddade tillägget FörF-verktyg som du laddade ned. Gå till "View -> Command Palette" (Visa ->-kommandopaletten) och börja skriva "trimTF" i kommandopaletten. Då öppnas en filväljare där du kan importera en .bbb med.

När du har öppnat din ertF-modell bör du se JSON i redigeringsfönstret. Du kan också förhandsgranska modellen i ett live-3D-visningsprogram med hjälp av genom att högerklicka på filnamnet och välja kommandogenvägen "mappAF: Förhandsversion 3D-modell" från högerklicksmenyn.

Lägga till utlösare

Animeringsutlösare läggs till i JSON-modellmodellen med tillägget Animeringskarta. Tillägget för animeringskarta dokumenteras offentligt här på GitHub (OBS! DETTA ÄR ETT UTKAST TILL TILLÄGG). Om du vill lägga till tillägget i din modell bläddrar du bara till slutet av filen erTF i redigeraren och lägger till blocket "extensionsUsed" och "extensions" i filen om de inte redan finns. I avsnittet "extensionsUsed" lägger du till en referens till tillägget "EXT_animation_map" och i blocket "tillägg" lägger du till dina mappningar till animeringarna i modellen.

Som anges i specifikationen definierar du vad som utlöser animeringen med hjälp av den "semantiska" strängen i en lista med "animeringar", som är en matris med animeringsindex. I exemplet nedan har vi angett animeringen som ska spelas upp medan användaren tittar på objektet:

  "extensionsUsed": [
    "EXT_animation_map"
  ],
  "extensions" : {
      "EXT_animation_map" : {
            "bindings": [
                {
                    "semantic": "GAZE",
                    "animations": [0]
                }
            ]
      }
  }

Följande semantik för animeringsutlösare stöds av Windows Mixed Reality startsidan.

  • "ALWAYS": Loopa en animering hela tiden
  • "HELD": Loopas under hela den tid ett objekt plockas.
  • "BLICK": Loopade medan ett objekt håller på att tittas
  • "NÄRHET": Loopade när en tittare är nära ett objekt
  • "POINTING": Loopade när en användare pekar på ett objekt

Spara och exportera

När du har gjort ändringarna i din erTF-modell kan du spara den direkt som standard. Du kan också högerklicka på namnet på filen i redigeraren och välja "trimmaTF: Exportera tillTRIMB (binär fil)" för att exportera en .skim.

Begränsningar

Animeringar kan inte vara längre än 20 minuter och får inte innehålla mer än 36 000 nyckeldatorer (20 minuter vid 30 BP). När du använder morfmålbaserade animeringar får du dessutom inte överskrida 8 192 morfmålhörn eller mindre. Om dessa antal överskrids kommer den animerade tillgången inte att stödjas i Windows Mixed Reality hem.

Funktion Maximal
Varaktighet 20 minuter
Nyckelrutor 36,000
Morfmålshörn 8192

kommentarer om implementering av skav

Windows MR stöder inte att vända geometri med negativa skalor. Geometri med negativa skalor resulterar troligen i visuella artefakter.

Attributet sceneTF måste peka på standardscenen med hjälp av scenattributet som ska återges av Windows MR. Dessutom kräver Windows MR Windows 10 f-inläsaren för Windows 10 2018-uppdateringen åtkomst:

  • Måste ha min- och maxvärden.
  • Typen SCALAR måste vara componentType UNSIGNED_SHORT (5123) eller UNSIGNED_INT (5125).
  • Typen VEC2 och VEC3 måste vara componentType FLOAT (5126).

Följande materialegenskaper används från core core coretsTF 2.0-specifikationen men krävs inte:

  • baseColorFactor,factor, roughnessFactor
  • baseColorTexture: Måste peka på en struktur som lagras i dds.
  • emissiveTexture: Måste peka på en struktur som lagras i dds.
  • emissiveFactor
  • alphaMode

Följande materialegenskaper ignoreras från kärnspecifikationen:

  • Alla multi-UV:er
  • metalRoughnessTexture: Måste i stället använda Microsoft-optimerad strukturerad paketering som definieras nedan
  • normalTexture: Måste i stället använda Microsoft-optimerad strukturerad packning som definieras nedan
  • normalScale
  • ocklusionTexture: Måste i stället använda Microsoft-optimerad struktur som paketering definieras nedan
  • ocklusionStrength

Windows MR stöder inte linjer och punkter i primitivt läge.

Endast ett enda VERIFIE-hörnattribut stöds.

Fler resurser

Se även