インバースキネマティクス
このチュートリアルでは、PixelOver でのインバースキネマティクス(IK)の使い方を説明します。
ボーンチェーンの作成、画像のアタッチ、IK 制約の設定、そしてターゲット(および任意でポールターゲット)を使ったチェーンの制御方法を学びます。
以下は、PixelOver で IK 設定アニメーションを作る方法の動画例です。
Hey, let's review another #PixelOver functionality, inverse kinematics ! Used to animate bones by moving the chain target.https://t.co/FjZM9FyuZi #GodotEngine #madewithgodot #indiedev #pixelart #gamedev pic.twitter.com/n0FEGmJp6l
— Deakcor (@deakcor) November 28, 2022
インバースキネマティクスとは?
インバースキネマティクス(IK)を使うと、ターゲットを動かすことでボーンチェーンを制御できます。
各ボーンを手動で回転させる代わりに、チェーンが自動的に回転を解いて、チェーンの端がターゲットを追うようにします。
IK は次に最適です。
- 腕と脚
- しっぽとロープ
- 触手
- すばやいポージングとアニメーションが必要なあらゆるリグ
IK と初期状態 / ポーズのワークフロー
インバースキネマティクスはポーズモードでのみアクティブです。
- ポーズモードでは、IK 制約が有効で、チェーンはターゲットを追います。
- 初期状態モードでは、IK 制約が無効です。このモードは、IK 解決なしでボーンの既定配置を設定するために使います。
これにより、初期状態モードで清潔なリグを構築し、ポーズモードで安全にアニメーションできます。
1. ボーンチェーンを作成する(そして画像をアタッチする)
ボーンを作成する
- ボーンツールを選択します
- ビューでクリックして最初のボーンを作成します
- 再びクリックして、次のボーンを子として作成します
- 完全なチェーンになるまで繰り返します
典型的なチェーンは次のようになります。
- 上腕 → 前腕 → 手
または - 太もも → すね → 足
ヒント
チェーンはシンプルに保ちましょう。ほとんどの場合、手足には 2 〜 3 本のボーンで十分です。
画像をチェーンにアタッチする
ピクセルアートのキャラクターをアニメーションするには、通常、画像パーツをボーンにアタッチするワークフローを使います。
- 画像をインポートします(または描画ワークフローでキャラクターをパーツに分割します)
- シーンツリーで、各画像を、それを動かすべきボーンの下に配置します
(切り取り/貼り付け、またはドラッグ&ドロップで)
構造の例:
- ボーン_上腕
- 画像_上腕
- ボーン_前腕
- 画像_前腕
- ボーン_手
- 画像_手
情報
画像をボーンに親子付けすると、画像が自動的にボーンのトランスフォームに追従します。
2. IK 制約を追加する(チェーンの最初のボーンに)
IK はチェーンのルートボーン(最初のボーン)に適用します。
- チェーンの最初のボーンを選択します
- プロパティパネルを確認します
- 制約セクションで IK 制約を設定します
3. IK ターゲットを作成または選択する
IK ターゲットは、チェーンが到達しようとするオブジェクトです。
ターゲットを作成する
一般的な選択肢は 2 つあります。
- 専用の IK ターゲットオブジェクトを作成
- 既存のオブジェクトをターゲットとして再利用
作成したら、IK 制約でターゲットとして割り当てます。
ターゲットのベストプラクティス
清潔なリグのために、次を強く推奨します。
- ターゲットの名前を明確に変更する
例:IK_Hand_Target、IK_Foot_Target - 長さを
0pxに設定する(コントロールポイントのように振る舞わせるため)
これにより、ターゲットの管理が容易になり、見えるボーンセグメントのように振る舞うのを防ぎます。
ヒント
ターゲットは変形器ではなくコントローラーとして意図されています。0px に保つと、正確に配置しやすくなります。
4. 角度制約を設定する
角度制約は、チェーンがどのように曲がるべきかを強制します。
これは次に便利です。
- 不自然な曲がりを防ぐ
- 手足を正しい方向に曲げさせる
- アニメーション中にポーズを安定させる
正と負の角度制約
リグの向きによって、チェーンは次のように曲がる必要がある場合があります。
- 時計回り
- 反時計回り
そのため、制約は正または負の角度範囲に設定できます。
使用例:
- ひじは一方向のみ曲がるべき(後ろには曲がらない)
- ひざは前にのみ曲がるべき
ヒント
チェーンが間違った方向に曲がる場合は、角度制約の符号を切り替えてみてください(正 ↔ 負)。
5.(任意)より良い制御のためにポールターゲットを追加する
ポールターゲットは、IK チェーンの平面を制御するのに役立ち、曲がる方向をより安定して予測可能にします。
ポールターゲットは特に次に便利です。
- 2D のひじとひざ
- チェーンが予測不能にねじれる可能性がある 3D リグ
- 角度制約が利用できない、または不十分な設定
ポールターゲットの使い方
- 新しいターゲットオブジェクトを作成します(または既存のものを再利用します)
- 名前を明確に変更します
例:IK_Elbow_Pole、IK_Knee_Pole - IK 制約でポールターゲットとして割り当てます
- ポールターゲットを動かして、チェーンの曲がり方を制御します
シンプルなルール:
- チェーンはポールターゲットの方向に曲がります
ヒント
ポールターゲットは手足の少し横に配置しましょう(IK ターゲットの真上ではなく)。そうすればソルバーに明確な曲がり方向が伝わります。
警告
2D では、ポールターゲットと反対方向に角度制約を使うのは避けてください。予期しない挙動を引き起こす可能性があります。 ポールターゲットを使う場合は、角度制約をフリーに設定するか、ポールの方向と競合しないようにするのが通常は良いです。
まとめ
PixelOver で IK を設定するには:
- ボーンチェーンを作成
- 画像をボーンにアタッチ(シーンツリーで親子付け)
- 最初のボーンに IK 制約を追加
- ターゲットを作成して割り当て(名前を変更し、長さを
0pxに設定) - 角度制約で曲がる方向を制御(正または負)
- 任意で、より安定して精密な制御のためにポールターゲットを追加(特に 3D で)
さらに進むには
IK を設定したら、次のことができます。
- アニメーションでターゲットをアニメーション
- IK をキーフレームやインポートしたアニメーションと組み合わせる
- 複数の IK チェーン(腕 + 脚)で完全なキャラクターリグを構築