本日はMRTK3枠です。
6月の頭にMictosoft社によるMixedRealityのワールドワイドなイベント、MRDevDaysが開催されていました。
ここでは先日紹介したMovingPlatformMode(MPM)に関するセッションやMRTK3のパブリックプレビューに合わせてセッションが行われていました。
今回はGraphics Tools for Unity in MRTK3のセッション(ディスカッション)で挙げられた情報をまとめていきます。
〇Discussion on Graphic Tools for Unity in MRTK3
MRGTのリーダーであるCameronさんがディスかんしょんに参加されていました。
Cameronさんはディスカッションの中で10年間UnityやUnrealEngineでスターウォーズなどのゲームを開発するプロジェクトにかかわったのち2016年よりMicrosoftに入社し、現在活躍されているそうです。
〇MixedRealityGraphicsToolsの概要(MRGT)
MRGTはMRTKのコアパッケージの一つでMixedRealityデバイスでパフォーマンスを向上しつつ体験においての高度なグラフィックを提供するためのモデル、シェーダーなど様々なツールとそれを使用したサンプル群で構成されています。
MRTKv2までで多くの開発者からStandardShaderなどのshaderシステムをMRTKのコアから独立して使用したいというフィードバックが集まり、その中では開発者自身でコアからの切り離しに取り組む例もあったそうです。
これらのフィードバックを受け取り、Microsoft社内で独立したパッケージの必要性を認め新たに再構築してGraphicsToolsがリリースされました。
MRGTでは例えばシェーダーだけを使用したい場合Unityプロジェクトに単独で取り組むことができるなど完全にスタンドアロンなパッケージとなっています。
〇サンプル
半ダースほどのサンプルが提供されており、開発者はUnity PackageManagerを使用して使用したいサンプルをシーン単位でインポートできます。
Cameronさんおお気に入りの一つはMaterialGalleryと呼ばれるパッケージです。
このシーンでは筆者も中身を読み解いている途中ですが、GraphicsToolsStandardシェーダーを用いてすべての表現を行っています。
これはUberシェーダーシステムと呼ばれ、機能ごとに必要なものを切り替えたりすることで非常に高い柔軟性を持っています。
これは使用している機能にのみ処理が走る仕組みのため、同一のシェーダーを使用しながらも必要な機能にのみ必要な描画コストを支払う仕組みになっています。
〇MRTK2とMRTK3の大きな違い
従来のMRTKのグラフィックシステムとMRTK3のグラフィックシステムでは、ほかのMRTKの機能との独立性のほかにUnityUIのサポートがあります。
Unity UIはUnityが提供する推奨UIシステムです。
これはMRTK2ではUnityUIがサポートされていませんでしたが、継続的に多くの開発者がUnityUIを使用していることをMRTKチームが把握したことでMRGTではUnityUIがデフォルトでサポートされるようになりました。
優れたUIを3D空間に配置するためのツールであり、優れたユーザーエクスペリエンスを簡単に構築できるようになります。
〇MRGTチーム構成
MRTKグラフィックチームはシアトルのMicrosoft本社で活動されるCameronさんを代表として、世界で分散してメンバーがいるようです。
ほかの拠点としてはナイジェリアやドイツに拠点があり、異なるタイムゾーンでリモートで作業が進んでいるようです。
先日筆者が出したプルリクエストに関してもCameronさんが日本時間の早朝(現地時間午後)にレビューが行われ、日本時間の夜ドイツのMartinさんによるレビューが行われていました。
日本時間でちょうどお昼のタイミングは現在の拠点ではタイムゾーンから外れているようです。
本日は以上です。
MRTKチームを主体としてコミュニティの参画も歓迎しているようなので筆者もぜひ、日本のMRGTコミュニティチームとして貢献していきたいです。