この記事が追記&追記でごちゃごちゃしてきたので新しく書きます。
こんな感じのができます。
モデル
太一君やプロ生ちゃんを使いました。口パクまでできたのはプロ生ちゃん。
太一くんは表情変える方法がわからないので、口パクもできません。
IK
こちらの配布されているIKを使わせていただきました。
chobi-glass.com
足も動かすことができ、Vive,oculus,WinMRなんでも使えます。
リップシンク(口パク)
OVRを使います。
現在はここにあります。
Oculus Lipsync Unity | Developer Center | Oculus
こちらのとおりに設定したらできました!!!
注意する点
・WinMRをつないだ状態だとMicinputが働いてくれなかった。
・同じシーンに複数人口パクする人を置いたら動かない。
・口パクしてくれないときはOVRLipSyncを付けなおしたら動いた。
MicInputにSelected deviceに何も表示されず、マイクが認識されていない場合は、このスクリプトのUpdate関数内のStopMicrofonらへんをコメントアウトして、どんな時でもOnになるようにします。
MicinputのスクリプトのStopMicrofonらへんをコメントアウトしたらマイクは認識するようになったけど、口が動いてくれない。 pic.twitter.com/Sl7VUPV29i
— bibinba (@bibinbaleo) January 11, 2018
画面分割
RenderTextureとUIのPanelを使いました。
自分目線と、固定カメラの両方を表示したい。固定カメラを大きめにして、自分視点を隅っこに置くようにする場合、両方のカメラにRenderTextureをつけます。
ただHMD部分に当たるEyeにRendertextureを置くと実行されなくなったので、その子オブジェクトに自分目線表示用カメラを置いて、その映像をpanelに写しました。
OBSで配信or録画
Maximize On Playを押すと大体全画面になるので、OBS側でいい感じにトリミングしました。
またUnitycamというプラグインを使っている方も多いようです。
これはUnity内のカメラをwebcamのように外部に仮想カメラとして出力できるものです。
ダウンロードして、runme firstの中のRegister.batを管理者として実行したあと、
UnitysampleフォルダをUnityに入れて、
CameraにUnitycamスクリプトを付け、TargetEyeをNoneにした状態で実行
OBS側で映像キャプチャデバイスからUnitycamを選ぶと受信しました!
これ複数カメラ使い分けたりできるのかな?あとUIとかって表示できるのか?
今回は最初にやったUnityのゲーム画面を直接キャプチャする方法でやりました。