夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLensでオブジェクトをスクロールする

本日はMRTKの調査枠です。

〇オブジェクトのスクロール

HoloLens 2ではスマートフォンのスワイプのようにオブジェクトをスクロールして動かすことができます。

画像はHoloLensの設定画面でのスクロールの例です。

スクロールを実装することで画面内に収まりきらない情報を適時表示することができます。

f:id:Holomoto-Sumire:20201127000210g:plain

今回はオブジェクトのスクロールを実装します。

〇スクロールの実装

①空のゲームオブジェクトを作成し[ScrollRoot]と名付けます。

f:id:Holomoto-Sumire:20201126222747j:plain

②[ScrollRoot]オブジェクトに[scrolling object collection]コンポーネントをアタッチします。

f:id:Holomoto-Sumire:20201126222930j:plain

[scrolling object collection]コンポーネントを加えることで[NearInteractionTouchable]コンポーネントと[BoxCollider]がアタッチされます。

 これらのコンポーネントでスクロールオブジェクトは入力イベントを受信することができます。

 また[scrolling object collection]コンポーネントを加えることで[ScrollRoot]オブジェクトに[Container],[Clipping Bounds]の二つのオブジェクトが追加されます。

f:id:Holomoto-Sumire:20201126223532j:plain

・[Container]オブジェクト

 [Container]オブジェクトはすべてのスクロールオブジェクトのルートになります。 これから作成するスクロールするオブジェクトはこのオブジェクトの子オブジェクトに設定する必要があります。

・[Clipping Bounds]

マスキングが有効になっている場合、境界内のスクロールオブジェクトのクリッピングを行います。

〇Scrolling Object にコンテンツを追加する

ここから実際にスクロールするオブジェクトを追加します。

①[Container]オブジェクトの子オブジェクトとして空オブジェクトを作成し[GridObjectCollection]コンポーネントをアタッチします。

f:id:Holomoto-Sumire:20201126234049j:plain

[GridObjectCollection]コンポーネントはアタッチされている子オブジェクトのレイアウトを調整することができるコンポーネントです。

②[GridObjectCollection]コンポーネントを次のように設定します。

f:id:Holomoto-Sumire:20201126234416j:plain

・Num Columns: 1

・Layout: column then row

・Anchor: upper left

③子オブジェクトに複数の[PressableButton]を配置します。

f:id:Holomoto-Sumire:20201126235630j:plain

④[GridObjectCollection]をUpdateします。

これによってボタンが均等に配置されます。

f:id:Holomoto-Sumire:20201127000011j:plain

〇スクロールの設定

[scrolling object collection]コンポーネントを以下のように設定します。

f:id:Holomoto-Sumire:20201126235201j:plain

Cells Per Tierを表示したい列(今回の場合1)に設定します。

Tiers Per pageには表示したいオブジェクト数を設定します。今回は3を設定したため3つ以上のオブジェクトはクリッピングされます。

これでスクロールオブジェクトが完成しました。

f:id:Holomoto-Sumire:20201127000409g:plain