Mixed Realityデザイン言語 (MRDL) は Fluent に似たデザイン言語ですが、Mixed Realityに関する考慮事項があります。 長年にわたって、MRDL は HoloLens の各イテレーションと Mesh アプリなどの製品内で進化してきました。
グラフィックス ツールは、MRDL ユーザー インターフェイス コンポーネントの構築に使用されるツールとプロセスをより適切に共有するために構築されています。 Graphics Tools パッケージは、シェーダー、テクスチャ、マテリアル、モデル、スクリプト、ツールを使用して、MRDL の概念をすべてのMixed Reality アプリにバブルアップするように設計されています。
MRDL コンポーネントはどこにありますか?
ヒント
MRDL で設計された完全なコンポーネントをお探しですか? MRTK 内の上位レベルの UX パッケージを見てみましょう。
MRDL を強化するシェーダーとアセットは、次の場所にあります。
シェーダー
すべてのマテリアル インスペクターの最初のオプションには、シェーダー ドロップダウンが含まれています。 すべてのグラフィックス ツール シェーダーは、 Graphics Tools
名前空間内にあります。 ほとんどの特注 MRDL シェーダーは、 Graphics Tools/Canvas
および Graphics Tools/Non-Canvas
シェーダー名前空間にあります。 名前が示すように、Canvas
名前空間のシェーダーは UnityUI キャンバスで使用し、Non-Canvas
名前空間のシェーダーは通常のUnity コンテキスト内で使用する必要があります。
ヒント
これらのシェーダーのソース コードをピアリングすると、従来のシェーダーよりも読みにくくなることがあります。 これは、ツールから生成されるためです。
料
Runtime/Materials フォルダー内には、上記の各シェーダーを表すマテリアルが表示されます。 これらの素材は、一般的なユーザー インターフェイス コンポーネントに使用されます。 一部の素材は、虹色のような特定の効果に必要なテクスチャを参照します。
モデル
一部のモデルは、 Runtime/Models フォルダーに格納されています。 これらのモデルは、キャンバス以外の素材に使用されます。
ヒント
ほとんどのキャンバス モデルは、コード内でプログラムによって生成されます。
MRDL コンポーネントと別の MRDL コンポーネントを使用する必要がある場合
グラフィックス ツールでは、UnityUI と従来のゲーム オブジェクトの 2 つのユーザー インターフェイス作成方法がサポートされています。 サンプル資産を確認することをお勧めしますが、以下の一覧を参照として使用できます。
次の対話型の遊び場は、MRDL コンポーネントを使用してボタンを作成する方法を示しています。
背面プレート
ユーザー インターフェイス要素を配置するための不透明なバッキングを提供します。
Asset | キャンバス | キャンバス以外 |
---|---|---|
シェーダー | グラフィックス ツール/キャンバス/バックプレート | グラフィックス ツール/キャンバス以外/バックプレート |
材料 | CanvasBackplate | CanvasBackplate 以外 |
Script(s)/Model(s) | CanvasElementRoundedRect.cs | Backplate8 |
フロントプレート
背面プレートの上に半透明のサーフェスを表示し、ボリュームと近接照明を表示します。
Asset | キャンバス | キャンバス以外 |
---|---|---|
シェーダー | グラフィックス ツール/キャンバス/フロントプレート | グラフィックス ツール/キャンバス以外/フロントプレート |
材料 | CanvasFrontplate | CanvasFrontplate 以外 |
Script(s)/Model(s) | RawImage.cs/ScaleMeshEffect.cs | Frontplate8 |
Glow
アフォーダンスが操作されたときの小さなハイライト。
Asset | キャンバス | キャンバス以外 |
---|---|---|
シェーダー | グラフィックス ツール/キャンバス/光彩 | グラフィックス ツール/キャンバス以外/光彩 |
材料 | CanvasFrontplate | CanvasFrontplate 以外 |
Script(s)/Model(s) | RawImage.cs/ScaleMeshEffect.cs | クワッド (既定値Unity) |
四角形の光彩
アフォーダンスが間接的にやり取りされる場合の、より大きな光彩。
Asset | キャンバス | キャンバス以外 |
---|---|---|
シェーダー | グラフィックス ツール/キャンバス/クワッド グロー | グラフィックス ツール/キャンバス以外/四角形の光彩 |
材料 | CanvasQuadGlow | CanvasQuadGlow 以外 |
Script(s)/Model(s) | RawImage.cs/ScaleMeshEffect.cs | クワッド (既定値Unity) |
面取りされた rect
バックプレートに似ていますが、面取りエッジを備えたレクトを提供します。
Asset | キャンバス | キャンバス以外 |
---|---|---|
シェーダー | グラフィックス ツール/キャンバス/面取り | グラフィックス ツール/キャンバス以外/面取り |
材料 | BevCanvasBeveled | CanvasBeveled 以外 |
Script(s)/Model(s) | CanvasElementBeveledRect.cs | Beveled4x4、Beveled6x6、Beveled8x4、Beveled8x8 |