なんかいろいろしてみます

Oct 27, 2020 - 1 minute read - HoloLens

SpectatorViewにTrailRendererを追加してみる

HoloLensで見ているモデルを第三者視点で確認できるSpectatorViewにTrailRendererを追加する手順について説明します.

SpectatorView

Trail Renderer

コンポーネント追加方法

  • MixedReality-SpectatorViewではSpectatorViewで共有するオブジェクトの種類と共有方法を Packages/SpectatorView/SpectatorView/Prefabs/StateSynchronizationAssets.prefabで定義しています.
  • 実際のシーン上では以下のように SpectatorView 以下に設置されています.
  • 各コンポーネントのスクリプトは Packages/SpectatorView/SpectatorView/Scripts/StateSynchronization/NetworkedComponents以下のフォルダにコンポーネント毎に置かれています.
  • 新たに共有したいコンポーネントを追加する場合は以下のスクリプトを追加します.(TrailRendererの場合)
    • TrailRendererService.cs : StateSynchronizationAssetsへのアタッチとTrailRendererの識別用IDを設定しています.
    • TrailRendererBroadcaster.cs : HoloLens側でTrailRendererのパラメータの変更を検知してSpectatorView側に通知します.
    • TrailRendererObserver.cs : SpectatorView側でデータ受信時のTrailRendererへの適応を行っています.
  • 今回追加するTrailRendererはLineRendererと挙動が近いため,LineRendererのコードを参考に各パラメータの共有方法を設定します.

TrailRendererを追加したサンプルプロジェクトがこちら

  • SpectatorViewにTrailRendererを追加したプロジェクトになります.
  • 利用方法は通常のMixedReality-SpectatorViewと同じです.
  • samples/SpectatorView.Example.Unity/プロジェクトの SpectatorView.HoloLens.unityシーンでTrailRendererを追加した動作を確認できます.

akihiro0105/MixedReality-SpectatorView/tree/TrailLine

まとめ

  • SpectatorViewで表示したいコンポーネントを追加できた.
  • TrailRendererで移動しているオブジェクトの軌跡を簡単に追加することができる.
  • 共有するパラメータや動作を変更することで標準では共有できないパラメータを追加できたり,共有の負荷を低減させることもできます.