← 記事

モーションキャプチャースーツなしで、AIが動画から一曲まるごと踊らせた

· 15 分で読めます · 11 回閲覧
3D モーションキャプチャ VRM MMD AI 動画 カメラワーク
3Dモーションキャプチャー実験

モーションキャプチャースーツなしで、

AIが動画からキャラクターに一曲まるごと踊らせた

この2週間で、自作の3Dキャラクター陽菜を二種類の動きで踊らせました。コミュニティで配布されているMMDモーションと、スマートフォンで撮った実際のダンス動画です。後者ではモーションキャプチャースーツを使わず、AIが動画から骨格を推定するだけで、60秒の一曲を踊れました。

きっかけ

きっかけは一本のMMD Short

実験したのは2026年10月4日から16日までです。360°動画とインタラクティブステージは10月17日から19日に追加しました。素材を選び、ダンサーに連絡し、動画を見て判断したのは私です。変換、計測、カメラ配置のコードはAI(Claude Opus 5.5)が書きました。モデルの更新は速いため、結論はこの期間に使った版についてのものです。

2026年10月4日、hololiveの〈Go Wild〉のMMD Shortを見ました。モーションはコミュニティ作者のTaro²が作って公開配布していたもので、私の手元にはちょうど3Dキャラクターの陽菜がいました。

出発点:dekoponの〈Go Wild〉MMD Short · YouTubeで開く ↗

踊らせてみると、前の記事〈絶妙なダンスが絶望的なダンスに。AIで直せる?〉の結論を思い出しました。直すならモーションデータを直す。では、そのデータを実際のダンス動画から直接読み取れないでしょうか。

スマートフォンの動画から3Dキャラクターへ:AIが骨格を推定し、各フレームの動きとして保存してからキャラクターに適用
スマートフォンの動画から3Dキャラクターへ:AIが骨格を推定し、各フレームの動きとして保存してからキャラクターに適用

YouTubeで〈くじら〉の動画を三本見つけて試し、結果が安定してからダンサーに連絡しました。意外だったのは、モーションキャプチャースーツがなくても、スマートフォンの動画をAIに見せれば使えるダンスモーションが取れたことです。

〈Go Wild〉:配布MMDモーション、12カットのマルチカメラ · YouTubeで開く ↗
〈くじら〉比較:上が美弦の元動画、下が陽菜 · YouTubeで開く ↗
全体像

二つの方法を表で比較

既存のモーションファイルと動画から読み取るモーション。どちらも同じキャラクターに適用します
既存のモーションファイルと動画から読み取るモーション。どちらも同じキャラクターに適用します
配布MMDモーション実写動画+AI
モーションの入手先コミュニティ作者が作ったモーションファイル一本のダンス動画からAIがフレームごとに骨格を推定
許諾Readmeを読み、三者をクレジット公開前にダンサーに確認
何が壊れるか脚のIK、プレーヤーによるモーションの上書き骨格の不一致、キャラクターの変形、足滑り、けいれん
表情と口形作者が手入力した7種類なし。自分で作る必要があります
今回の規模一晩で14曲60秒の一本を五回修正

MMDは速いものの、守るべき規約はReadmeにあります。動画モーションキャプチャーは自由度が高い反面、修正が必要で、先にダンサーにも確認しなければなりません。

MMD

MMD:一晩で14曲。変換の前後で問題が出た

同じ陽菜が、Taro²配布の14曲のうち6曲を踊る
同じ陽菜が、Taro²配布の14曲のうち6曲を踊る

モーションは既にあります。注意が必要なのは変換前の規約と、変換後のプレーヤーでした。

段階起きること対処
規約変換したVRMモーションファイルも再配布に当たります。モーション作者だけを記すと、他の権利者が抜けますモーションファイルは公開しません。インタラクティブステージでは暗号化したモーションを分割送信し、ダウンロードは提供しません。原曲、元のダンサー、モーション作者の三者をクレジットします
脚のIKMMDの方法で40回反復しても、足首のずれは脚の長さの約3%残りました収束するまで計算し、誤差が0.5%を超えたら先へ進めません
プレーヤー毎フレーム表情を書き、腰に当てた手を押しのけ、キャラクターを原点に戻していました他人が作ったダンスを再生するときは三つとも切ります
表情対応したのは7種類だけ(まばたき、笑顔、五つの母音)口形は作者の手入力に従い、歌声には合わせません

変換と再生は別の段階です。両方を計測しました。

カメラ

カメラ:形容詞には単位がない。試作動画にはある

