はじめに:一度Blenderに挫折した筆者が、AIと共に挑む3D制作シリーズ
3DCG制作の標準ソフトウェアであるBlender。その圧倒的な機能性と自由度に魅力を感じてインストールしたものの、無数に並ぶ操作パネルやショートカットの複雑さに圧倒され、途中で挫折してしまった経験を持つ人も多いのではないだろうか。
私自身もかつてBlenderに挑戦し、思い通りにモデルを動かせないまま一度は諦めた経験を持つ一人である。
しかし、生成AIや画像認識技術が急速に進化した現在、専門的なCG技術をすべてイチから習得しなくても、「AIの力を借りて動画から動き(モーション)を抽出し、3Dモデルを踊らせる」 というアプローチが現実的なものになってきた。
本シリーズは、高度な3D知識を持たない状態から、AIのサポートを受けながらどこまで本格的な3Dアニメーション制作ができるかを検証していく実証実験の記録である。
日向坂46のメンバーをモチーフにした「ちびキャラ(デフォルメ)3D人形」を作成し、実際の楽曲に合わせて生き生きと踊らせること。
なぜ「ひなリハ」なのか?定点ダンス動画とAI骨格推定の相性
AIを用いて動画からダンスの動きを取り出す(モーションキャプチャを行う)にあたり、最も重要なのは「元となる動画の撮影条件」である。
通常のミュージックビデオ(MV)は、カメラがダイナミックに動いたり、カット割りが細かく切り替わったり、メンバー同士が激しく重なり合ったりするため、AIが人間の関節位置(骨格)を正確に追跡することが困難である。
そこで今回着目したのが、日向坂46の公式YouTubeチャンネルなどで公開されている「ひなリハ」である。
カメラが一切ブレず、全身の軌跡が途切れない定点映像だからこそ、複雑な専用スーツやスタジオ機材を使わずに、通常の動画からAIで関節の立体座標を読み取ることが可能になる。
今回のゴール:大野愛実さんセンター楽曲『クリフハンガー』の「ひなリハ」冒頭5秒を動かす
最初から曲全体を完璧に踊らせようとすると、調整作業が膨大になり手戻りも大きくなる。そこで本実証実験(第1弾)では、対象範囲を絞ったスモールスタートで検証を行った。
今回の題材として選んだのは、五期生・大野愛実さんがセンターを務める楽曲『クリフハンガー』の「ひなリハ」である。
【第1弾 PoC(概念実証)の到達目標】
・対象素材:五期生・大野愛実さんセンター楽曲『クリフハンガー』の「ひなリハ」冒頭(サビ)5秒間
・実施内容:センター位置の大野愛実さんのダンスからAIで3D骨格データを抽出
・成果物 :Blender上に作成した自作ちびキャラ3Dモデルへ動きを転写し、5秒間破綻なく踊らせる
まずはこの「5秒間」を動かすパイプラインを構築し、現在の手元のAI環境でどこまで実用的な精度が出るのか、どのような課題が発生するのかを検証した。
準備と仕組み:動画からダンスの動きを取り出すパイプライン
動画のダンスを3Dキャラクターに反映させるまでの大まかな流れは、下図のような3段階のパイプラインで構成されている。
- 動画の切り出し・前処理: 「ひなリハ」からサビ5秒間を切り出し、対象メンバー(センター)にフォーカスする。
- AI骨格推定(モーション抽出): 映像内の人物の関節位置(33箇所)を3次元空間上の座標として追跡し、動きのデータ(BVH形式)に変換する。
- Blenderでの3D化・リターゲット: 生成した骨組みデータをBlenderへ取り込み、自作のちびキャラ3Dモデルの骨(ボーン)と連動させてアニメーションを焼き付ける。
使用した開発・実行環境
今回のシステム構成と環境構築のポイントは、「構想・プロンプト設計は対話型AIを活用し、スクリプト実行・自動化はGoogle Antigravity IDEを活用、基盤ライブラリとBlender本体はオープンソースで完結させる」 というハイブリッドな組み合わせである。
| 役割 | 使用ツール・環境 | 備考 |
|---|---|---|
| 構想・パイプライン設計 | Gemini(チャットAI) | 全体の手順策定・プロンプト作成 |
| 開発・自動実行環境 | Google Antigravity IDE (Python 3.14) | パイプラインの一括自動化・実行管理 |
| 動画処理・切り出し | FFmpeg 8.1.2 / OpenCV 5.0 | オープンソース(無料) |
| AI 3D骨格推定 | MediaPipe 1.0.1 (PoseLandmarker) | オープンソース(無料・Google製) |
| 3D統合・レンダリング | Blender 5.2.0 LTS | オープンソース(無料) |
「どんなコードを書いてどう連携させるか」という設計部分はチャットAIとの壁打ちで組み立て、実際のPythonスクリプト作成やバッチ処理の自動実行にはAntigravity IDEを活用した。
高度なAI専用GPUサーバーを自前で借りることなく、ローカルPC環境で無理なく動かせる軽量なオープンソース構成を採用している。
【初心者向けミニ用語解説】「骨組み(ボーン)」「BVH」ってなに?
3DCGを普段触らない人に向けて、今回の記事で頻出する専門用語を簡単に整理しておく。
- ボーン(Bone / 骨組み):
3Dモデルの手足を曲げたり動かしたりするための「内部の骨」。3Dモデル(人形の皮膚や服)はこの骨の動きに追従して変形する。 - BVH(Biovision Hierarchy)形式:
映画やゲームのモーションキャプチャで標準的に使われる「関節の階層構造と時間ごとの回転角度」を記録したテキストデータ形式。 - リターゲット(Retargeting):
ある骨組み(今回AIが動画から読み取った骨格)の動きを、体型の異なる別の3Dモデル(頭身の低いちびキャラの骨格)へ適合させて流し込む処理のこと。
試作結果:5秒間動いた「ちびキャラ3D人形」とAIの現在地
今回の検証では、抽出したモーションデータを流し込む対象として、手軽に作成できる2.5頭身のちびキャラ3DモデルをBlenderスクリプトで自動生成した。
頭部を大きめに設計し、アイドル衣装風のカラーリングとツインテールのシルエットを配置。さらに、正面には笑顔の表情テクスチャ(1024×1024 PNG)をUVマッピングで貼り付けている。
複雑なリアル頭身モデルを一から作ると挫折の原因になる。まずはデフォルメされたちびキャラにすることで、動きの多少のぎこちなさも「愛嬌」として吸収しやすくなるメリットがある。
手元のAI環境でここまで動く!リアルな精度と手応え
実際に5秒間(約119フレーム)のダンスを動かしてみた結果、「定点動画+軽量なオープンソースAI」の組み合わせでも、人間が直感的にダンスだと認識できるレベルの再現が可能であることが実証できた。
- リズムと大枠のポーズ: 楽曲のリズムに合わせた腕の振り上げやステップのタイミングは、元動画と高い精度で同期している。
- 立体的な動きの保持: 単なる2D平面のトレースではなく、腕の前後の突き出しや体のひねりといった3次元的な深度(Z軸)も破綻なく追従。
- 軽量な計算負荷: 高価なクラウドGPUに依存せず、一般的なPC環境とPythonスクリプトで数分以内にモーション抽出からBlenderへのインポートまでが完了する。
もちろん、完璧なプロクオリティに仕上げるには後述するいくつかの課題があるが、「挫折した経験がある状態から、AIとの協業でここまでの形にできた」という点は非常に大きな手応えとなった。
悪戦苦闘の記録:起きたトラブルとどう乗り越えたか
一見スムーズに動いたように見える今回の実証実験だが、実際にはAIから出力された座標とBlenderの仕様の違いによって、数々の予期せぬトラブルに直面した。
ここでは、実際に発生した4つの主要な問題と、それらをどのようにコードと設定で解決したのかを記録として共有する。
トラブル1:人形がなぜか仰向けに寝てしまう(座標軸・Y-Up問題)
最初に抽出したBVHファイルをBlenderに読み込ませた瞬間、画面の中の人形がなぜか天井を向いて「仰向け」に倒れた状態で手足を動かし始めた。
- 原因: モーションキャプチャの標準規格(BVH)は一般的に「Y軸が上(Y-Up)」を前提としている。一方、Blenderは「Z軸が上(Z-Up)」である。BlenderのBVHインポーターは読み込み時に自動で-90°回転補正をかける仕様になっているが、Pythonスクリプト側で最初からZ-Up形式で出力してしまったため、二重に回転がかかって仰向けに倒れてしまった。
- 解決策: MediaPipeから取得した3D座標の出力時に、BVHの標準仕様であるY-Up形式へ正しく基底変換を統一することで、自然な直立姿勢でインポートされるように修正した。
トラブル2:手足や胴体が潰れて消える現象(MediaPipeとBlenderの回転軸不一致)
次に起きたのは、モデルの手足が異常な方向にねじれ、胴体の中にめり込んでメッシュが潰れてしまう現象であった。
- 原因: MediaPipeが返す3Dカメラ座標系(Y軸が下向き・Z軸が奥行き)と、Blenderの3Dワールド座標系(Z軸が上向き・Y軸が奥行き)で軸の向きが異なり、各関節のオイラー角計算で180度反転した回転値が渡っていたことが原因であった。
- 解決策: Pythonスクリプト(
03_pose_to_bvh.py)内で、座標をBlender標準系(X, -Z, -Y)へ数学的に変換してからボーンのローカル回転を算出する処理を組み込み、全11関節の可動域を正常化した。
トラブル3:骨組みと人形が分離して2重に見える(ウェイト付けとキーフレーム直接ベイク)
アニメーションを再生すると、元の骨組み(BVHの棒人間)だけが踊り、ちびキャラモデルの体がその場に取り残されてしまう、あるいは2重にズレて表示される問題が発生した。
- 1:1のボーン分割: ちびキャラの短い手足に合わせて、アーマチュア(骨組み)の各セグメントを1対1で正確に配置。
- 明示的な頂点グループ割り当て: 自動ウェイト(Auto Weights)による失敗を防ぐため、胴体・頭・腕・脚の各メッシュに明示的に頂点ウェイトを付与。
- キーフレーム直接ベイク: 中間ボーンを経由せず、ちびキャラのアーマチュアボーンに対して直接抽出した回転キーフレームを焼き付け(ベイク)し、不要になったBVH棒人間は自動削除するスクリプト(
07_render_chibi_dance.py)を作成した。
トラブル4:手足の不自然なブレや沈み込みの抑制(移動平均フィルタと腰アンカー固定)
AIによる単眼カメラ映像からの骨格推定では、フレームごとに微細な座標のジッター(小刻みな震え)や、足元が床を突き抜けて沈み込む現象が発生しがちである。
- 腰位置アンカー固定: 第0フレーム(開始時点)の腰(Hips)の高さを Z=90cm に基準固定し、上下の不自然な浮き沈みを防止。
- 3フレーム移動平均フィルタ: 時系列の関節座標に対して3フレーム分の移動平均を適用。ダンスのキレを損なわない範囲で、AI特有のピクつき・微細なブレを滑らかに補正。
【検証動画】モーション抽出と3D化のビフォーアフター
今回の実証実験における技術的な進化と最終結果を、「モーションキャプチャーの骨組み(BVH)」および「ちびキャラ3Dモデルへの転写」の最初と最後の動画で比較する。
1. モーションキャプチャー(骨組み)の進化
動画からMediaPipeで抽出した3D骨格座標が、調整を経てどのように安定したかの比較である。
初期段階:腕などの一部関節のみが動作し、座標軸や回転角のズレが残るテスト映像
最終段階:Y-Up変換、座標系修正、移動平均フィルタにより滑らかに全身が追従する骨格データ
2. ちびキャラ3Dダンスのビフォーアフター
抽出した動きを自作の2.5頭身モデルに流し込み、破綻なく踊らせるまでの比較である。
初期段階:3Dちびキャラが全く動かない
最終結果:大野愛実さんのダンスに合わせて笑顔で軽快に踊る2.5頭身ちびキャラアイドル
初期のバラバラな状態から、各トラブルを一つずつ潰していくことで、最終的にここまでしっかりとリズムに乗って踊る3Dアニメーションを実現できた。
今後の課題と展望:Blenderに詳しい方ならもっと上手くできる?
サビ5秒間のスモールテストとしては十分な手応えを得られた一方、プロクオリティの3Dアニメーションとして仕上げるためには、いくつかの明確な課題も見えてきた。
- 二次アニメーション(揺れもの)の未実装:
髪の毛(ツインテール)や衣装のスカートが体の動きに合わせて自然に揺れる「物理演算・スプリングボーン」の設定。 - 末端の微細な表現:
MediaPipeの全身推定では拾いきれない「指先の細かなニュアンス」や、ダンス中の「目線・表情の変化」。 - 足の接地感(フットスライド)の最適化:
ステップを踏む瞬間に足先が床を滑らないよう、IK(インバースキネマティクス)を用いた正確な接地制御。
クリエイターの皆様へ:「もっと良い補正方法」へのアドバイス募集
「過去にBlenderに挫折した初心者」の立場からAIを活用してここまで形にしてみたが、Blenderを普段から使いこなしているモデラーやアニメーターの方であれば、より効率的で美しいパイプラインを組めるはずだ。
「このアドオンを使えばもっとリターゲットが綺麗にできる」「ボーンのロール補正はこう処理すると早い」など、より良い知見やアドバイスがあれば、ぜひコメント欄やSNS等でお寄せいただきたい。
次回予告:モデル造形のブラッシュアップと長尺ダンスへの挑戦
今回のPoC(概念実証)によって、「定点動画(ひなリハ)からAIで骨格を抽出し、Blender上の自作モデルを躍らせる」という基本パイプラインの実現可能性が確認できた。
次回は以下のステップに挑戦し、さらなる進化を目指す。
- 顔・衣装のテクスチャ強化: メンバーの特徴をより反映したデフォルメテクスチャの作成
- ダンス尺の拡張: 5秒間のテストから、サビ全体(15〜30秒)のフルモーション抽出と自動化
- BlenderとAIのリアルタイム連携: スクリプト実行から一歩進んだ次世代の制作ワークフローの検証
一度Blenderを諦めてしまった人も、ぜひ最新AIの力を借りて、もう一度「動かす楽しさ」に挑戦してみてはいかがだろうか。


「ひなリハ」は、定点カメラでリハーサルスタジオ全体を固定撮影しており、メンバー全員の頭から足先までが常に画角内に収まっている。AIにとってこれ以上ないほど理想的な解析素材だ。