このサイトで一番人が来ているのは、第14回(Blenderで作った参照動画)です。Xで引用を付けるたびにそこへ飛ぶ。「先に動きを決めてから焼く」という考え方に需要があるようなので、その作り方を頭から1本にします。
今回の素材は、Mixamoのジョギングです。Blenderで白い素体の5秒動画にし、別に作ったキャラクターシート1枚と一緒にMiniMax H3へ渡しました。人物の外見はシートから、動きとカメラの構図は素体から。背景は文章で「日本の早朝の住宅街」と指定しました。

作り方の全体

- Mixamoで動きを選び、FBXをBlenderに読み込む(30fps・78フレーム・前進あり)
- 30fpsの動きを24fpsに打ち直し、繰り返しで5秒(120フレーム)にする。前進は原点に戻さず続ける
- Workbenchで白い単色・薄い陰影で描く。320×240。固定カメラ(130mm)で、右奥から近づいて左端で切れる構図
- 別の正面写真1枚から、5面のキャラクターシート(前・後・横の全身+顔の正面・横顔)を作る
- H3に Picture 1=シート、Video 1=素体の5秒、文章=背景・時系列・「何を移し、何を移さないか」を渡して焼く

ポイントは、動きと外見を別々の参照から渡すことです。素体は白い人形なので、その見た目は移さず、動きとカメラ枠だけを移す。人物の顔・髪・服・靴はシートから取る。これを文章で明示します(「白いマネキンの外見と分節された関節は移さない。動作とカメラ構図を移す」「シートの5人を別人として描かない」)。
30fpsの罠と、白い素体の作り方
Mixamoの動きは30fps、H3の参照動画は24fps基準です。fpsのラベルだけ24に付け替えると、尺が125%に伸びて解釈されます(1秒の動きが1.25秒に)。今回はBlender側で、キーフレームの時刻を0.8倍に詰めてから24fpsで描きました。
`
new_frame = 1 + (old_frame – 1) * 0.8 # 24/30
`
白い素体は、Workbenchの単色描画(1,1,1)に影とキャビティを足し、背景を暗い灰色にしたものです。深度マップ(距離を濃淡にしたもの)ではなく、普通のRGB動画です。H3の参照動画はRGBで受けるので、これで足ります。骨のガイドやグリッドは入れていません。

解像度を320×240に落としたのは参照の負荷を下げるためです。第3弾で書いたとおり、参照動画の負荷は色ではなく画素数×コマ数で決まります。動きは低周波なので、320×240でも「何の動きか」は伝わります。
できたもの
- 動き: 走る足運びと腕振り、右奥から近づいて左へ抜ける構図は、参照に沿っています(図1)。
- 人物: 白いTシャツ・黒のショーツ・白ソックス・白いスニーカー・ポニーテールはシートどおり。全身像の顔にかけたぼかしは、生成動画には移っていません。
- 背景: 早朝の光、二階建て、塀、電柱と架線。
- 1本目は少ないステップ数で焼いたため、住宅の壁に縞が入りました。同じプロンプト・同じ条件でステップを10に上げた2本目(上の動画)では消えています。動きと構図は2本とも同じでした。

背景を文章で変えると、どうなるか。同じ素体の動き・同じキャラシートのまま、背景の指定だけを「白いスタジオ」にした版がこれです。
動きと人物は住宅街版と同じで、背景だけが変わります。動き・外見・背景を3つの参照に分けて渡すと、1つだけ差し替えられる——これが分けて渡す一番の効用です。
なぜ「文章+動画」なのか: 8月の2×2実験
この型は、8月にMacで確かめた結果の上に立っています。参照画像1枚・seed固定・640×384・124コマ・4ステップで、変えたのは2つだけ。
| 参照動画あり | 参照動画なし | |
|---|---|---|
| 動きの文章あり(363語) | A | B |
| 動きの文章なし(105語・蹴り/弧/回転の語をゼロに) | V2 | D |
参照動画は、Mixamoの蹴り(Inside Crescent Kick)をBlenderの素体で描いた2秒です。名前から想像する「軸足を着けたまま脚が弧を描く」動きではなく、跳びます。沈み込んで両腕を後ろに振り、踏み切って両腕を開き、空中で両脚を前後に開いて、片脚を伸ばしたまま落ちる。