同じ16.6秒のダンスを五種類のカメラワークで撮影。左からv1~v5
同じ16.6秒のダンスを五種類のカメラワークで撮影。左からv1~v5
版方法分かったこと
v1固定カメラ動きに問題はないものの、画面が平板でした
v2追従撮影、文字カードの背景「激しく」を、調査で見つけた安全な上限の内側に抑えました
v3モーションにカメラを引っ張らせる「角度を変えて」と言うと、AIはカメラが押されて傾く動きと解釈しました
v4手を振るたびにカメラを切り替えるカメラ位置が正面に集中しました
v512カットのマルチカメラ。全カットでカメラを動かすカメラ位置を背後や真上にも広げました

v5が冒頭の〈Go Wild〉です。v1~v4は限定公開の動画です:v1、v2、v3、v4。各版の動画と説明は〈カメラワーク五版〉というメモにあります。

v5の3Dカメラ配置図です。ドラッグで回転、ピンチで拡大縮小できます。下の列のカットを押すと、そのカメラの位置から実際の速さで経路をたどります。色の線はそのカットでカメラが動いた経路で、小さな点が始点、矢印とカメラが終点です。床の円は彼女から1・2・3メートルの距離です。図の表記は中国語です。

カメラワークは、強さ、ワンカット内の動きか切り替えか、カメラをどこに置くかの三つを指定する必要がありました。言葉にできなければ、AIにそれぞれ3秒の試作動画を作らせて選びます。

カメラワーク

カメラワークをデータにする:用語集とチェッカー

〈くじら〉ステージ版で自動配置した31カット。各マスはそのカットの中間フレーム
〈くじら〉ステージ版で自動配置した31カット。各マスはそのカットの中間フレーム

カメラワークをテンプレート集に分け、プログラムが抽選、検査し、不合格なら差し替えるようにしました。動作の中ほどにカット点が来ること、隣り合うカットの角度差が十分あること、主役がフレームから出ないことを数値で検査します。同じ規則でMMDの14曲を配置しました。〈くじら〉のステージ版では、Meliesのカメラワーク索引から整理した用語集を使い、64種類の標準的なカメラワークから31カットを組みました。

生成器は自由に選べます。レンダリング前に悪いカットを止めるのはチェッカーです。

動画モーションキャプチャー

別の方法:AIがスマートフォンの動画から動きを読み取る

一言で言えば、SAM 3D Bodyで動画の人物の3D骨格をフレームごとに推定し、モーションファイルに変換して陽菜に適用します。五回修正し、毎回動画を残しました。

回修正点計測した変化
直接キャプチャー修正前:猫背、上がったつま先、傾いた骨盤一曲分の骨格推定に806秒(RTX 3090一枚)
一回目・二回目二つの骨格の基準姿勢と陽菜の関節限界足が床にめり込むフレームは651 → 0、関節限界を超えるフレームは0
三回目足のずれ:接地した足を着地点に固定接地時の足滑り0.82 → 0 cm/フレーム、宙に浮くフレーム13 → 0
四回目けいれん:骨ごとに時間方向へ平滑化足の加速度p99は27.8 → 6.1 cm/フレーム²
五回目脚の形。フェードイン・アウトで推定が不確かなフレームを除外冒頭28フレーム、末尾10フレームを除外
直接キャプチャー:修正前 · YouTubeで開く ↗
一回目・二回目:骨格の基準姿勢と関節限界 · YouTubeで開く ↗
三回目:足を接地位置に固定 · YouTubeで開く ↗
四回目:けいれんを除去 · YouTubeで開く ↗
五回目:脚の形(最終版) · YouTubeで開く ↗

初めて直接キャプチャーの動画を見たときは驚きました。修正前なのに、同じダンスだと分かりました。

動画選び

動画選び:いちばん安い修正

試した三本の動画は条件がかなり違いました:

動画解像度ビットレート平均輝度(0~255)推定された前腕の揺れ(中央値)
A(美弦)1440×14401.2 Mbps623.4°/フレーム²
B1080×19205.4 Mbps1222.5°/フレーム²
C720×12641.0 Mbps11610.4°/フレーム²

解像度が最も低いCは、腕の揺れが他の二本の三~四倍でした。最も暗いAはむしろ揺れず、暗さが影響したのはフェードインの数フレームだけです。

条件理由
固定カメラカメラが揺れると足もずれます
一人の全身がフレーム内に入る足がフレームから出ると接地を推定できません
1080p前後で十分なビットレート解像度が低いと腕が揺れます
冒頭にフェードインがない暗い冒頭の28フレームは除外するしかありませんでした

