Megosztás a következőn keresztül:


3D modellek létrehozása otthoni használatra

A Windows Mixed Reality kezdőlapja a kiindulási pont, ahol a felhasználók az alkalmazások elindítása előtt szállnak le. A Windows Mixed Reality headsetekhez készült alkalmazás tervezésekor használjon 3D modellt alkalmazásindítóként , és helyezzen 3D mélyhivatkozásokat a Windows Mixed Reality kezdőlapjára. Ez a cikk a Windows Mixed Reality kezdőlapjával kompatibilis 3D-modellek létrehozásának irányelveit ismerteti.

Eszközkövetelmények áttekintése

A Windows Mixed Reality 3D modelljeinek létrehozásakor bizonyos követelményeknek minden eszköznek meg kell felelnie:

  1. Exportálás – Az eszközöket .glb (bináris glTF), .obj vagy .fbx fájlformátumban kell kézbesíteni
  2. Modellezés – Az eszközöknek 10 ezernél kevesebb háromszögnek kell lenniük, legfeljebb 64 csomópontjuk és 32 alegységük lehet LOD-nként
  3. Anyagok – A textúrák nem lehetnek nagyobbak 4096 x 4096-nál, és a legkisebb mip-térkép sem lehet nagyobb 4-nél egyik dimenzióban sem
  4. Animáció – Az animációk nem lehetnek hosszabbak 20 percnél 30 FPS-nél (36 000 kulcskeretnél), és = 8192 alakváltási célcsúcsot kell tartalmazniuk <
  5. Optimalizálás – Az eszközöket a WindowsMRAssetConverter használatával kell optimalizálni. Windows operációsrendszer-verziókon <= 1709* szükséges, és windowsos operációsrendszer-verziók >esetén ajánlott = 1803

Feljegyzés

A 3D Viewer alkalmazás különböző formátumokat és felbontásokat támogat, de végül átalakítja a modelleket .glb/glTF formátumra, mielőtt megjelenítené őket a Mixed Reality kezdőlapon.

A cikk további részében részletesen áttekintheti ezeket a követelményeket és további irányelveket, amelyek biztosítják, hogy a modellek megfelelően működjenek a Windows Mixed Reality otthoni verziójával.

Részletes útmutató

Modellek exportálása

A Windows Mixed Reality kezdőlapja azt várja, hogy a 3D-eszközök a .glb fájlformátummal, beágyazott rendszerképekkel és bináris adatokkal legyenek kézbesítve. A Glb a glTF formátum bináris verziója, amely a Khronos-csoport által fenntartott 3D-s eszközkézbesítés ingyenes nyílt szabványa. Ahogy a glTF iparági szabványként fejlődik az interoperálható 3D-s tartalmakhoz, a Microsoft is támogatja a formátumot a Windows-alkalmazásokban és -szolgáltatásokban. Ha még nem hozott létre glTF-objektumot, mielőtt a glTF munkacsoport GitHub oldalán megtalálja a támogatott exportőrök és konverterek listáját.

Modellezési irányelvek

A Windows az alábbi modellezési irányelvek alapján hozza létre az eszközöket a Mixed Reality otthoni felülettel való kompatibilitás biztosítása érdekében. A választott programban való modellezéskor tartsa szem előtt az alábbi javaslatokat és korlátozásokat:

  1. A Fel tengelyt "Y" értékre kell állítani.
  2. Az objektumnak "előre" kell néznie a pozitív Z tengely felé.
  3. Minden objektumot a helyszín helyszínén lévő földi síkra kell építeni (0,0,0)
  4. A munkaegységeket mérőkre és eszközökre kell beállítani, hogy az eszközök világméretekben is létrehozhatók legyenek
  5. Az összes hálót nem kell kombinálni, de ajánlott, ha erőforrás-korlátozott eszközöket céloz meg
  6. Minden hálónak egy anyaggal kell rendelkeznie, és csak egy anyagmintát kell használnia a teljes objektumhoz
  7. A UV-ket négyzetes elrendezésben kell elhelyezni a 0-1 térben. Kerülje a mintázatok burkolását, bár engedélyezettek.
  8. A multi-UV-k nem támogatottak
  9. A kétoldalas anyagok nem támogatottak

