Virtual Chara
環境:
Windows 10
Unity 2018.4.1
RealSense D435
筆者が、Nest+Visualでジョインされた最初のプロジェクトは、UnityとRealSense D435の深度カメラを使って、利用者の行動を3Dキャラクターのアニメーションに反映するプログラムを作ることでした。
このプロジェクトの概念は、主に店舗など向けに、バーチャルキャラクターを店頭で表示して、遠隔地で操作します。キャラクターで、期間限定のキャンペーンなど、お店の関連情報を話したり、遊び心のある気楽な態度でお客さんと対話したり、お客様の質問に答えたりすることができます。
https://qiita.com/NestVisual/items/1292f8b7d945d73b9f17
このプロジェクトでは、フェイシャルトラッキングにopenCVを使用し、利用者の入力次第にキャラクターの頭の回転や口の動きができるようにしていました。
目標は、上半身の動きや顔の表情を追加することで、このプロジェクトを拡張することでした。また、男性俳優が女性キャラクターを演じられるようにするために、ボイスチェンジャー機能も必要でした。
ボイスチェンジャー:
必要なRealSenseカメラがまだ届いていなかったので、私の最初の仕事はボイスチェンジャー機能の開発でした。出だしにUnityのアセットストアでVoice Changer Filterというアセットを見つけ、プロジェクトに追加しました。
https://assetstore.unity.com/packages/tools/audio/voice-changer-filter-54963
しかし、プラグインはオーディオ再生にほとんど1秒の遅延を追加し、さらに不要な騒音を追加しました。問題を解決したり、別の方法を見つけたりする前に、RealSenseのカメラが届きました。
RealSense SDK2.0をインポート:
カメラを準備して、RealSense Viewerでしばらくテストした後、RealSense SDK 2.0のUnityラッパーを見つけたので、プロジェクトにインポートしてみました。それにはいくつかサンプルシーンが含まれていますので、それらはほとんどが何らかカメラの深度データを可視化しています。
どのシーンも、どのように進めるかのヒントを見えなかったので、UnityとRealSense 2でトラッキングを使用している類似のプロジェクトをネットで探しましたが、結局見つかりませんでした。
見つけたチュートリアルと例は全て以前の元のRealSense SDKを使用していましたが、それは現在では廃止されています。Intelに連絡したところ、トラッキングはサードパーティのソフトを使って行われており、その中でGestoosとNuitrackを推奨していることを知らされました。
Nuitrackは実際に検索中に出てきて、有望そうに見えたのですが、最初はRealSense SDKのみで開発しよう思っていました。しかし、トラッキングをゼロから開発のが難しそうでした。このプロジェクトに推奨の2つの中でNuitrackが最も適切なのと思ったので、さらに使ってみることにしました。
Nuitrackに関しては次回投稿します。それではまた