HoloLensでオブジェクトを移動してみる2017-05-31HoloLensでオブジェクトを移動してみるHoloLensこんにちは、情報システム部の高野です。今回は、オブジェクトの移動を試してみます。前回作ったプロジェクトをそのまま利用します。HoloLensでオブジェクト移動するために色々と調べてみたところいくつかの実装方法があることが分かりました。今回は、そのうちの2つの方法を試してみます。1つは、UnityのInteractionManagerのイベントを使う方法もう1つは、HoloToolkitのIManipulationHandlerを実装する方法です。前回、オブジェクトを生成できるようにしたのでその生成したオブジェクトを移動できるようにしていきます。移動用のスクリプトを作成するProjectウィンドウのScriptsフォルダにGestureControllerというスクリプトを作成します。作成してGestureControllerをHierarchyウィンドウのObjectManagerにドラッグ&ドロップし設定します。CubeプレハブにTagを設定する後程、別オブジェクトを作成するので区別できるようにTagを設定しておきます。ProjectウィンドウのPrefabsフォルダからCubeを選択します。Tag」を選択します。TagsにあるプラスボタンをクリックしTag名をInteractionとし保存します。一度CubeプレハブのInspectorウィンドウを開きTagで「Interaction」を選択します。移動処理を実装するGestureControllerスクリプトをVisualStudioで開きます。}}InteractionManager_SourcePressedで手の位置を取得しておきInteractionManager_SourceUpdatedで移動距離を計算してオブジェクトに新しい位置を割り当てます。この移動方法は下記の記事を参考にさせていただきました。qiita.comもうちょっと複雑な計算をしているものも見かけたのですが今のところは、この方法で支障がないような気がしています。今度はHoloToolkitのIManipulationHandlerインターフェイスを実装する方法です。HoloToolkitを利用しているので、できればこちらの方法で実装した方が良いかと思います。新たなCubeプレハブを作成する元々、用意してあったCubeとは別のオブジェクトを生成してそちらをIManipulationHandlerで移動するようにしていきます。前回、作成したようにCubeのプレハブを作成します。見た目で判別できるように黄色にしておきます。プレハブ名もYellowCubeにします。RigidbodyとCubeManagerスクリプトも設定しておきます。YelloCubeを生成できるようにコードを変更する前回作成したObejectManagerスクリプトのコードを変更します。}}Unityに戻りobj1にCubeプレハブをobj2にYellowCubeプレハブを設定します。移動処理を実装するUnityで新しいスクリプト、ManipulationControllerを作成します。作成したスクリプトをYellowCubeプレハブに設定します。設定したスクリプトをVisualStudioで開き下記の様にコードを変更します。}}移動のロジックは、InteractionManagerの方とあまり変わりはありませんがIManipulationHandlerだと元記事にもありますが手の位置の取得方法が不明です。私もいろいろと試しましたが今のところ分かっていません。下記を実行するとfalseが返ってくるので取得できる望みは低いのはないかと思います。SupportedInputInfo.Position)OnManipulationUpdatedメソッドは、InteractionManager.SourceUpdatedイベントと違いフォーカスが外れるとイベントが飛びません。それを回避するためにInputManager.Instance.PushModalInputHandlerメソッドにgameObjectを渡しています。今回、作成したものはこんな感じで動きます。緑のオブジェクト(InteractionManagerを使った方)の方が手の移動とオブジェクトの移動がしっくりきます。HoloToolkitを利用してオブジェクトを移動するならIManipulationHandlerを実装する方法でやりたいところですが手の位置の取得方法が分からないのでうーんって感じです。(やり方分かる方は、こそっと教えてほしいです)今回は以上になります。次もHoloLensネタになるかと思います。弊社ではエンジニアを募集しています。興味がある方は下記からエントリお願いします。12:00HoloLensでオブジェクトを移動してみるTweet関連記事2017-06-21HoloLensでオブジェクトを回転してみるこんにちは、情報システム部の高野です。間が空いてし...2017-06-08HoloLensでオブジェクトを変倍してみるこんにちは、情報システム部の高野です。今回は、HoloLensでオ...2017-05-23HoloLensで新しいオブジェクトを生成してみるこんにちは、情報システム部の高野です。前回は、起動時にすで...2017-05-15HololensでAirTapしてみるこんにちは、情報システム部の高野です。新卒採用スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。