Amazonで商品を見るセール会場へ

Spineの2本IK|足の固定と届かない場合

IK は、手先や足先の位置を決めると、腕や脚の曲がり方を Spine が自動で計算する仕組みです。

歩くアニメーションで足が床にめり込まないようにするときなどに使います。

  • 作り方:ボーンを1本か2本(親と子)選び、プロパティの「New…」→「IK Constraint」→ ターゲットをクリック
  • 1本IK はボーンがターゲットの方を向き、2本IK は先端がターゲットに届くように2本が曲がる
  • 3本以上のボーンを1つの IK で動かすことはできない
  • 曲がる向きは「Positive」、FK との混ぜ具合は「Mix」で決める

2026年10月3日、現行の公式ガイドとspine-runtimes 4.3のソースを照合しました。

Unity・Spineエディタでの操作再現は含まず、画面の英語名と版ごとの差を分けて説明します。

ここで紹介する機能は Spine Professional だけで使え、Spine Essential では使えません。

Spine のエディタでの再現は含まず、画面の名前は英語版の表記です。

目次

IKコンストレイントを作る

  1. 曲げたいボーンを1本、または親と子の2本を選ぶ
  2. ツリーのプロパティで「New…」→「IK Constraint」を選ぶ
  3. ターゲットにするボーンをクリックする

何もないところをクリックすると、そのボーンの先端にターゲットのボーンが作られ、作ったときにボーンが動かないようになっています。

ターゲットは、IK で動かすボーンの子や孫にはできません。

あとからターゲットを変えるときは、プロパティの Target の鉛筆のアイコンを使います。

1本IKと2本IK

1本IK2本IK
動きボーンがターゲットの方を向く親と子が回転して、子の先端をターゲットに届かせる
使いどころ目線・頭の向き・武器の向き腕・脚
使える設定Mix・Compress・StretchMix・Softness・Stretch・Positive
Spine User Guide「IK constraints」をもとに作成

3本以上のボーンを1つの IK で動かすことは、曲がり方が1つに決まらないため、できません。

設定

設定働き
Mixふつうの回転(FK)と IK の回転を0〜100%で混ぜる
Positive2本IKで、子が正の向き(反時計回り)に曲がる
Softness2本IKだけ。伸び切る直前の動きをゆっくりにする
Compress1本IKだけ。ターゲットが近いとボーンを縮める
Stretchターゲットが遠いとボーンを伸ばす
Uniform縮めたり伸ばしたりするときに、縦横を同じ比率にする
Spine User Guide「IK constraints」をもとに作成

Mix を0と100の間にすると、ターゲットを動かしたときに曲がる向きが急に反転することがあると、公式ガイドに書かれています。

親のボーンに縦横で違う拡大(非一様スケール)があると、Stretch は効きません。

4.3での変更

4.3 のベータの変更履歴には、Uniform を置きかえる IK の scaleY と volume の設定を加えたと書かれています。

ランタイムでも、IkConstraintData.Uniform が ScaleY(none・uniform・volume)に変わりました。

4.3 のエディタで項目の名前がどう表示されるかは、ユーザーガイドでは確かめられませんでした。

足を地面に固定する

公式ガイドは、IK の使い道として、歩くときに足が床にめり込まないようにすることを挙げています。

考え方は、太ももとすねの2本に2本IKを付け、ターゲットのボーンを床の位置に置いてキーを打つ、というものです。

ターゲットを動かさず、2本のボーンが届く範囲で体を動かすと、足先の位置を保つ用途に使えます。届く範囲や後段のコンストレイントも確認します。

足先のボーンの親子の組み方など、細かい手順は公式ガイドには書かれていません。

コンストレイントの順序

コンストレイントは、ツリーに並んだ順に上から計算されます。

後のコンストレイントが同じボーンを計算し直すと、前のコンストレイントの効果が消えるので、順序を合わせる必要があります。

  • 作ったときは、Spine が適当な位置に入れる
  • セットアップモードで、上下にドラッグして順序を変えられる
  • 「Reset」で、全体の順序を自動で並べ直せる

Spine の基本は、Spineの使い方で紹介しています。

2本IKの届く範囲を確認する練習

元の.spineを複製し、親の長さ60・子の長さ40の2本を一直線に置きます。

親の始点を(0, 0)とし、ターゲットはIKで動かすボーンの子孫に入れず、独立したボーンとして作ります。

非一様スケールのない練習状態から始めます。

Mixを100%、Stretchをオフ、Softnessを0にして、ターゲットを(60, 20)へ置きます。

次に(120, 0)へ動かし、足先が届く場合と総延長100を超える場合を比較します。

単位はこの練習用スケルトン内の値です。

Stretchを使わない2本の長さの合計を超える距離では、ターゲットへ届く保証はありません。

ターゲットを固定しても、体の移動で届く範囲を外れた場合は足先の位置が保たれるとは限りません。

練習条件期待する結果切り分け
届く位置で足先を確認ターゲットと足先を比較Positiveを切り替えて曲がる側も見る
総延長を超える位置Stretchオフでは届かないターゲット・体位置・長さを確認
Stretchが効かない2本IKのSoftnessと親のスケールSoftness>0と非一様スケールを分ける
後で足先がずれる後段コンストレイントの影響同じボーンを扱う順序を比較

足の固定とFKへ戻す確認

届く範囲でターゲットを固定し、体を少し上下させて足先を比較します。

Mixを0%へ戻すとFKの回転が使われるため、元の回転キーと位置も確認します。

最後はターゲット、Mix、Positive、Stretch、Softnessとコンストレイントの順序を開始前へ戻します。

2本IKではSoftnessが0より大きいとStretchが適用されず、親の非一様スケールでも制限があります。

4.3のscaleY/volumeの名前と従来ガイドのUniformは、使っている版の表示に合わせて区別します。

練習ファイルと確認済みの範囲

Spine関連の練習入力とC#コードをダウンロード。

2本のC#例は参照・名前・待ち時間の異常系をローカルのテストダブルで検査し、4.3のAPI宣言を一次資料で照合しました。

実際のSpine/Unityコンパイル・描画・スキン・書き出し・変形は未検証です。

コードは4.3用です。

練習の完了は、それぞれ本文の表示・再生・復元を実環境で確認して判断します。

まとめ

  • ボーンを選んで「New…」→「IK Constraint」→ ターゲットをクリック
  • 1本IK は向きを合わせ、2本IK は腕や脚を曲げる。3本以上は不可
  • 曲がる向きは Positive、FK との混ぜ具合は Mix
  • コンストレイントは上から順に計算される

参考:Esoteric Software「IK constraints」「Constraints」、変更履歴(2026年9月29日に確認)。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

3DCGのおすすめ書籍

3DCG用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次