Háromszögek száma és részletességi szintek (LOD-k)

A Windows Mixed Reality kezdőlapja nem támogatja a több mint 10 000 háromszöggel rendelkező modelleket. Javasoljuk, hogy exportálás előtt háromszögelje be a hálókat, hogy ne lépje túl ezt a számot. A Windows MR támogatja az opcionális geometriai részletességi szinteket (LOD-k) is a teljesítmény és a kiváló minőségű élmény biztosítása érdekében. A WindowsMRAssetConverter segítségével a modell 3 verzióját egyetlen .glb modellbe egyesítheti. A Windows a modell által igénybe vett képernyő-ingatlan mennyisége alapján határozza meg, hogy melyik LOD jelenjen meg. A következő ajánlott háromszögszámokkal csak 3 LOD-szint támogatott:

LOD-szint Ajánlott háromszögek száma Háromszögek maximális száma
LOD 0 10,000. 10,000.
LOD 1 5000 10,000.
LOD 2 2500 10,000.

Csomópontok száma és alhálózati korlátai

A Windows Mixed Reality kezdőlapja nem támogatja a 64-nél több csomópontot vagy lodonként 32 alcsomópontot tartalmazó modelleket. A csomópontok a glTF-specifikáció azon fogalmai, amelyek meghatározzák a jelenet objektumait. Az almémek az objektum hálóján lévő primitívek tömbjében vannak definiálva.

Szolgáltatás Leírás Maximális támogatottság Dokumentáció
Csomópontok Objektumok a glTF-jelenetben 64 per LOD Támogatott kötések
Aljelentések Primitívek összege az összes hálón 32 per LOD Támogatott kötések

Anyagra vonatkozó irányelvek

A textúrákat PBR fém érdességi munkafolyamattal kell előkészíteni. Először is hozzon létre egy teljes készlet textúrák, beleértve Albedo, Normál, Occlusion, Fémes, és durvaság. A Windows Mixed Reality legfeljebb 4096x4096 felbontású textúrákat támogat, de ajánlott 512x512-nél létrehozni. A textúrákat 4 többszörös felbontásban kell megszerkesíteni. Ez az alábbi exportálási lépésekben a textúrákra alkalmazott tömörítési formátum követelménye. Mip-térképek vagy textúra létrehozásakor a legalacsonyabb mip-nek legfeljebb 4x4-nek kell lennie.

Ajánlott textúraméret Anyagminta maximális mérete Legalacsonyabb mip
512 x 512 4096x4096 max. 4x4

Albedo (alapszín) térkép

Nyers szín világítási információ nélkül. Ez a térkép a fém (a fémtérképen fehér) és a szigetelőfelületek (a fémtérképen fekete) fényvisszaverő és diffúz információját is tartalmazza.

Normál

Tangens tér normál térképe

Érdesség térképe

Az objektum mikrofelszínét ismerteti. Fehér 1.0 durva Fekete 0.0 sima. Ez a térkép a legtöbb karaktert adja az objektumnak, mivel valóban leírja a felületet. Például karcolások, ujjlenyomatok, folt, kosz stb.

Környezeti elzáródás térképe

Értékskálázási térkép az elzárt fény területeiről, amelyek blokkolják a tükröződéseket

Fémes térkép

Azt jelzi a árnyékolónak, hogy valami fém-e vagy sem. Nyers fém = 1,0 fehér Nem fém = 0,0 fekete. Lehetnek átmeneti szürke értékek, amelyek a nyers fémet, például a szennyeződést takarják, de ez a térkép általában csak fekete-fehér lehet.

Optimalizálás