条件の悪い動画は、後からいくら修正しても補えませんでした。

骨格

骨格と関節:基準姿勢が違い、キャラクターが持ちこたえられない

上段が元動画、下段が修正後の陽菜。同じ時刻を比較
上段が元動画、下段が修正後の陽菜。同じ時刻を比較

骨の向きをそのまま合わせると、二つの骨格の立ち姿の差まで陽菜に押し付けてしまいます。「静止姿勢から何度回転したか」を写すと、陽菜はまっすぐ立ちました。ただし脚だけは例外で、向きを合わせる方法に戻しました。

太ももを前へ0°から100°まで上げると、上げすぎた脚がスカートを突き抜けます
太ももを前へ0°から100°まで上げると、上げすぎた脚がスカートを突き抜けます

もう一つはキャラクター側の限界です。関節を一つずつ動かしてメッシュが崩れ始める角度を探し、モーションをその範囲内に収めました。その代わり、しゃがみ込みや脚上げはダンサーより控えめになります。

限界表はキャラクターの仕様であって、モーションの間違いではありません。

完成版

動く実験から作品へ

〈くじら〉ステージ版:アイドル衣装、ハーフアップ、31カットの自動カメラワーク
〈くじら〉ステージ版:アイドル衣装、ハーフアップ、31カットの自動カメラワーク
追加したもの方法
一曲全体検証では冒頭20秒だけレンダリング。モーションファイルは最初から一曲分を変換していたため、延長は再レンダリングだけで済みました
リップシンク歌からボーカルを分離し、閉じる・半開き・開くを約三分の一ずつにしました(554/611/629フレーム)
まばたき動画時間で2.5~5.5秒ごとに一回。コンピューターの時刻を使うと絶えずまばたきします
カメラカメラを1 mより低くせず、背後からは全身だけを撮ります。初版には角度が低すぎるカットが7つあり、検査で弾くようにしました
360°観客は振り返って背後も見るため、後方と両側の観客、トラス、光輪を追加し、正面と側面の8K(7680×4096)動画を二本レンダリングしました
〈くじら〉ステージ版:アイドル衣装、ハーフアップ、31カットの自動カメラワーク · YouTubeで開く ↗

表の最後の360°映像は、正面と側面にカメラを置いた二本の8K動画にしました。パソコンではプレーヤーをドラッグしてステージ全体を見回せます。スマートフォンのYouTube Appでは端末を動かして見られ、VRヘッドセットにも対応します。

〈くじら〉360°:カメラは正面 · YouTubeで開く ↗
〈くじら〉360°:カメラは側面 · YouTubeで開く ↗

レンダリングが再生より遅いとき、時間に関わる処理はすべて動画時間に合わせます。カメラの問題はレンダリング前に止めなければなりません。

インタラクティブステージ

自分で視点を回す:MMDの14曲を切り替え可能

動画で見られるのは私が決めたカットだけです。〈Go Wild〉と同じ一群のMMDダンス14曲は、自分で操作できるステージにもしました。右下でYouTubeのShortを再生し、ステージ上の陽菜が同じモーションを動画の時刻に合わせて踊ります。いつでも一時停止でき、左下のメニューで曲を替え、ドラッグで陽菜の周りを回り、拡大縮小もできます。

Taro²の規約ではモーションファイルの再配布は禁止です。そのため、ステージには暗号化したモーションを分割送信し、ダウンロードは提供しません。曲はYouTubeプレーヤーで再生し、ページ自体には音声を置きません。

スマートフォンでは右下のYouTubeプレーヤーが陽菜の脚に重なります。パソコンのほうが全体を見やすいです。

許諾

公開前に確認し、アップロード前に短くする

比較版:上が美弦の元動画、下が陽菜
比較版:上が美弦の元動画、下が陽菜

これは他人のダンスです。公開前に三人のダンサーへ確認しました。一人は同意し、一人は公開を望まず、一人からは返事がありませんでした。公開したのは同意を得た人の動画だけです。

アップロード前にはもう一つ問題がありました。Content IDの権利主張が付いたShortは、1分を超えると全世界でブロックされます。MMDの一本は58秒に切って復旧し、〈くじら〉は60.6秒から59.8秒に切りました。

寄り道

ついでに試したこと

