MixedRealityToolKit(以下MRTK)にはExamplesというデモサンプル集が含まれています。
Examplesを理解すればMRTKの機能の使い方を学習することやノンコーディングでのアプリ開発が可能になります。
今回は UX/Collections/ObjectCollectionExamplesを見ていきます。
〇デモシーンの概要
MixedReality ToolkitのObjectCollectionはオブジェクトの配列を事前定義された3次元形状にレイアウトを行うために役立つコントロールです。
オブジェクトの半径、サイズ、オブジェクト間のスペースを調整できます。
オブジェクトコレクションはUnityの3Dだけでなく2Dのオブジェクトもサポートします。
〇シーンの解説
Hierarchyを見てみるとGridObjectCollection-○○というオブジェクト5つが並んでいます。
それぞれのオブジェクトとscene内のオブジェクトの対応は次のようになっています。
GridObjectCollection-○○のオブジェクトを見てみると20~40個のCubeが存在しています。
この美しく局面を描きながら配置されたCubeには見る角度によって色が変化するEnvironmentColorが設定されているため美しいグラデーションを描いています。
EnvironmentColorに関しては過去の記事を参考にしてください。
Unityでは各オブジェクトがTransform(位置)を持つためシーンの空間内に自由に配置することができます。
しかし、大量のオブジェクトを美しい局面を描くように配置することは手動で動かしていては大変です。
そこでこのデモシーンではGridObjectCollection-○○という局面を構成するCubeの親オブジェクトに GridObjectCollection.csというコンポーネントがアタッチされています。
〇GridObject Collection
MRTKのドキュメント用意されています。
詳しくは2回目以降見ていきますので今回はざっと見ていきたいと思います。
・Ignore Inactibe Transforms…ディアクティブなオブジェクトの配置操作を無視する設定
・Sort Type…子オブジェクトを整列させる際の分類
・Surface Type…どのように整列させるか?(円や球、プレー)
・Orient Type…整列の向き
・Layout…オブジェクトを並べる向き
・Radius…オブジェクトを並べる半径
・Radial Range…放射状レイアウトの放射状範囲
・Rows…オブジェクト配置の行
・Cell Width…オブジェクト間の横幅
・Cell Height…オブジェクト間の立幅
最後にUpdateCollectionをクリックすることでオブジェクトを指定した通りに整列させることができます。
次回はドキュメントを読み解きます。