Blender : IK/FK (2) : 関節の回転角度の制約を設定する

Image

回転角度の制約

Blenderで「曲げられない方向・角度」の制約は、主に次の3つのレイヤーのいずれか(または組み合わせ)で設定される。

① ボーン自体の回転制限(最も基本・推奨)

Pose Mode > Pose Bone Properties → Transform → Limit Rotation

設定手順(Blender 5)

  1. アーマチュアを Pose Mode
  2. 制限したいボーンを選択
  3. Nパネル → Item → Transform → Limit Rotation
  4. 軸ごとに:
    • Min / Max に角度(例:-90°~0°)を入力
    • チェックをONにして有効化

実務例

  • 膝:
    • X軸:0° ~ 140° のみ許可
    • 他軸は ±5° 程度に狭く制限
  • 肘:
    • X軸:0° ~ 150°
    • Y/Zはほぼ固定

👉 これが「関節制限の標準的な設定方法」


② IK時の可動制限(IK専用の安全装置)

IKを使う関節は、上記①に加えて:

  • IKコンストレイントの Chain Length
  • Pole Target(膝・肘の向き)

で“実質的な可動域”が制御される。

例:

  • 足首IK
    • Chain Length = 2 または 3
    • Pole Target を前方に固定 → 膝が後ろに折れない

👉 これは「角度数値制限」ではなく姿勢誘導による制御。


③ カスタムコントローラーによる制限(プロ用途)

プロリグ(例:Rigify、社内リグ)では:

  • コントローラー(スライダー、ドライバー)で
    • 0~1 を入力
    • それを ドライバーで角度に変換
    • ボーンの回転に適用

例(概念)

回転X = driver_input * 140°

→ ユーザーは「曲げスライダー」だけ操作。

これは大規模キャラリグでの標準手法。


【根拠(なぜこの方法になるか)】

  1. Blenderのボーンは姿勢が回転で定義されるため、
    → 可動域制限も回転角度のMin/Max制御が最も自然。
  2. IKは「位置優先」なので、
    → 角度だけでなく Pole Target(向き制御)+Chain Length が必須。
  3. 実制作ではアニメーターが数値入力を嫌うため、
    ドライバー+コントローラー方式が業界慣行になっている。

【注意点・例外(重要)】

1) Local軸とGlobal軸の違い

Limit Rotation はボーンのローカル軸が基準。
→ ボーンの向き(Edit ModeでのRoll)が狂っていると、制限も狂う。
対策:Edit Modeで「Clear Roll」または正しいRoll設定が必須。

2) 親子関係の影響

親ボーンが回転すると、子の「見かけの角度」は変わる。
→ 制限はローカル基準で守られるが、見た目は大きく曲がる場合がある。

3) 物理制限は別問題

クロス(布)やラグドール物理は、

  • Bone Limit だけでは不十分な場合があり、
  • 追加でJoint Limit 物理設定やコリジョン調整が必要。

4) 解剖学的に完全再現は困難

肩甲骨・鎖骨・手首などは「回転+微小移動」を伴うため、
単純な角度制限だけでは不十分 → 専用リグ設計が必要。


【出典(一次情報に相当する公式資料)】

  • Blender Manual(公式)
    • Pose → Bone Constraints → Limit Rotation
    • Constraints → Inverse Kinematics
    • Armature → Bone Axes / Roll

(Blender Manual内で
Limit RotationInverse KinematicsBone Roll を検索してください)


【確実性:高】

(Blenderの仕様およびリギング実務の標準手法に基づく)


もしよければ、

  • 「膝専用の推奨パラメータ」
  • 「肘専用の推奨パラメータ」
  • 「IK脚リグの最小テンプレ」

Blender 5 用の具体的な数値付きで図解的に提示できます。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA