これを使ってみる
追記:全然見てなかったけどドキュメントあった。
サンプルシーン
Exampleのunitypackageを入れる
Examples>Demos>UX>PressedButton>ScenesのPressableButtonExampleにボタンのサンプルシーンがある
Canvasは要らない。ボタンの親が空のゲームオブジェクトになっていて、Z=1ぐらいに配置されてた。
GameObjectは32*32だけどボタンには40*40って書いてある。たぶん40*40が正しい
プレハブ
SDK>Features>UX>Interactable>prefabsの中にある
こんな感じでいろいろある!
SimpleButtonはスタートメニューのアプリボタンかな?
ちょっと違うかも
私の好きなToggleSeitchもあった
SDK>Features>UX>prefabsの中にもいろいろプレハブがある。
Tooltipや
パネル
ボタンの構造
uGUIベース
「PressableButtonHololens2UnityUI」はCanvasの下に置くタイプのボタンprefab
他にもUinyってつくのが3つある。
コライダーベース
「PressableButtonHoloLens2」が基本的なボタン
大きさは3.2cm*3.2cm
テキスト
IconAndTextの中にTextMeshProがあるのでそこを変えれば文字が変わる
MRTKは基本的にuGUIのテキストじゃなくてTextMeshProを使ってる気がする
アイコン
アイコンはマテリアルにpngを差し込む方式
あらかじめ用意されているアイコンはこんな感じ
自分で作った。正方形にしないとダメ
追記
ドキュメントによるとButtonConfigHelperでアイコンとテキストをチェンジできるらしいけど、そんなコンポーネントないよ??検索してもないし、プレハブにもついてないような・・・
まだdevelopブランチにある機能で、ReleaseのUnitypackageには入ってない。
詳しくはこちら。
イベント
普通のボタンみたいにイベントがつけられる
2020/04/07追記
このEventsの下のReceivesで「押したとき」「離したとき」を別々に設定できる
入門チュートリアル - 3. ユーザー インターフェイスの作成と Mixed Reality Toolkit の構成 - Mixed Reality | Microsoft Docs
詳しくはチュートリアルに書いてある
入門チュートリアル - 3. ユーザー インターフェイスの作成と Mixed Reality Toolkit の構成 - Mixed Reality | Microsoft Docs
Holographic Remotingでテスト
remoteでテストした!
ポインターでは押せた。
Remoteだと直接手で押すことはできないのかな?
エラー
Editorでプレイするとエラーが出てる。
Failed to get IHolographicCameraRenderingParameters from main camera for updating rendering parameter.
ハンドトラッキングしてる時に出るって。気にしなくていいらしい!
リモーティングを利用中にコンソールに「Failed to get IHolographicCameraRenderingParameters from main camera for updating rendering parameter」のエラーが表示されることがある。
ハンドトラッキング中にこの現象が発生することはあるが動作には支障はない。
Githubで追跡調査対象。
ビルドエラー
VisualStudioでビルドするときもエラー出てできなかった。
MSB3030 PerceptionRemotingPlugin.dllが見つからなかったためコピーできません。
ここに同じエラーの人がいた
Answerを見ると
UnityData.vcxitemsを開き、HolographicAppRemoting.dll、UnityRemotingWMR.dll、およびPerceptionDevice.dllに関する記述を手動で削除することで、この問題を回避できました。
~~~
Unityを介してホログラフィックリモーティングを有効にするために、エディターは仮想現実サポートを有効にし、UnityからVSソリューションを構築するときに、PerceptionDevice.dll、HolographicAppRemoting.dllおよびUnityRemotingWMR.dllをUnityData.vcxitemsに自動的に追加するWindows Mixed Realityを追加するように強制します
バーチャルリアリティのサポートを無効にすると、これらのエントリがUnityData.vcxitemsから削除され、現在は問題なく機能しているようです。
XRSettingのWSAHolographic~に間違ってチェック入れたせいだった。ボタン関係なかった
できた!
無事ビルドできた。
ビルドしたらちゃんと手で押せた。
押したらCube消えるようにした。
光が当たらない状態で、上のボタンがボタンだと分かるんだろうか?
記号が大事になりそう。
最後に
こんな平行な写真撮りたい。