3Dキャラクターが自然に動かないときに見直す9項目。AIへの頼み方で「人を動かす」を考え直した

公開日 · 更新日 · 8 MIN READ · 理解の記録

RECORD / 2026

人を動かすとは、骨を動かすことではなかった。

手と道具。足と地面。身体と服。モーションとゲーム内の速度。これらの関係が崩れず、見た人が自然だと感じて、ようやく「人が動いた」ことになる。

RukaさんのXスレッドを最後まで読んだ。3Dモーションで実際に困ったことと、AIへどう頼むと直しやすかったかが9つに分けて書かれていた。

私にも重なる困りごとがいくつもあった。そして、そもそも「人を動かす」とは何なのかを考え直すきっかけになった。

3Dキャラクターの違和感は、動きより関係を見ると見つけやすい

スレッドに出てきた問題は、一見すると別々に見える。

  • 武器が逆の手につく
  • 武器が手首に刺さる
  • 歩くと足が滑る
  • 腰から手へ渡す途中で斧が浮く
  • 両手で持つと、手か物のどちらかが身体から離れる
  • 腕を上げると服の一部が引っ張られる

しかし、共通点がある。

一つの骨や座標だけを見て直そうとすると、別の関係が壊れることだ。

人型の3Dモデルは、身体だけで完結していない。地面や道具や服と触れ合いながら動く。だから、部品単体ではなく、接触とつながりを見る必要がある。

1. LとRの骨名より、実際の位置と身体のつながりを見る

骨の名前にあるLとRが、実際の左右と一致しているとは限らない。

古いモデルや変換を重ねたデータでは、名前だけを信用すると逆の手へ武器が付くことがある。見るべきなのは、骨の名前ではない。その骨が身体のどこにあり、肩、腕、手へどうつながっているかだ。

AIへ頼むときも「右手の骨を探して」だけでは弱い。

名前、位置、親子関係を照合し、本当に右手へつながる骨を特定させる。ラベルではなく、実体を見る。

2. 手についてくることと、握れていることは別

武器が手の動きに追従していても、指が開いていれば握っているようには見えない。位置が合っていても、手首に刺さって見えることもある。

ここで直す対象を広げすぎないことが大事になる。

武器の位置が正しいなら、武器を動かさない。正しく握れている別のモーションを参考にして、指だけを直す。

「持つ」は親子付けの結果ではない。手、指、柄の接触が成立している状態だ。

3. 足滑りは、移動速度と足を運ぶ速さの不一致で起きる

Mixamoの歩行モーションがきれいでも、ゲームに入れると足が滑ることがある。

キャラクターがゲーム内で進む速さと、足が地面を送る速さが合っていないからだ。元スレッドでは、ゲーム内の移動速度を固定し、モーションの再生速度を約1.33倍にすると自然になったと書かれている。

1.33倍は、どのゲームにも使える正解ではない。そのモデルとゲームで合った値だ。

重要なのは、移動速度と再生速度を同時に変えないこと。片方を固定し、もう片方を複数案で比べる。Unityの解説でも、スクリプトで動く速度とモーションの速度を合わせることが足滑りを抑える基本として説明されている。

4. モデルの原点と、人が握る場所は一致しない

石斧が手について動いても、柄を握れていないことがある。

3Dモデルの基準位置は、必ずしも人が握る場所に置かれていない。オブジェクトの原点へ手を合わせるのではなく、柄の形を見て、実際に力をかける中心を決める必要がある。

これは「データ上の中心」と「意味の中心」が違う問題だ。

人は斧の原点を持たない。柄を持つ。

5. 腰から手へ武器を渡すときは、全フレームを見る

腰にある斧を手へ移す動きでは、開始と終了だけ合っていても足りない。

途中で浮く。急に回る。身体を貫通する。腰の斧と手の斧が同時に見える。こうした破綻は、受け渡しの途中に現れる。

確認するのは次の4点だ。

  1. 位置
  2. 向き
  3. 身体との衝突
  4. 表示の切り替え

静止画2枚ではなく、腰から手、手から腰までの全フレームを検査する。動きは途中にある。

