HoloLens 2 開発入門 ~ManipulationHandlerとAppBar~(Unity2018.4.2f1、MRTKv2.2)
前回の記事 HoloLens 2 開発入門 ~BoundingBoxとAppBar~(Unity2018.4.2f1、MRTKv2.2) では、Cubeの移動ができません。
MRTKのManipulationHandlerを用いれば、Cubeの移動・回転・スケールを変更することが可能です。
しかし、AppBarと併用するとAdjust中に回転やスケールを変更したいのに誤って移動してしまい困難だったため、Adjust中は移動しない設定にしてみました。他の案としては、手のメッシュを表示して、それぞれの操作時の挙動を変えるなどの工夫でもいいかと思います。
開発環境
- HoloLens 2
- MRTK v2.2.0
- Unity 2018.4.2f1
- Visual Studio 2019
- Unity Hub 2.2.2
仕組み
AppBarのStateがAppBar.AppBarStateEnum.Manipulationの時にManipulationHandlerをfalse、それ以外の時にManipulationHandlerをtrueにします。
1.前回の記事に従ってプロジェクトを作成してください
2.CubeにManipulationHandlerをアタッチ、図のようにHost Transform/One Handed Only/Move Scale/Eventsのパラメータを設定します
3.ManipulationHandlerManager.csを作成(下に記述)、Cubeにアタッチします
4.Cubeの子オブジェクトのAppBarをManipulationHandlerManagerのAppBarにアタッチします
プログラム
ManipulationHandlerManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Microsoft.MixedReality.Toolkit.UI;
public class ManipulationHandlerManager : MonoBehaviour
{
public AppBar appBar;
private AppBar.AppBarStateEnum state;
// Update is called once per frame
void Update()
{
state = appBar.GetComponent<AppBar>().State;
// Debug.Log(state);
if (state == AppBar.AppBarStateEnum.Manipulation){
this.GetComponent<ManipulationHandler>().enabled = false;
} else {
this.GetComponent<ManipulationHandler>().enabled = true;
}
}
}
デモ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Microsoft.MixedReality.Toolkit.UI;
public class ManipulationHandlerManager : MonoBehaviour
{
public AppBar appBar;
private AppBar.AppBarStateEnum state;
// Update is called once per frame
void Update()
{
state = appBar.GetComponent<AppBar>().State;
// Debug.Log(state);
if (state == AppBar.AppBarStateEnum.Manipulation){
this.GetComponent<ManipulationHandler>().enabled = false;
} else {
this.GetComponent<ManipulationHandler>().enabled = true;
}
}
}
AppBarで回転とスケールの調整、ManipulationHandlerで移動のみにした #HoloLens2 #MRTK pic.twitter.com/5zdjYF1Ld7
— 藤本賢志(ガチ本)@HoloLens2 Ready (@sotongshi) January 10, 2020
参考文献
Author And Source
この問題について(HoloLens 2 開発入門 ~ManipulationHandlerとAppBar~(Unity2018.4.2f1、MRTKv2.2)), 我々は、より多くの情報をここで見つけました https://qiita.com/SatoshiGachiFujimoto/items/d6c4cce5c9ec6913cc0b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .