MRが楽しい

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

MRTKでトグルボタンコレクションを利用して同時に1つのみ選択可能なラジオボタンを作成する

本日は MRTK の小ネタ枠です。
MRTKでトグルボタンコレクションを利用して同時に1つのみ選択可能なラジオボタンを作成する手順を記事にします。
f:id:bluebirdofoz:20201107223900j:plain

トグルボタン

トグルボタンは ON, OFF 2つの状態を持つボタンです。
MRTK では Interactable コンポーネントの[SelectionMode]を[Toggle]に変更することで利用可能です。
microsoft.github.io

MRTK Toolbox から CheckboxButton, RadioButton, SwitchButton を選択することでも利用できます。
f:id:bluebirdofoz:20201107223923j:plain

同時に1つのみ選択可能なラジオボタンの作成

3つのラジオボタンの内、同時に1つのみ選択可能なラジオボタンのグループを作成してみます。

ラジオボタンを追加する

MRTK Toolbox から3つの RadioButton オブジェクトを追加します。
f:id:bluebirdofoz:20201107223935j:plain

更にグループ管理のためのこれらを子オブジェクトして持つ親オブジェクトを作成しました。
f:id:bluebirdofoz:20201107224002j:plain

追加した3つのラジオボタンの Inspector ビューを開き、[Interactable]コンポーネントを開きます。
[CanDeselect]のチェックを外します。これでタップによってチェックが外れなくなります。
f:id:bluebirdofoz:20201107224014j:plain

InteractableToggleCollectionを追加する

ラジオボタンの親オブジェクトの Inspector ビューを開きます。
[Interactable]の選択状態を管理する[InteractableToggleCollection]コンポーネントを追加します。
f:id:bluebirdofoz:20201107224026j:plain

[InteractableToggleCollection]コンポーネントの[ToggleList]に管理対象になるラジオボタンのオブジェクトを追加します。
f:id:bluebirdofoz:20201107224036j:plain

これで同時に1つのみ選択可能なラジオボタンのグループが作成できました。
[再生]ボタンをクリックして動作を確認します。
f:id:bluebirdofoz:20201107224047j:plain

その他のオプション

[CurrentIndex]からは現在選択中のラジオボタンのインデックスが取得できます。
初期値を変更することで任意のラジオボタンを初期状態で選択状態にできます。
f:id:bluebirdofoz:20201107224058j:plain

[OnSelectionEvents]にはイベントを登録することで、ラジオボタングループの選択が切り替わった際に発生するイベントを設定できます。
f:id:bluebirdofoz:20201107224108j:plain