Perception Neuronにコリジョンつける Unity5.3
Perception Neuronを使えば、Unityの中に入った感じになれます。そしてUnity上のオブジェクトに干渉するにはCollinderとRigidbodyが必要です。そこでPerception NeuronのUnityアセットを使ってCollinderとRigidbodyを設定する(当たり判定の追加)。(ちなみにNeuronなくてもできます。自分も持ってません)以下の動画が最終的にできるものです。
左:Axis Neuron --データ-->> 右:Unity
Axis NeuronがサーバーになっていてUnityでアクセスしてデータを取得する感じです。(実装は知らない)動画は初めから入っているデータ(DaiJumpAround)を再生しただけです。リアルタイムにも同じことができます。
事前準備
- Unity Integration 0.2.4のダウンロード
- Axis Neuron 3.5.24 64bitのインストール
- Unity5.3のインストール
Axis Neuronのネットワーク設定
- Axis Neuronの起動
- File->Setting->Broadcasting
- TCPを選択
- BVHのみにチェック port 7001
- OKをクリック
UnityとPerception Neuronの連携
- unity_integration_0.2.4.zipを解凍
- さらにその中のPerceptionNeuronUnityIntegration_0.2.4.zipを解凍
Unityアセットの追加
- New Projectを作成
- Asset -> Import Packeage -> Custom Package
- 解凍したUnity Integrationの中のLeapMotion-CoreAssets-3.0.0.unitypackageを選択
- Import をクリック
- Edit -> Project Settings -> Tags and Layers
- Layersの項目を開き、User LayerにBodyを入力する。(User Layerはいくつもあるのでその中の空いている領域ならどこでも可)
- Edit -> Project Settings -> Physics
- あたり判定のマトリックスがある。そこのBody/Bodyのチェックを外す。
Assets -> Neuron -> PrefabsからNeuronRobotをSceneにドラックアンドドロップして配置する。
ひとまず動作確認
- Axis Neuronを起動
- Woking Directoryの中の適当なファイルをダブルクリック(ロードに少し時間がかかる)
- 再生ボタンで再生する(ループを有効)
- Unityの再生ボタンでゲームを開始する
- NeuronRobotが動く
NeuronRoboにあたり判定を追加
まずUnityのメニューバーからNeuro -> SkeletonToolsをクリックする。HierarcyもしくはシーンのNeuronRobotを選択するとSkeletonToolsにボタンが表示される。SkeletonToolsタブの中にあるAdd CollidersとAdd Rigidbodiesをクリックする。
あたり判定が追加されたか確認する。適当にCollinderとRigidbodyを設定したCubeを配置して動かしてみた。それが一番上の動画。
参考
- 公式のドキュメント(PDF)
- モーキャプシステムPerception Neuronメモ PerceptionNeuron
- Perception Neuron MocapとUnityで通常の3Dモデルキャラを動かす方法