Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Windows Mixed Reality Startseite ist der Ausgangspunkt, an dem Benutzer vor dem Starten von Anwendungen landen. Verwenden Sie beim Entwerfen Ihrer Anwendung für Windows Mixed Reality Headsets ein 3D-Modell als App-Startfeld, und platzieren Sie 3D-Deep-Links in der Windows Mixed Reality Home. In diesem Artikel werden die Richtlinien zum Erstellen von 3D-Modellen beschrieben, die mit dem Windows Mixed Reality Home kompatibel sind.
Übersicht über Die Ressourcenanforderungen
Beim Erstellen von 3D-Modellen für Windows Mixed Reality gibt es einige Anforderungen, die alle Ressourcen erfüllen müssen:
- Exportieren: Objekte müssen im GLB-Dateiformat (binär glTF), .obj oder FBX übermittelt werden.
- Modellierung : Ressourcen müssen weniger als 10.000 Dreiecke aufweisen, nicht mehr als 64 Knoten und 32 Untergeordnete Elemente pro LOD aufweisen.
- Materialien : Texturen dürfen nicht größer als 4096 x 4096 sein, und die kleinste Mip-Karte sollte in beiden Dimensionen nicht größer als 4 sein.
- Animation : Animationen dürfen nicht länger als 20 Minuten bei 30 FPS (36.000 Keyframes) sein und müssen = 8192 Morphzielvertices enthalten <.
- Optimieren: Ressourcen sollten mithilfe von WindowsMRAssetConverter optimiert werden. Erforderlich unter Windows-Betriebssystemversionen <= 1709* und empfohlen für Windows-Betriebssystemversionen >= 1803
Hinweis
Die 3D-Viewer-App unterstützt verschiedene Formate und Auflösungen, konvertiert modelle jedoch letztendlich in .glb/glTF, bevor sie im Mixed Reality Home angezeigt werden.
Der Rest dieses Artikels enthält eine detaillierte Übersicht über diese Anforderungen und zusätzliche Richtlinien, um sicherzustellen, dass Ihre Modelle gut mit dem Windows Mixed Reality Home funktionieren.
Ausführliche Anleitung
Exportieren von Modellen
Die Windows Mixed Reality Home erwartet, dass 3D-Ressourcen im GLB-Dateiformat mit eingebetteten Bildern und Binärdaten bereitgestellt werden. Glb ist die binärversion des glTF-Formats, ein lizenzfreier offener Standard für die Bereitstellung von 3D-Ressourcen, die von der Khronos-Gruppe verwaltet wird. Da glTF sich als Industriestandard für interoperable 3D-Inhalte weiterentwickelt, wird auch die Unterstützung von Microsoft für das Format in Windows-Apps und -Umgebungen verwendet. Wenn Sie noch kein glTF-Medienobjekt erstellt haben, finden Sie auf der GitHub-Seite der glTF-Arbeitsgruppe eine Liste der unterstützten Exporter und Konverter .
Modellierungsrichtlinien
Windows erwartet, dass Ressourcen mithilfe der folgenden Modellierungsrichtlinien generiert werden, um die Kompatibilität mit der Mixed Reality Home-Erfahrung sicherzustellen. Beachten Sie beim Modellieren in Ihrem Programm Ihrer Wahl die folgenden Empfehlungen und Einschränkungen:
- Die Nach-oben-Achse sollte auf "Y" festgelegt werden.
- Die Ressource sollte "vorwärts" in Richtung der positiven Z-Achse ausgerichtet sein.
- Alle Ressourcen sollten auf der Bodenebene am Szenenursprung (0,0,0) erstellt werden.
- Die Arbeitseinheiten sollten auf Verbrauchseinheiten und Ressourcen festgelegt werden, damit Ressourcen weltweit erstellt werden können.
- Alle Gitter müssen nicht kombiniert werden. Dies wird jedoch empfohlen, wenn Sie geräte mit Ressourceneinschränkung als Ziel verwenden.
- Alle Gitter sollten ein Material gemeinsam nutzen, wobei nur ein Textursatz für das gesamte Objekt verwendet wird.
- UVs müssen in einer quadratischen Anordnung im 0-1-Raum angeordnet werden. Vermeiden Sie kachelnde Texturen, obwohl sie zulässig sind.
- Multi-UVs werden nicht unterstützt
- Beidseitige Materialien werden nicht unterstützt
Dreiecksanzahl und Detailebenen (LODs)
Das Windows Mixed Reality Home unterstützt keine Modelle mit mehr als 10.000 Dreiecken. Es wird empfohlen, ihre Gitter vor dem Export zu triangulieren, um sicherzustellen, dass sie diese Anzahl nicht überschreiten. Windows MR unterstützt auch optionale Geometrie-Detailebenen (Geometry Level of Detail, LODs), um eine leistungsfähige und qualitativ hochwertige Erfahrung zu gewährleisten.
Der WindowsMRAssetConverter hilft Ihnen, 3 Versionen Ihres Modells in einem einzelnen GLB-Modell zu kombinieren. Windows bestimmt, welche LOD angezeigt werden soll, basierend auf der Größe der Bildschirmflächen, die das Modell in Anspruch nimmt. Es werden nur drei LOD-Ebenen mit der folgenden empfohlenen Dreiecksanzahl unterstützt:
LOD-Ebene | Empfohlene Dreiecksanzahl | Maximale Dreiecksanzahl |
---|---|---|
LOD 0 | 10,000 | 10,000 |
LOD 1 | 5,000 | 10,000 |
LOD 2 | 2.500 | 10,000 |
Knotenanzahl und Submesh-Grenzwerte
Das Windows Mixed Reality Home unterstützt keine Modelle mit mehr als 64 Knoten oder 32 Untermessen pro LOD. Knoten sind ein Konzept in der glTF-Spezifikation , das die Objekte in der Szene definiert. Submeshes werden im Array von Grundtypen im Gitter im -Objekt definiert.
Feature | Beschreibung | Maximal unterstützt | Dokumentation |
---|---|---|---|
Nodes | Objekte in der glTF-Szene | 64 pro LOD | Hier |
Submeshes | Summe der Grundtypen in allen Gittern | 32 pro LOD | Hier |
Materialrichtlinien
Texturen sollten mithilfe eines PBR-Metallrauheitsworkflows vorbereitet werden. Erstellen Sie zunächst einen vollständigen Satz von Texturen wie Albedo, Normal, Occlusion, Metallic und Roughness. Windows Mixed Reality unterstützt Texturen mit Auflösungen von bis zu 4096 x 4096. Es wird jedoch empfohlen, dass Sie die Erstellung bei 512 x 512 erstellen. Texturen sollten mit Auflösungen in Vielfachen von 4 erstellt werden. Dies ist eine Anforderung für das Komprimierungsformat, das in den unten beschriebenen Exportschritten auf Texturen angewendet wird. Beim Generieren von Mip-Karten oder einer Textur muss der niedrigste Mip maximal 4 x 4 sein.
Empfohlene Texturgröße | Maximale Texturgröße | Niedrigster Mip |
---|---|---|
512 x 512 | 4096 x 4096 | max. 4x4 |
Albedo-Karte (Basisfarbe)
Rohe Farbe ohne Beleuchtungsinformationen. Diese Karte enthält auch die Reflektions- und diffusen Informationen für Metalloberflächen (weiß in der metallischen Karte) bzw. Isolatoroberflächen (schwarz in der metallischen Karte).
Standard
Tangens Space Normal map
Rauheitskarte
Beschreibt die Mikrooberfläche des Objekts. Weiß 1.0 ist rau schwarz 0.0 ist glatt. Diese Karte gibt dem Objekt den größten Charakter, da es die Oberfläche wirklich beschreibt. Zum Beispiel Kratzer, Fingerabdrücke, Smudges, Grime usw.
Umgebungsverdeckungskarte
Wertskalakarte mit Bereichen mit verdecktem Licht, das Reflektionen blockiert
Metallische Karte
Teilt dem Shader mit, ob etwas Metall ist oder nicht. Rohmetall = 1,0 weiß Nichtmetall = 0,0 schwarz. Es kann Übergangsgrauwerte geben, die auf etwas hinweisen, das das rohe Metall bedeckt, z. B. Schmutz, aber im Allgemeinen sollte diese Karte nur schwarz und weiß sein.
Optimierungen
Windows Mixed Reality Home bietet eine Reihe von Optimierungen zusätzlich zur glTF-Kernspezifikation, die mithilfe benutzerdefinierter Erweiterungen definiert wurde. Diese Optimierungen sind unter Windows-Versionen <= 1709 erforderlich und werden für neuere Versionen von Windows empfohlen. Sie können jedes glTF 2.0-Modell ganz einfach mithilfe des auf GitHub verfügbaren Windows Mixed Reality Asset Converter optimieren. Dieses Tool führt die richtigen Texturverpackungen und Optimierungen aus, wie unten angegeben. Für die allgemeine Verwendung empfehlen wir die Verwendung von WindowsMRAssetConverter. Wenn Sie jedoch mehr Kontrolle über die Benutzeroberfläche benötigen und Eine eigene Optimierungspipeline erstellen möchten, können Sie sich die ausführliche Spezifikation unten entnehmen.
Hinweis
Eine endgültige Liste der Möglichkeiten für genaue Modellgrenzwerte finden Sie im Artikel zur Optimierung von 3D-Modellen zur Verwendung in Dynamics 365-Anwendungen.
Materialien
Um die Ladezeit von Ressourcen in Mixed Reality Umgebungen zu verbessern, unterstützt Windows MR das Rendern komprimierter DDS-Texturen, die gemäß dem in diesem Abschnitt definierten Texturpaketschema gepackt werden. Auf DDS-Texturen wird mithilfe der erweiterung MSFT_texture_dds verwiesen. Das Komprimieren von Texturen wird dringend empfohlen.
HoloLens
HoloLens-basierte Mixed Reality-Umgebungen erwarten, dass Texturen mithilfe eines 2-Textur-Setups gepackt werden, wobei die folgende Verpackungsspezifikation verwendet wird:
glTF-Eigenschaft | Texture | Verpackungsschema |
---|---|---|
pbrMetallicRoughness | baseColorTexture | Rot (R), Grün (G), Blau (B) |
MSFT_packing_normalRoughnessMetallic | normalRoughnessMetallicTexture | Normal (RG), Rauheit (B), Metallisch (A) |
Beim Komprimieren der DDS-Texturen wird auf jeder Karte die folgende Komprimierung erwartet:
Texture | Erwartete Komprimierung |
---|---|
baseColorTexture, normalRoughnessMetallicTexture | BC7 |
Immersive Headsets (VR)
PC-basierte Windows Mixed Reality-Umgebungen für immersive Headsets (VR) erwarten, dass Texturen mithilfe eines 3-Textur-Setups gepackt werden, wobei die folgende Verpackungsspezifikation verwendet wird:
Windows-Betriebssystem >= 1803
glTF-Eigenschaft | Texture | Verpackungsschema |
---|---|---|
pbrMetallicRoughness | baseColorTexture | Rot (R), Grün (G), Blau (B) |
MSFT_packing_occlusionRoughnessMetallic | occlusionRoughnessMetallicTexture | Verdeckung (R), Rauheit (G), Metallisch (B) |
MSFT_packing_occlusionRoughnessMetallic | normalTexture | Normal (RG) |
Beim Komprimieren der DDS-Texturen wird auf jeder Karte die folgende Komprimierung erwartet:
Texture | Erwartete Komprimierung |
---|---|
normalTexture | BC5 |
baseColorTexture, occlusionRoughnessMetallicTexture | BC7 |
Windows-Betriebssystem <= 1709
glTF-Eigenschaft | Texture | Verpackungsschema |
---|---|---|
pbrMetallicRoughness | baseColorTexture | Rot (R), Grün (G), Blau (B) |
MSFT_packing_occlusionRoughnessMetallic | roughnessMetallicOcclusionTexture | Rauheit (R), Metallisch (G), Okklusion (B) |
MSFT_packing_occlusionRoughnessMetallic | normalTexture | Normal (RG) |
Beim Komprimieren der DDS-Texturen wird auf jeder Karte die folgende Komprimierung erwartet:
Texture | Erwartete Komprimierung |
---|---|
normalTexture | BC5 |
baseColorTexture, roughnessMetallicOcclusionTexture | BC7 |
Hinzufügen von Gitter-LODs
Windows MR verwendet Geometrieknoten-LODs, um 3D-Modelle je nach Bildschirmabdeckung in verschiedenen Detailebenen zu rendern. Obwohl dieses Feature technisch nicht erforderlich ist, wird es für alle Ressourcen empfohlen. Derzeit unterstützt Windows drei Detailebenen. Die Standard-LOD ist 0, was die höchste Qualität darstellt. Andere LODs werden sequenziell nummeriert, z. B. 1, 2, und werden nach und nach in der Qualität niedriger. Der Windows Mixed Reality Asset Converter unterstützt das Generieren von Ressourcen, die diese LOD-Spezifikation erfüllen, indem mehrere glTF-Modelle akzeptiert und zu einem einzelnen Asset mit gültigen LOD-Ebenen zusammengeführt werden. In der folgenden Tabelle werden die erwarteten LOD-Reihenfolgen und Dreiecksziele beschrieben:
LOD-Ebene | Empfohlene Dreiecksanzahl | Maximale Dreiecksanzahl |
---|---|---|
LOD 0 | 10,000 | 10,000 |
LOD 1 | 5,000 | 10,000 |
LOD 2 | 2.500 | 10,000 |
Wenn Sie LODs verwenden, geben Sie immer drei LOD-Ebenen an. Fehlende LODs führen dazu, dass das Modell nicht unerwartet gerendert wird, wenn das LOD-System zur fehlenden LOD-Ebene wechselt. glTF 2.0 unterstützt derzeit keine LODs als Teil der Kernspezifikation. LODs sollten mithilfe der MSFT_LOD-Erweiterung definiert werden.
Bildschirmabdeckung
LODs werden in Windows Mixed Reality basierend auf einem System angezeigt, das durch den für die einzelnen LOD festgelegten Bildschirmabdeckungswert gesteuert wird. Objekte, die derzeit einen größeren Teil des Bildschirmbereichs verbrauchen, werden auf einer höheren LOD-Ebene angezeigt. Die Bildschirmabdeckung ist kein Teil der glTF 2.0-Kernspezifikation und muss mithilfe von MSFT_ScreenCoverage im Abschnitt "Extras" der MSFT_lod-Erweiterung angegeben werden.
LOD-Ebene | Empfohlener Bereich | Standardbereich |
---|---|---|
LOD 0 | 100% - 50% | 0.5 |
LOD 1 | Unter 50% - 20% | 0.2 |
LOD 2 | Unter 20% - 1% | 0.01 |
LOD 4 | Unter 1% | - |
Animationsrichtlinien
Hinweis
Dieses Feature wurde im Rahmen des Windows 10 April 2018-Updates hinzugefügt. In älteren Versionen von Windows werden diese Animationen nicht wiedergegeben, sie werden jedoch weiterhin geladen, wenn sie gemäß der Anleitung in diesem Artikel erstellt wurden.
Das Mixed Reality-Zuhause unterstützt animierte glTF-Objekte auf HoloLens und immersive (VR)-Headsets. Wenn Sie Animationen für Ihr Modell auslösen möchten, müssen Sie die Animationszuordnungserweiterung im glTF-Format verwenden. Mit dieser Erweiterung können Sie Animationen im glTF-Modell basierend auf der Präsenz des Benutzers in der Welt auslösen, z. B. eine Animation auslösen, wenn sich der Benutzer in der Nähe des Objekts befindet oder während er es betrachtet. Wenn Das glTF-Objekt Über Animationen verfügt, aber keine Trigger definiert, werden die Animationen nicht wiedergegeben. Im folgenden Abschnitt wird ein Workflow zum Hinzufügen dieser Trigger zu einem animierten glTF-Objekt beschrieben.
Tools
Laden Sie zunächst die folgenden Tools herunter, falls sie noch nicht vorhanden sind. Mit diesen Tools können Sie ein beliebiges glTF-Modell einfach öffnen, eine Vorschau anzeigen, Änderungen vornehmen und als glTF oder .glb speichern:
Öffnen und Anzeigen einer Vorschau des Modells
Öffnen Sie zunächst das glTF-Modell in VSCode, indem Sie die GLTF-Datei in das Editorfenster ziehen. Wenn Sie eine GLB-Datei anstelle einer GLTF-Datei verwenden, können Sie sie mithilfe des heruntergeladenen Add-Ons glTF-Tools in VSCode importieren. Wechseln Sie zu "Ansicht -> Befehlspalette", geben Sie dann "glTF" in die Befehlspalette ein, und wählen Sie "glTF: Aus glb importieren" aus. Daraufhin wird eine Dateiauswahl angezeigt, mit der Sie eine GLB-Datei importieren können.
Nachdem Sie Ihr glTF-Modell geöffnet haben, sollte der JSON-Code im Editorfenster angezeigt werden. Sie können das Modell auch in einem Live-3D-Viewer anzeigen, indem Sie mit der rechten Maustaste auf den Dateinamen klicken und im Kontextmenü die Befehlsverknüpfung "glTF: Vorschau 3D-Modell" auswählen.
Hinzufügen der Trigger
Animationstrigger werden dem JSON-Code des glTF-Modells mithilfe der Animationszuordnungserweiterung hinzugefügt. Die Animationskartenerweiterung ist hier auf GitHub öffentlich dokumentiert (HINWEIS: DIES IST EINE ENTWURFSERWEITERUNG). Um die Erweiterung zu Ihrem Modell hinzuzufügen, scrollen Sie einfach zum Ende der glTF-Datei im Editor, und fügen Sie den Block "extensionsUsed" und "extensions" zu Ihrer Datei hinzu, falls sie noch nicht vorhanden sind. Im Abschnitt "extensionsUsed" fügen Sie einen Verweis auf die Erweiterung "EXT_animation_map" hinzu, und im Block "extensions" fügen Sie Ihre Zuordnungen zu den Animationen im Modell hinzu.
Wie in der Spezifikation erwähnt, definieren Sie, was die Animation auslöst, indem Sie die "semantische" Zeichenfolge in einer Liste von "Animationen" verwenden, bei der es sich um ein Array von Animationsindizes handelt. Im folgenden Beispiel haben wir die Animation angegeben, die wiedergegeben werden soll, während der Benutzer das Objekt betrachtet:
"extensionsUsed": [
"EXT_animation_map"
],
"extensions" : {
"EXT_animation_map" : {
"bindings": [
{
"semantic": "GAZE",
"animations": [0]
}
]
}
}
Die folgende Animationstriggersemantik wird vom Windows Mixed Reality Home unterstützt.
- "ALWAYS": Fortlaufende Schleife einer Animation
- "HELD": Schleifen während der gesamten Dauer, in der ein Objekt gegriffen wird.
- "GAZE": Schleifen, während ein Objekt betrachtet wird
- "PROXIMITY": Schleifen, während sich ein Viewer in der Nähe eines Objekts befindet
- "POINTING": Schleifen, während ein Benutzer auf ein Objekt zeigt
Speichern und Exportieren
Nachdem Sie die Änderungen an Ihrem glTF-Modell vorgenommen haben, können Sie es direkt als glTF speichern. Sie können auch mit der rechten Maustaste auf den Namen der Datei im Editor klicken und "glTF: In GLB exportieren (Binärdatei)" auswählen, um eine GLB-Datei zu exportieren.
Einschränkungen
Animationen dürfen nicht länger als 20 Minuten sein und nicht mehr als 36.000 Keyframes enthalten (20 Minuten bei 30 FPS). Darüber hinaus überschreiten zielbasierte Animationen bei Verwendung von Morphzielen maximal 8192 Morphzielvertices. Das Überschreiten dieser Anzahlen führt dazu, dass das animierte Objekt im Windows Mixed Reality Home nicht unterstützt wird.
Feature | Maximum |
---|---|
Dauer | 20 Minuten |
Keyframes | 36,000 |
Morphen von Zielvertices | 8192 |
GlTF-Implementierungshinweise
Windows MR unterstützt das Spiegeln von Geometrien mit negativen Skalen nicht. Geometrie mit negativen Skalen führt wahrscheinlich zu visuellen Artefakten.
Das glTF-Objekt MUSS mithilfe des szenen-Attributs, das von Windows MR gerendert werden soll, auf die Standardszene verweisen. Darüber hinaus sind für das GlTF-Ladeprogramm von Windows MR vor dem update vom Windows 10 April 2018 Accessoren erforderlich:
- Muss min- und max-Werte aufweisen.
- Typ SCALAR muss componentType UNSIGNED_SHORT (5123) oder UNSIGNED_INT (5125) sein.
- Typ VEC2 und VEC3 müssen componentType FLOAT (5126) sein.
Die folgenden Materialeigenschaften werden aus der GlTF 2.0-Kernspezifikation verwendet, sind aber nicht erforderlich:
- baseColorFactor, metallicFactor, roughnessFactor
- baseColorTexture: Muss auf eine textur zeigen, die in dds gespeichert ist.
- emissiveTexture: Muss auf eine textur zeigen, die in dds gespeichert ist.
- emissiveFactor
- alphaMode
Die folgenden Materialeigenschaften werden von der Kernspezifikation ignoriert:
- Alle Multi-UVs
- metalRoughnessTexture: Muss stattdessen die unten definierte optimierte Texturverpackung von Microsoft verwenden.
- normalTexture: Muss stattdessen die unten definierte optimierte Texturverpackung von Microsoft verwenden.
- normalScale
- occlusionTexture: Muss stattdessen die unten definierte optimierte Texturverpackung von Microsoft verwenden.
- occlusionStrength
Windows MR unterstützt keine Linien und Punkte im primitiven Modus.
Es wird nur ein einzelnes UV-Vertex-Attribut unterstützt.
Weitere Ressourcen
- glTF-Exporter und -Konverter
- glTF-Toolkit
- glTF 2.0-Spezifikation
- Microsoft glTF LOD-Erweiterungsspezifikation
- Spezifikation für PC Mixed Reality Texture Packing-Erweiterungen
- HoloLens Mixed Reality Texture Packing Extensions Specification
- Spezifikation der GlTF-Erweiterungen für Microsoft DDS-Texturen