Verbindung zwischen der Mixed Reality Design Language (MRDL) und Grafiktools — MRTK3

Die Mixed Reality Design Language (MRDL) ist eine Designsprache ähnlich wie Fluent, aber es hat Überlegungen für Mixed Reality angestellt. Im Laufe der Jahre hat sich MRDL mit jeder Iteration von HoloLens und innerhalb von Produkten wie der Mesh-App weiterentwickelt.

Grafiktools werden erstellt, um die Tools und Prozesse besser zu teilen, die zum Erstellen von MRDL-Benutzeroberflächenkomponenten verwendet werden. Das Grafiktools-Paket ist so konzipiert, um MRDL-Konzepte über Shader, Texturen, Materialien, Modelle, Skripte und Werkzeuge in alle Mixed-Reality-Apps zu übertragen.

Wo sind MRDL-Komponenten zu finden?

Tipp

Suchen Sie nach vollständigen MRDL entworfenen Komponenten? Sehen Sie sich UX-Pakete auf höherer Ebene innerhalb des MRTK an.

Die Shader und Assets, die die MRDL-Leistung ermöglichen, finden Sie an den folgenden Speicherorten:

Shader

Die erste Option jedes Materialinspektors enthält ein Shader-Dropdown. Alle Grafiktools-Shader befinden sich im Graphics Tools Namespace. Die meisten maßgeschneiderten MRDL-Shader befinden sich im Graphics Tools/Canvas- und Graphics Tools/Non-Canvas-Shader Namespace. Wie der Name schon sagt, sollten Shader im Canvas Namespace mit UnityUI-Canvas verwendet werden und Shader im Non-Canvas Namespace sollten im normalen Unity-Kontext verwendet werden.

Shader dropdown in editor

Tipp

Wenn Sie sich den Quellcode dieser Shader ansehen, werden Sie feststellen, dass er schwieriger zu lesen ist als der eines herkömmlichen Shaders. Dies liegt daran, dass sie aus einem Tool generiert werden.

Materialien

Im Ordner Runtime/Materials finden Sie ein Material, das jeden Shader oben darstellt. Diese Materialien werden für allgemeine Benutzeroberflächenkomponenten verwendet. Einige Materialien beziehen sich auf Texturen, die für bestimmte Effekte wie z.B. Schillern erforderlich sind.

Modelle

Einige Modelle befinden sich im Ordner Runtime/Models. Diese Modelle werden für Nicht-Canvas-Materialien verwendet.

Tipp

Die meisten Canvas-Modelle werden programmgesteuert im Code generiert.

Wann sollte ich eine MRDL-Komponente im Vergleich zu einer anderen verwenden?

Graphics Tools unterstützt zwei Methoden zur Erstellung von Benutzeroberflächen: UnityUI und traditionelle Spielobjekte. Es wird empfohlen, sich die Beispiel-Assets anzusehen, die nachstehende Liste kann jedoch als Referenz verwendet werden.

Backplate (Rückplatte)

Bietet eine undurchsichtige Unterlage, auf der Elemente der Benutzeroberfläche platziert werden können.

Back plate example

Ressource Canvas Nicht-Canvas
Shader Grafiktools/Canvas/Backplate Grafiktools/Nicht-Canvas/Backplate
Material CanvasBackplate Nicht-CanvasBackplate
Skript(e)/Modell(e) CanvasElementRoundedRect.cs Backplate8

Frontplatte

Zeigt eine durchsichtige Oberfläche über der Rückplatte an, um die Lautstärke und die Näherungsbeleuchtung anzuzeigen.

Front plate example

Ressource Canvas Nicht-Canvas
Shader Grafiktools/Canvas/Frontplatte Grafiktools/Canvas/Frontplatte
Material CanvasFrontplate Nicht-CanvasFrontplate
Skript(e)/Modell(e) RawImage.cs/ScaleMeshEffect.cs Frontplatte8

Glow

Ein kleines Highlight, wenn mit einem Angebot interagiert wird.

Glow example

Ressource Canvas Nicht-Canvas
Shader Grafiktools/Canvas/Glow Grafiktools/Nicht-Canvas/Glow
Material CanvasFrontplate Nicht-CanvasFrontplate
Skript(e)/Modell(e) RawImage.cs/ScaleMeshEffect.cs Quad (Unity-Standard)

Quad Glow

Ein größeres Leuchten, wenn mit einem Angebot indirekt interagiert wird.

Quad glow example

Ressource Canvas Nicht-Canvas
Shader Grafiktools/Canvas/Quad Glow Grafiktools/Nicht-Canvas/Quad Glow
Material CanvasQuadGlow Nicht-CanvasQuadGlow
Skript(e)/Modell(e) RawImage.cs/ScaleMeshEffect.cs Quad (Unity-Standard)

Abgeschrägtes Rechteck

Ähnlich wie die Rückplatte, aber mit abgeschrägten Kanten.

Beveled rect example

Ressource Canvas Nicht-Canvas
Shader Grafiktools/Canvas/Beveled Grafiktools/Nicht-Canvas/Beveled
Material BevCanvasBeveled Nicht-CanvasBeveled
Skript(e)/Modell(e) CanvasElementBeveledRect.cs Abgeschrägt4x4, Abgeschrägt6x6, Abgeschrägt8x4, Abgeschrägt8x8

Weitere Informationen