A Windows Mixed Reality kezdőlapja számos optimalizálást kínál az egyéni bővítményekkel definiált alapvető glTF-specifikációkon felül. Ezek az optimalizálások a Windows = 1709 verziókon <szükségesek, és a Windows újabb verzióiban ajánlottak. A GitHubon elérhető Windows Mixed Reality eszközkonverterrel egyszerűen optimalizálhatja a glTF 2.0-s modelleket. Ez az eszköz elvégzi a megfelelő anyagminta-csomagolást és -optimalizálást az alábbiak szerint. Általános használat esetén a WindowsMRAssetConverter használatát javasoljuk, de ha nagyobb kontrollra van szüksége a felhasználói élmény felett, és saját optimalizálási folyamatot szeretne létrehozni, tekintse meg az alábbi részletes specifikációt.

Feljegyzés

A pontos modellkorlátok lehetőségeinek végleges listáját a Dynamics 365-alkalmazásokban használható 3D modelloptimalizálási cikkben találja.

Anyagok

Az eszközök betöltési idejének javítása Vegyes valóság környezetben a Windows MR támogatja az ebben a szakaszban meghatározott anyagminta-csomagolási séma szerint csomagolt tömörített DDS-textúrák renderelését. A DDS-textúrákra a MSFT_texture_dds bővítmény hivatkozik. A textúrák tömörítése erősen ajánlott.

HoloLens

A HoloLens-alapú vegyes valósági élmények azt várják, hogy a textúrák 2-textúra beállítással legyenek csomagolva az alábbi csomagolási specifikációval:

glTF tulajdonság Szövet Csomagolási séma
pbrMetallicRoughness baseColorTexture Piros (R), zöld (G), kék (B)
MSFT_packing_normalRoughnessMetallic normalRoughnessMetallicTexture Normál (RG), érdesség (B), fémes (A)

A DDS-textúrák tömörítésekor az alábbi tömörítés várható minden térképen:

Szövet Várt tömörítés
baseColorTexture, normalRoughnessMetallicTexture BC7

Modern (VR) headsetek

A modern (VR) headsetekhez készült, PC-alapú Windows Mixed Reality-élmények elvárják, hogy a textúrák 3 textúrabeállítással legyenek csomagolva a következő csomagolási specifikáció használatával:

Windows OS >= 1803

