カテゴリー: blender

  • Blender : 人体のスケルトンにInverse Kinematics (IK) boneを設定するとポーズ取りが楽になる

    Blender : 人体のスケルトンにInverse Kinematics (IK) boneを設定するとポーズ取りが楽になる

    3Dデザインの次は?

    この記事を読む前に以下の記事をご覧になってBlenderでなにができるか全体像を把握しておけばこの記事でどの部分の何を解説しているのか理解しやすくなるので初学者の方は読んでみてください.

    Blender : 何ができるの? – Blender 5 先生

    人体の3Dデザインが終われば、人体のポーズ取りをするのが楽しい作業となる。関節ごとに角度をいじって地道にポーズを決めていくことも楽しい作業の一つであるが、もっと簡単にポーズ取りを済ませて、アニメーションのkey frameとしてどんどん作りたい要望も出てくる。そこで、今回は、ボーズ取りを簡単にするための結構調整に時間がかかる(1) IK constraint設定,(1) IK設定後の調整について概説する。

    ポーズを作る方法

    ポーズを作り上げる方法には以下の2つがある.1の方法は準備はいらないが,2の方法は少々準備に時間がかかる.

    1. boneのギズモのrotation(角度)を地道に調整してポーズを作る方法
    2. IK constrainで制御用boneを設定して感覚的に各節を調整してポーズを作る方法

    IK constraint:

    Image
    1. 前腕にInverse Kinematics (IK)を設定する方法を解説する
    2. 前準備として、Edit modeで目的のboneが所属するarmatureのroot直下に手首あたりにbone (target boneになる)とひじあたりにもbone(pole bone)を追加する
    3. Pose modeに切り替えて、前腕のboneを選択する。
    4. Propertiesのadd bone constraintにて、IKを追加する。
    5. IK設定にて、target boneとpole boneを以下の通りで設定する。
    6. target boneには、手首あたりに追加したbone, pole boneにはひじあたりに使うしたboneを指定する。
    7. chain lenghtは初期値0なので、全てのboneに影響するため人体モデルは一瞬に傾くが、値を1、2・・・と設定すると体勢は元に戻る。

    同様にして、二の腕のboneにもIKのtarget bone, pole boneを設定して2つのbone のIK constraintで手首の向き、肘の向きを制御可能となる。

    ポイント:

    考慮するポイントを以下に示したが,以下の方法が状況によるのですんなりといかない場合もある.

    • IK constraintのPole angleの調整によるbone軸の角度(向き)の調整.
    • IK constraintのChain Lenght
      • Chain Length : 以下の影響範囲の調整 (0: 全てのbone, 1: 自分,2以降: 自分を1としてroot boneに向かうboneの数分のboneまで).
      • Use tail : OFF (default)→ ターゲット骨の Head(根元) をIK目標にする.
      • Use tail : ON → ターゲット骨の Tail(先端) をIK目標にする.
      • Stretch : OFF(通常・標準)→ 骨の長さは固定,ターゲットが遠すぎる場合、届く範囲までしか伸びない.
      • Stretch : ON → 骨が伸びる(スケールされる), ターゲット位置まで必ず届く.
    • 詳細に制御したい場合は、追加の処理として角度制限を加える.

    スクリーンショット 2026 02 13
    スクリーンショット 2026 02 13

    IK設定後の調整

    はじめに

    関節を動かせるようにするためにIKを設定したあと,次に行うことは,2つの微調整である.

    ここで,前述での内容を振り返っておこう.

    関節付近のあるboneにIK constraintを設定するのだが,具体的には,target boneとpole boneを設定することである.

    target boneとpole boneは,IK constraintを設定する前にboneのedit modeにてそれぞれの役割を担う予定のboneを2つ設定する.

    これらtarget boneとpole boneを指定したIK constraintをon(目のマーク)にしておくと,boneのedit modeとpose modeでboneの位置ずれが起こることを確認できる.このいちずれが無いようにするのが,今回の「IK設定後の調整」のことである.

    object modeでboneを選択して,edit modeとpose modeを交互に切り替えるとboneの位置がずれることを認識できるようになったら,以下の方法で調整を実施する.

    調整手順

    1. target boneの位置の調整手順

    当該手順の目的は,target boneの位置の調整することで,間接的に影響を受けているboneの位置を調整すること,すなわち,boneのedit modeでのbonesの位置にpose modeでのbonesの位置を一致させることである.以下,その調整手順を示した.

    1. 人体 objectとarmature (bones)を表示されていることを確認する.
    2. object modeでboneを選択しedit modeして,各bone(bones)の位置を目に焼き付ける.
    3. pose modeにして,bonesの位置を確認し,目に焼き付けたboneと比較する.
    4. edit modeにしてtarget boneの位置を調節して,edit modeのbonesの位置にpose modeのbonesの位置が一致するようする.
    5. 一致するまで,2~4を繰り返す.
    6. 全てのtarget boneについて5を繰り返す.

    2. IK constraintを設定したboneのpole angleの調整

    当該手順の目的は,IK設定しているboneのpole angleの調整により,edit modeでのbonesの位置(同調している人体objectの形状)にpose modeでのbonesの位置(同期している人体objectの形状)を一致させることである.

    前述で解説した位置の調整とは異なり,ここでいう調整とは,IK設定されているboneの「ねじれ」の調整(pole angleの値の調節)である.例えば,腕の場合でいうと手首のねじれにより手の平が上に向いていたり下を向いていたりすることになる.以下,その調整手順を示した.

    1. 人体 objectとarmature (bones)を表示されていることを確認する.
    2. object modeでboneを選択しedit modeして,各bone(bones)の位置(人体objectの形状)を目に焼き付ける.
    3. pose modeにして,bonesの位置(人体objectの形状)を確認し,目に焼き付けたboneと比較する.
    4. edit modeにしてtarget boneの位置を調節して,edit modeのbonesの位置にpose modeのbonesの位置が一致するようする.
    5. 一致するまで,2~4を繰り返す.
    6. 全てのtarget boneについて5を繰り返す.

    まとめ

    以上の2つの調整により,boneのedit modeとpose modeでのtargt boneとpole boneを除く人体objectに張り付けられたbones及び形状の状態が一致される.

    IKの設定と調整のまとめ

    1. target boneのedit modeでの位置の調整 (pole boneは基本的には手を付けない).
    2. IK constraintを設定したboneのIK > pole angleの値を調節することでねじれの調整.

    IK設定のポイント(注意点)

    以下の注意点は,IK constraintを削除/新規作成に関する注意点を示した.

    1. IK constraintをboneにaddすると,その時の周辺条件でのIK設定となっているようだ.
    2. そのため,IK constraintのtargetとpoleとなるboneを設定したあと,異なるtarget/poleのboneをしおなしても新規にIK constraintをaddしたことにはならない.
    3. そこで,周辺条件が異なっている前提に立つ必要があり,新しくIK constrainを設定するつもりなら,設定していたIK constratintを一度削除する必要がある.
    4. その後,改めてIK constraintをaddする.これは,非常に重要なポイントである.
    5. これを実施しない場合,いつまでも,boneはへんてこな挙動を示し続け時間を消費してしまう.

    以下の注意点は,target/poleのboneとpoll angleの値の調節に関する注意点を示した.

    1. 前提として,armatureは,腰boneをrootとして,上半身および下半身にboneを伸ばしているとする.すなわち,root方向にboneのheadが向いており追加されたboneはtailから伸ばされていることになる.
    2. IK設定の具体例として,膝のboneのheadは膝関節に対応することになる.このboneにIK constrainを設定したあと,脛(すね)のねじれを調整するためにpole angleの値を調節する.
    3. IKのtargetとpoleに指定するそれぞのbone (骨格に関わるboneではなく骨格boneの位置を規定する制御用boneである)は,膝boneのtail側とHead側の両端付近に配置すること.
    4. IKのchain lengthは,2以上の関節を含む長さにしないこと.調節が非常に難しいため.具体的には,2以上を設定してtargtを動かしてposeを作った時に,最初の位置で設定したpole angleでは,ねじれが生じて形状がおかしくなる.
    5. chain lenghtの値は,IKを関節そのもののboneに設定した場合は「1」,もしも,use tailをチェック(制御用boneに膝のtail部が追随する設定)した場合は,1つ増やして「2」を設定する.

    おまけ

    関節に角度制限/方向制限を持たせると,もっとIK constraintが威力を発揮できる.

    角度制限/方向制限には,今回とどうようにbone constraintのLimit Rotaionを関節に設定する.次回以降にLimit Rotation Constraintを解説する.

    以上.

    2026/02/13 KenJin
    2026/03/21 IK設定後の調整,まとめを追記
    2026/03/22 IK設定のポイントを追記
    2026/03/23 おまけ追加