MRが楽しい

MRやVRについて学習したことを書き残す

MRTKのUnityエディターのglTFインポータを試す

本日は MRTK の小ネタ枠です。
MRTKのUnityエディターのglTFインポータを試してみます。

MRTKのglTFインポータ

通常、Unityエディタは glTF 形式の3Dデータをそのままインポートしても3Dモデルとして扱う事はできません。
f:id:bluebirdofoz:20200707220648j:plain

MRTKには glTF 形式の3Dデータを扱うインポータが含まれており、MRTK をインポートした状態であれば MRTK の glTF インポータが利用されます。
このため、glTF 形式の3Dデータをそのままインポートして3Dモデルとしてプロジェクト内で扱う事ができます。
f:id:bluebirdofoz:20200707220740j:plain

マテリアルの設定

取り込んだ3Dモデルのマテリアルには自動的に MixedRealityToolkit/Standard シェーダが割り当てられます。
f:id:bluebirdofoz:20200707220752j:plain

glTF 形式を利用する利点として、バイナリ形式の glb 拡張子の場合、テクスチャも1つのファイルにまとめて管理できる点が挙げられます。
これは glb 形式ではバイナリ内に参照テクスチャも保持されているためです。
以下の通り、テクスチャ参照の3Dモデルについても1つのバイナリファイルを取り込むだけで利用可能になります。
f:id:bluebirdofoz:20200707220829j:plain

モデルの注意点

2.4.0現在、1つのオブジェクトに複数のマテリアルを設定したモデルをインポートすると、正常に表示されないようです。
MRTK を利用して取り込む場合は1つのオブジェクトに2つ以上のマテリアルを設定しないよう注意する必要があります。
f:id:bluebirdofoz:20200707220918j:plain

またアーマチュアの情報についても編集することはできませんでした。
キャラクターなど複雑なモデルは従来の fbx 形式での取り込みを利用した方が良いかもしれません。
f:id:bluebirdofoz:20200707220951j:plain

動的読み込みのAPI

MRTK にはランタイム上で利用可能な API も含まれています。
動的インポータを確認したい場合は Examples パッケージをインポートして以下のサンプルシーンを参照してみてください。
・Assets/MRTK/Examples/Demos/Gltf/Scenes/Gltf-Loading-Demo.unity
f:id:bluebirdofoz:20200707221002j:plain
microsoft.github.io