glTF tulajdonság Szövet Csomagolási séma
pbrMetallicRoughness baseColorTexture Piros (R), zöld (G), kék (B)
MSFT_packing_occlusionRoughnessMetallic occlusionRoughnessMetallicTexture Elzáródás (R), Érdesség (G), fémes (B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normál (RG)

A DDS-textúrák tömörítésekor az alábbi tömörítés várható minden térképen:

Szövet Várt tömörítés
normalTexture BC5
baseColorTexture, occlusionRoughnessMetallicTexture BC7
Windows OS <= 1709

glTF tulajdonság Szövet Csomagolási séma
pbrMetallicRoughness baseColorTexture Piros (R), zöld (G), kék (B)
MSFT_packing_occlusionRoughnessMetallic roughnessMetallicOcclusionTexture Érdesség (R), fém (G), elzáródás (B)
MSFT_packing_occlusionRoughnessMetallic normalTexture Normál (RG)

A DDS-textúrák tömörítésekor az alábbi tömörítés várható minden térképen:

Szövet Várt tömörítés
normalTexture BC5
baseColorTexture, roughnessMetallicOcclusionTexture BC7

Hálós LOD-k hozzáadása

A Windows MR geometriai csomópont-LOD-kkal jeleníti meg a térhatású modelleket a képernyő lefedettségétől függően különböző részletességi szinteken. Bár ez a funkció technikailag nem szükséges, minden eszközhöz ajánlott. A Windows jelenleg 3 részletességi szintet támogat. Az alapértelmezett LOD 0, amely a legmagasabb minőséget képviseli. A többi LOD-t egymás után számozza, például 1, 2, és fokozatosan csökken a minőség. A Windows Mixed Reality eszközkonverter támogatja az ezen LOD-specifikációnak megfelelő eszközök generálását azáltal, hogy több glTF-modellt fogad el, és egyetlen, érvényes LOD-szinttel rendelkező objektumba egyesíti őket. Az alábbi táblázat a várt LOD-rendezési és háromszögcélokat ismerteti:

LOD-szint Ajánlott háromszögek száma Háromszögek maximális száma
LOD 0 10,000. 10,000.
LOD 1 5000 10,000.
LOD 2 2500 10,000.

A LOD-k használatakor mindig adjon meg 3 LOD-szintet. A hiányzó LOD-k miatt a modell nem jelenik meg váratlanul, amikor a LOD-rendszer a hiányzó LOD-szintre vált. A glTF 2.0 jelenleg nem támogatja a LOD-ket az alapvető specifikáció részeként. A LOD-ket a MSFT_LOD bővítmény használatával kell definiálni.

Képernyőlefedettség

A LOD-k a Windows Mixed Realityben jelennek meg az egyes LOD-kon beállított képernyőlefedettségi érték által hajtott rendszer alapján. A képernyőterület nagyobb részét jelenleg használó objektumok magasabb LOD-szinten jelennek meg. A képernyőlefedettség nem része az alapvető glTF 2.0 specifikációnak, és MSFT_ScreenCoverage kell megadni a MSFT_lod bővítmény "extrák" szakaszában.

LOD-szint Ajánlott tartomány Alapértelmezett tartomány
LOD 0 100% - 50% 0,5
LOD 1 50% alatt – 20% 0,2
LOD 2 20% alatt – 1% 0,01
LOD 4 1% alatt -

Animációs irányelvek

Feljegyzés

Ez a funkció a Windows 10 2018. áprilisi frissítés részeként lett hozzáadva. A Windows régebbi verzióiban ezek az animációk nem fognak visszajátszani, azonban továbbra is betölthetők, ha az ebben a cikkben szereplő útmutatásnak megfelelően vannak létrehozva.

A vegyes valóság otthona támogatja az animált glTF-objektumokat a HoloLensen és a modern (VR) headseteket. Ha animációkat szeretne aktiválni a modellen, az Animációtérkép bővítményt kell használnia glTF formátumban. Ez a bővítmény lehetővé teszi, hogy a glTF-modellben animációkat aktiváljon a felhasználónak a világon való jelenléte alapján, például animációt aktiválhat, amikor a felhasználó közel van az objektumhoz, vagy amikor megtekinti. Ha a glTF-objektum rendelkezik animációkkal, de nem határoz meg eseményindítókat, az animációk nem lesznek lejátszva. Az alábbi szakasz egy munkafolyamatot ír le az eseményindítók bármely animált glTF-objektumhoz való hozzáadásához.

Eszközök

Először töltse le a következő eszközöket, ha még nem rendelkezik velük. Ezek az eszközök megkönnyítik a glTF-modellek megnyitását, előnézetét, a módosításokat és a mentést glTF vagy .glb formátumban:

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

A modell megnyitása és előnézete

Először nyissa meg a glTF-modellt a VSCode-ban a .glTF fájl szerkesztőablakba húzásával. Ha .glTF-fájl helyett .glb-fájllal rendelkezik, importálhatja azt a VSCode-ba a letöltött glTF Tools bővítmény használatával. Lépjen a "Nézet –> Parancskatalógus" elemre, majd kezdje el beírni a "glTF" szöveget a parancskatalógusba, és válassza a "glTF: Importálás a glb-ből" lehetőséget, amely előugrik egy fájlválasztóval, amellyel importálhat egy .glb-et.

Miután megnyitotta a glTF-modellt, látnia kell a JSON-t a szerkesztőablakban. A modellt élő 3D-megjelenítőben is megtekintheti, ha a jobb gombbal a fájl nevére kattint, majd a jobb gombbal a menüből kiválasztja a "glTF: Preview 3D Model" parancsikont.

Az eseményindítók hozzáadása

Az animációs eseményindítók a glTF-modell JSON-modelljéhez lesznek hozzáadva az Animációtérkép bővítmény használatával. Az animációs térkép bővítménye nyilvánosan dokumentálva van itt a GitHubon (MEGJEGYZÉS: EZ EGY PISZKOZAT BŐVÍTMÉNY). Ha hozzá szeretné adni a bővítményt a modellhez, egyszerűen görgessen a glTF-fájl végéhez a szerkesztőben, és adja hozzá a "extensionsUsed" és a "extensions" blokkot a fájlhoz, ha még nem léteznek. A "extensionsUsed" szakaszban a "EXT_animation_map" bővítményre mutató hivatkozást, a "bővítmények" blokkban pedig a modell animációihoz adja hozzá a leképezéseket.

Ahogy a specifikációban is látható, ön határozza meg, hogy mi indítja el az animációt az "animációk" listájában található "szemantikai" sztring használatával, amely az animációs indexek tömbje. Az alábbi példában meghatároztuk a lejátszáshoz szükséges animációt, miközben a felhasználó az objektumra néz:

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

A Windows Mixed Reality kezdőlapja az alábbi animációs eseményindítókat támogatja.

  • "ALWAYS": Folyamatosan hurkol egy animációt
  • "HELD": Az objektumot a rendszer a teljes időtartam alatt hurkolja.
  • "GAZE": Hurkolva, miközben egy objektumot megtekintenek
  • "PROXIMITY": Hurkolt, miközben egy megtekintő közel van egy objektumhoz
  • "POINTING": Hurok, miközben a felhasználó egy objektumra mutat

Mentés és exportálás

Miután végrehajtotta a glTF-modell módosításait, közvetlenül glTF-ként mentheti. A jobb gombbal a fájl nevére is kattinthat a szerkesztőben, és a .glb exportálásához válassza a "glTF: Exportálás GLB-be (bináris fájl)" lehetőséget.

Korlátozások

Az animációk nem lehetnek hosszabbak 20 percnél, és nem tartalmazhatnak 36 000-nél több kulcskeretet (20 perc 30 FPS-nél). Emellett az alakváltás célalapú animációk használata esetén sem haladja meg a 8192-et. Ha túllépi ezeket a számokat, az animált objektum nem támogatott a Windows Mixed Reality kezdőlapon.

Szolgáltatás Maximum
Időtartam 20 perc
Kulcskeretek 36,000
A cél csúcspontjainak alakváltása 8192

glTF implementálási megjegyzések

A Windows MR nem támogatja a geometria negatív méretezéssel történő tükrözést. A negatív skálákkal rendelkező geometria valószínűleg vizuális összetevőket eredményez.

A glTF-objektumnak az alapértelmezett jelenetre kell mutatnia a Windows MR által megjelenítendő jelenetattribútum használatával. A Windows MR glTF 2018. április 10-i frissítése előtti windowsos mr glTF-rakodóhoz emellett tartozékokra is szükség van:

  • Minimális és maximális értékekkel kell rendelkeznie.
  • A SKALÁRIS típusnak componentType UNSIGNED_SHORT (5123) vagy UNSIGNED_INT (5125) kell lennie.
  • A VEC2 és a VEC3 típusnak componentType FLOAT (5126) típusúnak kell lennie.

A glTF 2.0-s specifikációból a következő anyagtulajdonságokat használjuk, de nem kötelező:

  • baseColorFactor, metallicFactor, roughnessFactor
  • baseColorTexture: A dds-ben tárolt anyagmintára kell mutatnia.
  • emissiveTexture: A dds-ben tárolt anyagmintára kell mutatnia.
  • emissiveFactor
  • alphaMode

A rendszer figyelmen kívül hagyja a következő anyagtulajdonságokat az alapvető specifikációból:

  • Minden multi-UV
  • metalRoughnessTexture: Ehelyett a Microsoft által optimalizált, alább meghatározott anyagminta-csomagolást kell használnia
  • normalTexture: Ehelyett a Microsoft által optimalizált anyagminta-csomagolást kell használnia, amelyet az alábbiakban határozunk meg
  • normalScale
  • occlusionTexture: Ehelyett a Microsoft által optimalizált, alább meghatározott anyagminta-csomagolást kell használnia
  • occlusionStrength

A Windows MR nem támogatja a primitív módú vonalakat és pontokat.

Csak egyetlen UV csúcs attribútum támogatott.

További erőforrások

Lásd még