ろぼいんブログ

無料でできる!VRChatアバターの動画を実写合成する方法 お散歩動画を作ろう

新宿のビル群を背景にした、VRChatアバター「ホノカ」の自撮り風画像

このポストのような感じで歩きながら撮影した自撮り動画にVRChatアバターを合成する方法について解説します!

この記事で紹介する方法は有料のツールを使わずに、一般的な動画編集ソフトで使えます。この方法は、

広告
  • 無料の動画編集ソフトで作れる
  • フルトラ不要(あると少しだけ自然になる)
  • 動画編集ソフトがインストール済みで基本的な操作を理解していれば1時間以内に作れる

という特徴があるので手軽に作れると思います。ぜひ試してみてください!

※この記事ではたびたび「トラッキング」という単語が登場しますが、基本的にはフルトラやフェイトラのことではなく、動画編集ソフトのポイントトラッキング機能のことを指します。

目次

作り方

作り方はだいたいこんな感じです。

  1. 歩きながら実写の自撮り動画を撮る

  2. 適当に周囲を見回しているアバターの動画を撮る

  3. 実写動画の体の移動をトラッキングしてアバターの動画に適用・合成する

  4. 細かい部分をいい感じに調整する

私の場合は、実写の撮影時間を除くと素材撮影から試行錯誤まで含めて1時間かからなかったと思います。とくに調べずに作りましたが、もしかしたらすでに誰かが同じようなことをやっているかも?

広告

ざっくりとしたメイキング動画はこんな感じ。

ここからは、詳しい手順を解説します。

実写の動画を撮る

まずは、歩きながら自撮りで動画を撮影します。手ブレが激しいとこのあとのステップでトラッキングが外れやすくなるので、ジンバルを使って撮影するのがオススメです。

私は、DJI Osmo Mobile 6にGoogle Pixel 8を取り付けて撮影しました。最近だとDJI Osmo Mobile 8が出ているようですね。

AmazonでDJI Osmo Mobile 8を見る

広告

撮影時には自分の体が映り込みすぎないように、しかし少なくとも顔は十分に映るようにしましょう。体が大きく写っていると隠すのが大変になりますが、完全に隠れてしまっているとトラッキングできなくなります。

また、動画は斜め下から撮るのがオススメです。風景の映る範囲は制限されますが、ほかの人が映り込みにくかったり、実写映像とアバター映像の焦点距離が揃っていなくてもバレにくかったりといった利点があります。

アバターの動画を撮る

実写の動画を撮ったら、適当に周囲を見回しているこんな感じのアバターの動画をVRChatで撮影します。実写の撮影時の角度と厳密に揃える必要はありませんが、実写の動画を斜め下から撮影した場合は、アバターの動画も斜め下から撮影してください。

VRChatアバターの「ホノカ」が周囲を見回しているグリーンバックのGIFアニメーション

色の付いているライトが設置されていたりポストプロセスがかかっていたりするワールドで撮影すると、扱いにくい素材になってしまうので、ライトが白くてポストプロセスのかかっていないワールドで撮影してください。

条件に合うワールドでfavoriteに入っていたのが「Auto Splatter」という、任意の写真を3D化して表示できるワールドだったのでそこで撮影しました。写真を3D化する機能は使っていないので、必ずしもこのワールドである必要はありません。

撮影時にはカメラのマスク設定でワールドをオフにして、アバターのみが映るようにしてください。

広告

詳しい設定はほかの方の記事に譲りますが、ストリームカメラでSpout出力したものをOBS Studioに取り込むことで、背景を透過した動画を得られます。私の場合は締め切りが迫っていて設定する時間がなかったのでグリーンバックで録画しましたが、適切に設定すれば透過状態のまま録画できるはずです。

また、撮影時には実際に歩いたり足踏みしたりせず、その場で立ち止まって撮影してください。

私の場合はフルトラで撮影しましたが、歩く必要がないので必須ではありません。もしかしたら、フルトラありの方が頭の向きを変えたときの胴体の動きが少しだけ自然かもしれません。

実写の体の動きをトラッキングする

実写の動画における、動画に対する上下左右方向の体の動きを動画編集ソフトでトラッキングします。

有料のDaVinci Resolve Studioを使いましたが、2次元トラッキングしか使わないので無料版のDaVinci Resolveでもできると思います。もちろん、DaVinci Resolve以外の2次元トラッキングに対応した動画編集ソフトでも構いません。

