この記事は Unity Assets Advent Calendar 2015 23日目の記事になります。
今回はいよいよ一般の開発者にも手が届く価格帯となった、Noitom社の機械式と磁気式を合わせたモーションキャプチャのPerception Neuronについて、中の人から聞いたTipsを紹介。
また、Perception NeuronをUnityで使う際に便利なアセットを合わせて紹介します。
Perception Neuronの詳細についてはこちらの記事を参照ください。 >> モーキャプシステムPerception Neuronメモ http://2vr.jp/2015/09/19/perception-neuron/
目次
Perception Neuron Tips
– Neuronは磁気の影響を受けやすく、利用後毎回Neuronを外してケースに入れる必要がある。ケースに入れずに車や電車、飛行機などの移動手段を利用すると磁気センサーに磁気がたまり、精度に影響がでる。Neuronの付け外しは慣れれば5分。
– Neuronが外しにくい場合は、細く堅いものを差し込んでテコの原理で外す。
– 装着後の調整について。腕を前にあわせたときにクロスする場合は、肩と腕のNeuronの取り付け位置を調整。肩については前側か後ろ側かは収録したいモーションによってNeuronの固定位置を調整する。
– 尾てい骨のセンサーの位置が起点になるため固定は必須。上半身を前にお辞儀してみてズレるようならNG。Perception Neuron開封時に腰紐の部分に付いていたマジックテープのひもはこのNeuronを固定するためのもの。股下を通して腰紐がブレないように固定する。
– 正確なモーションを取得するためには、Axis Neuronでアクターの体の情報を正確に登録する。それぞれの項目について例えば腕は指先から肘の側面にメジャーを当てて計り設定していく。
– キャリブレーションの仕方について。最初のポーズについてはそれぞれのNeuronが静止していることが重要となるため、体には装着せずに脱いで地面に置いておく。次のポーズからは装着して続ける。また、最初のポーズだけは一度PCから接続を切らない限り一度きりでよく、他のポーズは必要性を感じたタイミングで何度でも行ってよい。
– Perception Neuronを装着したままノートPCのキーボードを叩いてはいけない。ノートPCの磁場の影響を受けて手のトラッキング精度が落ちる。
– 磁気がたまって精度が落ちたNeuronはNeuron Doctorで回復できる。
Perception Neuron × Oculus Riftを使ったVRの演出について
NeuronをどうVRで生かしていくか?
釜山で行われた、韓国最大のゲームショウ「G-Star 2015」へ出展したUnityちゃんCRSのNeuron対応バージョンでの開発を元に話します。
Day 3 of @Gstar_GameShow showcasing hand interaction and Unity Chan by @yuujii #VR #UnityGaming #GStar #mocap #dev pic.twitter.com/geSADYzEIC
— noitomocap (@noitomocap) November 14, 2015
Perception Neuronで広がった無限の可能性
Perception Neuronにより、VRの中に自分の体の動き、腕や足、首などなど、さらには指の動きまで、各関節の情報をVRに持ってくることができるようになった。 これによりVR内での行動の選択肢が増えて、インタラクション、演出の幅が一気に広がった。 今までカメラの範囲内に限り体の位置情報が取れたOculus Rift DK2のトラッカーカメラや、大味だけど体のボーンが取れたKinectとは明らかに違う体験を得られるようになった。
無限に広がっちゃった可能性
どうやってVRで生かしていけばいいか? 自由に腕が動かせるようになった感動は底知れず。運良くOculus Touchを体験した方は身を持って実感したことかと思うが、それだけでおもしろい。自分の腕がでるだけで、しかも何か掴めたらそれで十分なのである。 そして自分の身体がVRの中にあると、Oculusの視野角の狭さに気づくことになる。 VRでキャラクターのモデルになってみる、VRコスプレをすると、普段現実で自分の視界に見えている範囲に身体が見えないのは違和感を感じる。 そのため、Oculus Toushにみるデモ群も手だけで腕までは作っていないのは演出上の理由もあるかと思われる。
Perception Neuronで好きなキャラになる
前項で視界に映らない身体があるのは不自然だ。と言ったが、集中しているときの人の視界は狭いもので、前に集中していると視界の下に身体が映らなくても何の問題もなくなる。 そこで採用したのがVR内に鏡という仕掛けの配置。 Oculus Riftを被り、VR内に入って自分が現実で身体を動かして、VR内でどう動いたかが前の鏡を見ることでまるわかり。 視線を下に向けて自分の身体をみるのにも視界が狭く難しいが、鏡なら全身をみることができ、視界への最大のフィードバックの効果も望める。
また、ユーザーが能動的に動かした手や腕、足や首などをゲームの入力に使い、その特定の部位を映す仕掛けをシーンの空間内に配置。それをユーザーから見えるカメラの範囲内に配置するのも効果的で面白い遊びができそうである。
また、Perception NeuronのUnity統合パッケージが対応しているモデルデータには制約があり、それをどうにかする方法についてはこちらのページが参考になる。
>> Perception Neuron MocapとUnityで通常の3Dモデルキャラを動かす方法
http://www.baku-dreameater.net/archives/5741
Perception NeuronをUnityで使う便利なアセットを利用シーンごとに紹介
UnityでPerception Neuronを使う方法は、Axis NeuronでキャプチャーしているモーションをTCPかUDPで、IPとポートを指定して投げる仕組みが存在し、Unity側でIPとポートを指定してモーションデータを受け取って使うUnitypackageが公式から提供されている。
詳細はこちらの記事を参照。
>> モーキャプシステムPerception Neuronメモ http://2vr.jp/2015/09/19/perception-neuron/
モーションデータを扱う方法
Mayaと接続してリアルタイムにモーションデータを使う方法
How to connect Perception Neuron with Maya (Part 1)
http://around-the-corner.typepad.com/adn/2015/10/how-to-connect-perception-neuron-with-maya-part-1.html
How to connect Perception Neuron with Maya (Part 2)
http://around-the-corner.typepad.com/adn/2015/11/how-to-connect-perception-neuron-with-maya-part-2.html
また、Axis Neuronで収録したモーションから、fbxやbvh、Pro限定のcalcファイルとして出力ができる。
【参考】 Export Settings画面
直接Unity上でAnimationClipへ
Axis Neuronからストリームで流しているデータをUnityでそのまま扱います。
Scene Motion Capture
https://www.assetstore.unity3d.com/jp/#!/content/19622
AnimationBakerのコンポーネントを内部で使用しているため合わせてそちらも必要となる
Animation Baker by Vladimir Maevskiy https://www.assetstore.unity3d.com/en/#!/content/18217
使い方
動いているキャラクターを選択して、Scene Motion Captureのウインドウでグループを定義。デフォルトではアニメーションをキャプチャするイベントとしてF12キーが割り当てられているので、チュートリアル動画ではシーン再生時のtime0を設定して録画開始。F12でStop。これでfbxのアニメーションファイルが完成する。
Unity上でモーション編集
いつもので微調整をしていきましょう。
Skele: 動画工具セット
https://www.assetstore.unity3d.com/jp/#!/content/16899
使い方はこちらを参照
>> 今から恋人を作る。最強の恋愛ツール MMD4MecanimとSkele ~ 簡単! クリスマスまでに好きな女の子と仲良くなる方法 その2 #アセットアドカレ
http://2vr.jp/2014/12/21/unity-assets-mmd4mecanim-and-skele/
Final IK
https://www.assetstore.unity3d.com/jp/#!/content/14290
曲に合わせてアニメーションクリップを修正
こちらはかわせみさんからのリクエストになります。
@yuujii アニメーションクリップで、シーンに設定しているオーディオソースの音を聴きながらタイミング合わせた編集したい時に良い拡張エディタのアセットってありますか?
— かわせみ 5/29 SP15ゼロフェス (@alcedo_kawasemi) December 6, 2015
が、結論としては、この方法ではNGでした。申し訳ない!また継続して調べていきます。。
今回の調査では、AnimationClipをUnityのカットシーン系のアセットで展開できるものがあるか?が焦点で、探した限りでは0。
それでFluxでは下記の動画のように、Fluxのタイムライン部分とUnityのAnimationウインドウの進行をSyncすることにより間接的にAnimationClipをアセットでのタイムライン編集と並行して行えるようにしておりました。が、、
これでいけるか!?と思いきや、タイムライン上でAudioClipが再生出来ないようで今一歩。。
ソースはオープンなので自分で改造して音が出るようにするも良し、他のCinema DirectorにUnityのAnimationウインドウと進行を同期させるプラグインを作るも良し。ちょっと頑張れば何とかはなりそう。