試したこと理由結果
JIZURAの文字カード背景MMDの背景が単調でした文字カードを陽菜の後ろに置き、カメラと同じ遠近感にするとカメラワークが見えます
AIによるステージ制作コンサートらしくしたかったからです照明、LEDウォール、コールドスパークはすべてコードで作りました。上のステージ版です
楽曲からダンスを作るFlowerDanceAIだけで振付ができるか見たかったからですトレースしたダンスと並べると、まだかなり差があります。モデルにライセンス条項がなかったため、ローカルにだけ残しました
動きの誇張モーションキャプチャーの演者に動きを大きくするよう勧められました誇張しすぎて見づらくなったので保留しました

寄り道は一通り試しました。残ったのは、動きをどこから得るか、カメラをどう配置するかの二点です。

現状

できたことと、まだできないこと

できたことまだできないこと
MMDを一晩で14曲ジャンプ:腰の高さがまだ低いほうの足に連動します
動画モーションキャプチャーで60秒の一曲全体指は動かず固定です
足の接地固定、リップシンク、まばたきあいうえおの口形はありません
構図の規則を検査として実装太ももを前に上げながら外に開くと、スカートに穴が開きます
インタラクティブステージで14曲を切り替え可能スマートフォンではYouTubeプレーヤーが脚に重なります

2026年10月の時点で、条件のよいスマートフォンのダンス動画一本とAIがあれば、3Dキャラクターに一曲まるごと踊らせられました。

ここを持ち帰る

あなたのAIエージェントにコピー

キャラクターに踊らせたい動画があれば、次の文をAIに貼り付けてください。

まずこの記事を読んでください:https://blog.joneshong.com/zh/blog/hina-dance-video-mocap/ その上で、一本のダンス動画をもとに、私の3Dキャラクターが同じダンスを踊れるよう手伝ってください。 1. まず動画が適しているか、固定カメラ、一人の全身がフレーム内にあるか、解像度、ビットレート、冒頭のフェードインを項目ごとに確認してください。測れるものは数値で報告してください。 2. 動画から3D骨格を推定し、私のキャラクター用モーションファイルに変換してください。変換後は、接地した足がフレームごとにどれだけ滑るか、関節限界を超えないか測ってください。 3. 公開前にダンサーへ確認するよう私に知らせてください。 既存のツールが見つかれば使い、自分で書き直さないでください。
参考資料

関連情報

資料重要な理由
dekopon〈Go Wild〉MMD Shortここから始まり、陽菜を踊らせたいと思いました
Taro²(BowlRoll)14曲のモーション作者。Readmeは規約を読み、三者のクレジットを並べる際の手本になりました
JIZURA歌詞の時刻に合わせて文字カードを生成します(MITライセンス)。平面の背景ではカメラワークが見えないと気づきました
Melies:Cinematic Techniquesカメラワーク用語集の出典。「激しいカメラワーク」を、名前と定義のある動きに置き換えました
SAM 3D Body一本の動画から3D骨格を推定する、二つ目の方法の出発点です。MetaのSAM License(2025-11-19版)は無料使用、改変、再配布を認めます。SAMで作った成果を公開するときは使用を明記する必要があります
FlowerDance曲からダンスを作るモデル(ECCV 2026)。試すと、曲から生成したダンスとトレースしたダンスの差が分かりました
〈絶妙なダンスが絶望的なダンスに。AIで直せる?〉その記事の「直すならモーションデータ」という結論から、実写動画を試しました
〈自作の着せ替え人形を共有:一枚のデザイン画から3Dへ〉陽菜をどう作ったか
三つのメモ:カメラワーク五版、MMDを一晩で14曲、モーションキャプチャー各版の動画と計測の詳細を載せています

音楽、ダンス、モーションの権利

記事中の楽曲、ダンス、モーションの権利はそれぞれの権利者にあります。ここでは実験結果を説明するためにのみ引用しています。削除を希望される権利者はコメントでお知らせください。

種類作品と権利者使用箇所
音楽Yaffle〈くじら (feat. Sahnya)〉〈くじら〉の比較版とステージ版、360°動画二本、過程動画五本の音声は、いずれもYouTube上で再生します
振付と元動画美弦(@mitsuru_SelfChoreograph)動画モーションキャプチャーの動きの元と比較画像。公開前に同意を得ています
音楽と振付轟はじめ〈Go Wild〉(hololive)〈Go Wild〉のカメラワーク五版の音声とダンス。MMDモーションはTaro²が轟はじめ本人のShortをトレースしました
MMDモーションTaro²(BowlRollで配布)MMDダンス14曲。インタラクティブステージのモーションは暗号化して分割送信し、ダウンロードは提供しません
インタラクティブステージの曲14曲はそれぞれの権利者に属します私がアップロードしたShortだけをYouTubeプレーヤーで再生し、ステージのページ自体には音声を置きません
✦ プロンプトをコピー