まだやってない・・・
はじめましょう。
あきらさんの「UniVRM+SteamVR+Final IKで始めるVTuber」がおすすめです。
そもそも Unity を触りたくないのであれば、バーチャルモーションキャプチャーや 3tene など無料で使えるツールもいろいろあります。
何があるの?
VLVTuber
3D VTuber を運用していく上でのあるある課題をそこそこ解決してまとめた Unity 用のアセットと、そのサンプルプロジェクトです。
「にゃるらちゃん放送局」などで運用したシステムを公開できなくもない程度にしてあります。
ライセンスは WTFPL です。好きにしてください。
質問はなるべく答えますが、まずはサンプルを動かしてソースコードを読みましょう。
#VTuber をやっていくために
(ここから先はポエムです。暇な人だけどうぞ)
Vive 3点トラッキングでキャラクターモデルの中に入って動けるようにUnity上で実装することはそれほど難しいことではないです。今なら上で紹介したようにチュートリアルもまとまっています。手順通りにやればいいわけです。
しかしそうやってモデルを動かせるようになっても、そこから実際に VTuber を運用しようとするといろいろな課題が出てきます。
でもチュートリアルこなした程度のはじまったばかりの人にとってそうした課題を解決するというのは難しいことです。なぜなら、たいていそういう課題というのはちょっと掘っただけでもはや VTuber の V の字も出てこないような情報や知識が必要なところまであっという間に到達してしまうのが当たり前だから。
##ちょっと機能追加したいんだけど……
一つ例をあげましょう。
VTuber を収録するのに、HMD を被る必要は必ずしもありません。企画としてVR空間を必要としないのなら、むしろ普通に現実が見えている方がよいことも多いです。
というわけで、頭のトラッキングをHMDからトラッカーに変更してHMDを被る替わりに頭にトラッカーをつけて収録できるようにしたいと思うようになったとします。
するとまず、VRIK の設定を見て、頭のトラッキング元がHMDになっているので、それをトラッカーに変えます。そしてドングルをUSBにつなげてトラッカーをペアリングする……
これでOK?
いいえ。そうすると頭が明後日を向いてしまっていることでしょう。頭にトラッカーを着けたとき、そのときのトラッカーの向きにあわせて顔が向いてしまいます。
つまり、トラッカーを頭に着けた時の姿勢で顔が正面を向くように回転のオフセットを入れる必要があるのです。この時点で意味が分からない。
さらに意味が分かったとして、これをインスペクタからxyz回転をいじって合わせるのはなかなかに骨が折れる作業です。
何度か繰り返すうちに、あるいは一度やっただけでも、何とか自動化できないかと思うようになることでしょう。いろんなツールでは自動キャリブレーションは一般的になっていますからね。
というわけで、自動キャリブレーションをやるためには Quaternion なにそれおいしいの? 回転ってXYZじゃない? え?
こういうことが次々と出てきます。
技術をのセンスがない連中がかかわってるとさらにやばいです。やつらは「このくらい簡単なんでしょ?」って気楽に投げ込んできます。収録までによろしくって収録の前日に言いますからね。
みんな「Unity なにもわからない」って言いたくなるわけです。「チョットデキル」人はほんと神ですよ。
##VTuberのよくある課題って、何?
そもそも VTuber ってどのようにはじまりましたっけ?
バーチャル YouTuber という言葉自体はキズナアイが名乗り始めたものですが、今の流れに繋がる重要なきっかけとしてバーチャルのじゃロリ狐娘YouTuberおじさんが「やらなければ、はじまらない・・・」という想いとともに動画投稿をはじめたということがあります。
そしてそうやってのじゃおじがはじめることができたのは、VTuber に必要なモーションキャプチャーと、モーションキャプチャーの動きをアバターの動きとして適用する仕組みが、個人の手の届くところまで安価で、誰でも扱えるものになったからです。
のじゃおじのところまでは技術的には今や誰でも辿り着くことができます。技術が個人の手の届くところに降りて、のじゃおじが道を示し、そこまでの道が拓かれたから。
しかしそこで終わってしまうなら、3D の VTuber はただアバターを白い空間に瓶詰しただけのとても不自由なものでしかありません。声優ラジオでもやってろってことですね。
何が不自由なのか、その不自由さにどう立ち向かえばいいのか、はじめた先にはどう進むのか、せめて一歩だけでも進めるように、
- 画面をカメラにレンダリングされた結果をもとに鏡像反転したい
- マルチディスプレイに出力して複数のアングルから収録したい
- VRIK を動的にアタッチしたい
- キャラクターのモデルを動的に読み込みたい
- 表情を切り替えるときにスムーズに補完して切り替えたい
- まばたきと表情の不自然な干渉を避けたい
- 頭のトラッキングを HMD からトラッカーに切り替えたい
- トラッキング点数を増やしたい
- トラッキング点数を簡単に変更したい
- トラッカーの割り当てを動的に行いたい
- トラッカーの位置と回転にオフセットを設定したい
- トラッカーの回転オフセットを自動でキャリブレーションしたい
- キャリブレーション結果をシーン外に保存したい
- モーションキャプチャーのブレを軽減したい
- モーションキャプチャーのシーンと背景のシーンとを分離したい
- グリーンバックをすぐに使えるようにしたい
- シーンをインスペクタ上の変数として扱いたい
- 背景のシーンごとにカメラやライトの設定を持ちたい
- キーボードへの割り当てを一か所で管理したい
- キーボードに割り当てた機能を一覧で見たい
- キーボードに割り当てた機能をマウス操作から呼びたい
- Viveコントローラーでモデルの手を動かしたい
といった数々の課題をまとめて示したものがあってほしかったので、今回 VLVTuber を公開します。