結果は、2軸で見ます。①振り付けが参照と対応するか、②人体として成立しているか。
| 出力の動き | 参照との対応 | 体の整合 | |
|---|---|---|---|
| A(文章+動画) | 腕を後ろへ振り抜く→踏み切りで腕を開く→滞空して両脚で鋏→落下→着地を沈んで吸収 | 局面の並び・腕の使い方・空中姿勢まで対応 | 保たれている |
| B(文章のみ) | 立ったまま片脚を高く上げる。滞空なし | 別物。「蹴る」は伝わったが振り付けは伝わらない | 保たれている |
| V2(動画のみ) | 沈み込み→腕を開く→滞空→着地。局面は出る | 局面は対応 | 壊れている(地面を蹴っていないのに回り続ける・骨盤と肩の向きが矛盾・脚がコマごとに別位置) |
| D(どちらもなし) | その場で腰を振るだけ | — | — |
- 参照動画は振り付けを運ぶ。 V2とDの違いは参照動画の有無だけで、文章に動きの語はない。動きは画素からしか来ようがない。
- 文章は振り付けを運ばない。 Bは「蹴る」にはなったが、別の蹴りになった。
- 動画だけでは足りない。 動画=何の動きをするか、文章=その動きを人体として壊さない。採用できたのはAだけ。
- H3は勝手に激しく動かない。 指定しなければ、Dのように腰を揺らす程度。
- 参照動画を付けても時間はほぼ増えない(AとBの差2%)。
この実験で当方は最初「振り付けは再現されていない」と報告して、間違えました。参照を名前で済ませ、参照そのものを見ていなかったからです。1/12秒刻みで見直したら、参照が跳んでいた。参照は自分の目で見てから評価する、が教訓です。
Mixamoの自動リグに素体を拒否されたら
自前の素体(Blender MPFBで作った人体)をMixamoに送ると、最初はこう返ってきました。
> Sorry, unable to map your existing skeleton.
自動リグが失敗したのではなく、FBXに骨が入っていたので、自動リグを走らせずに「既存の骨をMixamo規格に対応づける」モードに回り、そこで止まった、という意味です。直し方は骨を含めずに書き出すこと。素体以外(骨・カメラ・ライト)を消し、マスクとシェイプキーを焼き込んでメッシュだけをFBXにすると通り、骨65本・指まで入ったリグが返ってきます。
今回のジョギングはMixamo付属のモデル(Betaモデル)をそのまま使ったので、この工程は踏んでいません。自分のキャラを素体にしたいときだけ要ります。
Macでは参照動画が載らない
8月の時点では、Mac(M5・32GB)で640×480×65コマの参照動画を渡すと100秒で止まり、256×192×48コマ(8分の1)にすると通りました。H3本体とテキストエンコーダで40GB規模を使うので、参照動画の分が乗る余地がほとんどない。今回320×240×120コマにしたのも同じ理由です。品質を見る段は16GB×2のデスクトップか、クラウドになります。
まとめ
- 動きはMixamo→Blenderの白い素体(24fpsに打ち直し・320×240・固定カメラ)、外見はキャラシート1枚、背景と「何を移すか」は文章。3つを分けて渡す。
- 参照動画は振り付けを運び、文章は体を保つ。両方あるときだけ使える(8月の2×2)。
- Mixamoの自動リグは骨を抜いて送る。Macでは参照動画を小さく。
- できた動画は動きと構図が参照に沿い、人物はシートどおり。ステップ数が少ないと背景に縞が出る(10ステップで解消)。
次は、同じ型でMixamoのダンスを着せた15秒です。
本記事の動画・画像は当方の生成物で、人物は当方の参照画像から作ったものです。実在の人物ではありません。Mixamoの動きはAdobeのライブラリ、素体はMixamo付属のモデルとBlender(MPFB)で作った人体です。

コメント