6. 両手持ちは、物だけでなく上半身を少し動かす

物を両手へ近づけると身体にめり込む。身体から離すと手が浮く。

この状態で物の位置だけを動かし続けても、答えが出ないことがある。物の位置で解けないと判断したら、肩、腕、手を最小限だけ調整する。

先に物だけで解けるか試す。それで無理なら、無理だと判定する。次の層へ進む。

一つの変数へ固執しないことも、自然な動きを作るために必要になる。

7. 身体が伸びるときは、モーションよりウェイトを疑う

腕を上げたとき、腰の服まで腕についてきて伸びる。これはモーションではなく、身体のどの部分がどの骨について動くかという設定が原因の場合がある。

自動で骨を入れたとき、遠く離れた腰の頂点へ手の骨の影響が入ることがある。モーションを何度直しても、割り当てが間違ったままなら伸び続ける。

確認する順番を変える。

動きがおかしいからといって、すぐモーションを直さない。どの骨がその部分を動かしているかを先に調べる。

8. 合格させるために、木やカメラを動かさない

手が木に届かないとき、木を手元へ動かせば接触する。

しかし、それはモーションを直したのではない。テストを簡単にしただけだ。

評価中は、木の位置、移動速度、カメラ、物の大きさを固定する。直す候補だけを変える。

これは3Dモーション以外でも使える。テストへ合格させるために周囲の条件を動かすと、本当の問題が見えなくなる。

9. AIの「直りました」と、人が自然だと感じることを分ける

AIは数値の確認が得意だ。

  • 手と武器の距離
  • 身体へのめり込み
  • 接触するフレーム
  • 動画の長さ

しかし、数値が合っていても、重そうに見えないことがある。殴っているように見えないこともある。単体の動画では自然でも、ゲームへ入れると違和感が出ることもある。

確認は3段階に分ける。

  1. 数字上の条件を満たした
  2. 人が見て自然だった
  3. 実際のゲームで使えた

AIには修正案と比較動画まで作らせる。そこで止める。採用するかは人が決める。

比較モーションを画面に並べ、制作者が接地位置と道具の握りを確認している

「人を動かす」とは、5つの関係を壊さないことだった

このスレッドを読んで、私は「人を動かす」という言葉をもう一度考え直した。

関節の角度を変えるだけでは、人は動かない。

  • 骨と身体
  • 手と道具
  • 足と地面
  • 動きと時間
  • 数値と人の感覚

この5つの関係がつながっている必要がある。

自然な動きとは、正しい座標の集合ではない。関係が壊れずに続いている時間なのだと思う。

だから違和感が出たときは「どの骨を直すか」より先に、「何と何の関係が壊れたか」を見る。

この見方に変わると、直す場所を必要以上に広げずに済む。

AIへ頼むときは、直すものと固定するものを分ける

9項目を一つの依頼文へまとめると、次の形になる。

この3Dモーションの違和感を調べてください。

対象:
- 直したい動きと時間範囲を書く

固定するもの:
- ゲーム内の移動速度
- カメラ
- 相手側の物の位置と大きさ

確認する関係:
- 骨名ではなく、実際の位置と親子関係
- 手、指、道具の接触
- 足と地面の滑り
- 全フレームの浮き、回転、貫通、二重表示
- 頂点へ影響している骨

進め方:
1. 原因候補を分ける
2. 一度に一つだけ変える
3. 3パターンの比較動画を作る
4. 数値の検査結果も出す
5. 比較動画を作ったら止まる

採用判断は人が行います。

大事なのは、AIへ「自然にして」とだけ頼まないことだ。

直す対象。変えない条件。見る関係。止まる場所。この4つを先に決める。

同じ問題で止まったら、動きの外側を見る

モーションを直しても直らないなら、骨名、原点、ウェイト、移動速度、接触対象を確認する。

一つの瞬間だけ直っても、前後のフレームで壊れているかもしれない。数値が合っても、人には不自然に見えるかもしれない。

「人を動かす」は、人体の中だけの仕事ではなかった。

身体が世界へ触れ続ける関係を作る仕事だった。

参考リンク

コメントを残す