DaVinci Resolveの場合は次のような手順でトラッキングできます。

  1. 実写動画をタイムラインに配置します

  2. 実写動画のトラックを右クリックして、[Fusionページで開く]からFusionを開きます

    DaVinci Resolveのコンテキストメニューに[Fusionページで開く]と表示されているスクリーンショット
  3. 実写動画のノードを選択した状態でCtrl + Spaceを押して、「tracker」と入力してトラッカーを追加します

    DaVinci Resolveのノード追加画面に[トラッカー(Tra)]と表示されているスクリーンショット
  4. 追加したトラッカーノード(デフォルトでは「Tracker1」という名前)を選択します

  5. プレビュー画面上に表示されているトラッカーのボックスをトラッキングしたい位置に移動します

  6. インスペクターで[Track Fwd Then Reverse]をクリックしてトラッキングします(少し時間がかかります)

    DaVinci Resolveのインスペクターでトラッカーノードを表示したときのスクリーンショット。[Tracking]セクションに[Track Fwd Then Reverse]というツールチップが表示されている
  7. もしトラッキングが安定しなかったり途中で打ち切られたりする場合は、[適応モード]を[ベストマッチ]に変更してみてください

    DaVinci Resolveのインスペクターでトラッカーノードを表示したときのスクリーンショット。[適応モード]セクションで[ベストマッチ]が選択されている

これでリアルアバターの上下左右方向の動きをトラッキングできたので、次のステップではトラッキング結果をVRChatアバターの動画に適用します。

トラッキング結果をアバターの動画に適用する

次の手順で、実写動画のトラッキング結果をアバターの動画に適用します。

  1. 実写動画とトラッカーノードが[MediaOut1]に接続されている場合は接続を解除します

  2. メディアプールからノードエディターにアバターの動画をドラッグ&ドロップして読み込みます

  3. アバターの動画のノードを選択した状態でCtrl + Spaceを押して、「xf」と入力して「変形(Xf)」を追加します

    DaVinci Resolveのノード追加画面に[変形(Xf)]と表示されているスクリーンショット
  4. 追加したトランスフォームノード(デフォルトでは「Transform1」という名前)を選択します

  5. インスペクター上で[変形]セクションの[センター]を右クリックし、[接続]>[Tracker1IntelliTrack1Path1]>[位置]を選択します

    DaVinci Resolveのインスペクターでトランスフォームノードを表示したときのスクリーンショット。[変形]セクションに[センター]の接続先を設定するコンテキストメニューが表示されている

これで、アバターの動画がリアルアバターと連動して上下左右に動くようになりました。

2つの動画を合成して完成!

ここからは、2つの動画を合成して細かい調整をしていきます。

  1. DaVinci Resolveのエディットページに戻り、先ほどまで編集していたトラックの下に実写動画のトラックをもうひとつ配置します

  2. アバターの動画を拡大したり初期位置を調整したりして、実写動画のリアルアバターをVRChatアバターが覆い隠す状態にしてください

  3. 必要に応じて、カラーページでアバターの動画の色を調整します

  4. とくにスマホで実写動画を撮影した場合は、アバターの動画に少しだけガウスブラーとノイズをかけた上でシャープをかけることで、スマホカメラの補正を再現してなじませられます

  5. 完成!!!

完成したら、ぜひこの記事を共有したり元ポストを引用して作品を投稿したりしてみてください!(そして、もしよければXをフォローしてもらえると喜びます…!)

この手法のポイント

最後におまけとして、この記事の手法の工夫をいくつか紹介します。この手法には、制作にかかる手間を減らしつつ、手を抜いた箇所を視聴者に気付かれにくくするためのいくつかの工夫があります。

まず、リアルアバターの移動は3次元ではなく2次元でポイントトラッキングしています。自撮り棒やジンバルなどで撮影した自撮り動画は、人物の奥行き方向の位置が固定されているので、上下左右方向だけトラッキングできれば十分です。

アバターの動画については、歩かずに撮影していたり適当に周囲を見回しているだけだったりと、実写動画のリアルアバターの動作をまったく再現していません。しかし、前述の理由により、上下左右方向の動きを実写動画に同期させるだけで歩いているように見えます。歩かずにアバターの動画を撮影できると、撮影のための広いスペースやフルトラが不要というメリットがあります。

また、本来、実写の動画とCGを合成するには、実写撮影に使ったカメラとCGシーン内のカメラの角度や焦点距離などを揃える必要があります。しかし、斜め下から自撮り動画を撮ることで人物以外の近景が映り込みにくくなるので、角度や焦点距離が揃っていなくても気づかれにくくなります。

この記事の検証内容と情報源

検証環境

  • OS:Windows 11
  • 動画編集ソフト:DaVinci Resolve Studioバージョン21.0 BUILD 48
  • カメラ:Google Pixel 8(Android 17 + Pixel標準カメラアプリ)
  • ジンバル:DJI Osmo Mobile 6
  • VRChat:バージョン1856

検証内容

記事に記載の手順で実写の自撮り動画とVRChatアバターを合成できることを確認

最終検証日

記事をシェア

Xに共有するBlueskyに共有するMisskeyに共有するLINEに共有するThreadsに共有する

フォローして最新情報を入手

Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。

Googleの優先ソースとして追加するGoogleの優先ソースとして追加するXのロゴ
広告
著者のアイコン画像

生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。

Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。