分野別の詳説:参照したマニュアルの主要な仕組み・操作・設定を翻訳・要約・再構成した日本語解説です。全項目の逐語訳ではありません。確認順や例は編集上の補足です。手順から先に読み、必要なときに後半の仕組みの解説へ進めます。

この章の目標:一つの値で表情を動かす。
準備:BasisとSmileを持つメッシュ。

Controlにsmile → Smileへドライバー → ObjectとPathを指定 → 0/0.5/1で確認。成功:入力値とSmileのValueが一致する。注意:smileとSmileの大文字を取り違える
手順と確認点の模式図。図を押すと拡大できます。

実践:目標へ向くオブジェクトを作る

  1. 目標になるEmptyを作り、向かせたいオブジェクトとは別に配置します。
  2. 向かせたい側のConstraintsへDamped Trackなどを追加し、TargetにEmptyを指定します。
  3. Track Axisを選び、オブジェクトのどのローカル方向を向けたいかを合わせます。見た目の前方とローカル軸は必ずしも同じではありません。
  4. 目標を移動し、向きが変わるかを確認します。Track ToやLocked Trackでは上方向や固定軸の設定が異なるため、同名のつまみだけで置き換えません。
  5. 他の制約やアニメーションと併用する場合は、Influenceと座標空間、評価順を確認します。

制約を選ぶための設定表

機能使う場面設定する内容
Copy Location対象の位置へ追従Target、軸、空間、Offset等の方式
Copy Rotation向きの一部または全体を取り込む軸、反転、混合、回転の解釈
Copy Transforms変換をまとめて取り込む参照先、空間、既存変換との混合方式
Limit Rotation / Location可動範囲を制限各軸の最小・最大、制限する座標空間
Damped Track一軸を目標へ向けるTrack AxisとTarget。上方向を固定する他方式とは異なる
Track To向く軸と上方向を扱うTrack・Up軸。方向が平行になる条件に注意する
Child Of親のような影響を切り替える対象、Location・Rotation・Scale、Set Inverse、Influence
Follow Path経路上の位置・向きを制御Curve、軸、Offsetや時間・追従の設定
Transform別の変換値を範囲対応させる入力範囲、出力範囲、どの成分へ割り当てるか
Shrinkwrap物体を別の表面に沿わせるTarget、方式、軸、Offset等

スタックは一般に上から順に計算しますが、IKのように複数ボーンへ作用する例外があります。自分が制約を持つ側か、参照される側かも区別します。Targetを同じ依存経路へ循環させると、値を決められない構成になります。

実践:Child Ofで親の影響を変える

  1. 子側へChild Ofを追加し、Targetを指定します。現在の見た目がずれる場合は、意図した配置を基準にSet Inverseを利用します。
  2. 使わない位置・回転・倍率の軸は無効にします。影響を受ける軸を明示すると、必要な自由度を残せます。
  3. Influenceを0と1で比較します。通常の親子関係と違い、この値へキーを付けられます。
  4. 親を切り替えるアニメーションでは、切り替え時点の配置やInverseを整えます。単に二つのInfluenceを反転すれば必ず飛ばずに切り替わるわけではありません。

実践:表情をシェイプキーで混ぜる

  1. 接続を整えたメッシュで、Object DataのShape KeysへBasisと新しいキーを追加します。
  2. 新しいキーをアクティブにしてEdit Modeへ入り、既存頂点を動かして表情を作ります。頂点の追加・削除で対応を変える工程は、この段階では避けます。
  3. Object Modeへ戻り、Valueを0から1へ変えて、Basisからその形へ変わるかを確認します。
  4. 別のキーも作り、組み合わせたときの形を確認します。相対キーは差分が重なるため、単体では自然でも組み合わせで大きく崩れることがあります。
  5. Valueへキーを入れて動かすか、次のドライバーでコントローラーへ連動させます。Lock Shapeは誤編集を防ぎますが、すべての接続変更操作を遮断するものではありません。

実践:一つの値をドライバーへ渡す

この例ではEmptyのControlに作ったsmileという値で、メッシュのシェイプキーSmileを動かします。先の節でBasisとSmileを作り、Smileの頂点を動かした状態から始めます。

  1. Object ModeでAdd → Empty → Plain Axesを選びます。Outlinerで名前をControlに変更します。Object PropertiesのCustom Propertiesを開き、Newでプロパティを追加します。
  2. 追加したプロパティのEditでProperty Nameをsmile、型をFloat、Defaultと現在値を0、Minを0、Maxを1にします。名前は大文字・小文字を区別します。
  3. メッシュを選び、Object Data PropertiesのShape KeysでSmileを選択します。Valueを右クリックしてAdd Driverを選びます。紫色になったValueを右クリックしてEdit Driver、またはエディターをDrivers Editorへ切り替えます。
  4. Driver TypeをScripted Expressionにし、変数を一つ残して名前をsmile、TypeをSingle Propertyにします。変数のID TypeをObject、IDをControl、Pathを["smile"]にします。Expressionはsmileだけにします。初期作成された別変数がある場合は置き換えます。
  5. Controlを選び、Custom Propertiesのsmileを0、0.5、1へ変えます。メッシュのSmileのValueもそれぞれ同じ数値となり、形が段階的に変われば成功です。操作後は0へ戻し、.blendを保存します。
  6. 反応しない場合は、変数のObject、Pathの引用符、Expressionと変数名、シェイプキーの選択を順に確認します。Smileとsmileは同じ名前ではありません。ドライバーで制御されるValueを手入力しても、次の評価で制御値へ戻ります。

単純式を越えるPythonの評価には実行許可や性能の問題もあります。原典は信頼できるコードを使うよう求めています。複雑な式へする前に、変数の参照と範囲の対応が正しいかを確かめます。

仕組みと用語を調べる

三つの仕組みの役割

コンストレイントはオブジェクトやボーンの位置・回転・スケールを規則で制御します。ドライバーは別のプロパティなどから値を計算して連動させます。シェイプキーは頂点などの形状変化を保持します。似た結果を作れる場合もありますが、何を保存しているかが異なります。

たとえば目線を目標へ向けるなら追跡の制約、スライダーで複数の表情値を連動させるならドライバー、口の形そのものを変えるならシェイプキーが候補です。数値を直接変えたのに結果へ出ない場合は、別の仕組みがその値や見た目を決めていないかを調べます。

制約のスタックとInfluence

コンストレイントはスタックの上から順に評価されます。位置のコピー後に移動を制限する構成と、制限後にコピーする構成では結果が変わります。Influenceは効果の強さで、キーを付けて時間とともに切り替えることもできます。

TargetとOwnerを区別します。Targetは参照する対象、Ownerは制約を持つ対象です。ボーンを参照する場合は、Armatureを指定することに加えてボーン名の指定が必要になる場合があります。対象を選んだつもりでも、空欄や別の骨を参照していれば、期待した結果になりません。

座標空間と見えている変換

World Space、Local Space、Pose Spaceなどは、値をどの座標基準で解釈するかを決めます。同じ数値をコピーしても、親の向きや基準姿勢が異なると、見た目が同じになるとは限りません。オブジェクトのTransform欄の値と、制約を計算した後のVisual Transformも別です。

Apply Visual Transformや制約の適用は、見えている変換を基礎の値へ反映するための操作です。制約を削除することと、現在の見た目を残して制約を適用することは違います。時間に沿う動きを残したい場合は、一時点の適用ではなくベイクを検討します。

よく使う制約

  • Copy Location・Rotation・Scale・Transforms:対象から変換を取り込みます。軸、反転、混合方式、空間を確認します。
  • Limit Location・Rotation・Scale:可動範囲を制限します。制限が働く基準空間を確認します。
  • Track To・Damped Track・Locked Track:特定の軸を目標へ向けます。向く軸と上方向の取り方で結果が変わります。
  • Follow Path・Clamp To:カーブとの関係で配置や移動を制御します。時間や距離の設定も関係します。
  • Child Of:親のような影響を制約で与えます。InverseとInfluenceを確認します。
  • Shrinkwrap・Floor・Transform:表面への追従、床との関係、変換値の対応付けなどに使います。

用途の異なる制約を重ねる前に、単独で何を制御しているかを確認します。循環する参照は依存関係の問題を生みます。

ドライバーの入力と出力

ドライバーは変数、計算方式、結果を目的の値へ変換するFカーブを持ちます。入力には他のプロパティ、変換チャンネル、対象間の距離などを使えます。Drivers Editorの横軸は通常のアニメーションの時間とは異なり、ドライバーの計算値を表します。縦軸は最終的に与える値です。

編集上の例として、一つのカスタムプロパティを0から1へ動かし、それを表情のシェイプキーへ渡す構成が考えられます。複数の表情や制約を同時に動かせますが、参照先のデータパス、型、変数名が正しく必要です。名称変更やデータの差し替え後に動かなくなった場合も、参照から調べます。

式とトラブルの切り分け

単純な算術式はBlender内のネイティブ評価で扱える場合があります。それを越えるPython式は、性能とスクリプト実行許可にも関係します。原典は、出所が不明なコードの実行に注意するよう説明しています。動かないドライバーのために、内容を確認せず自動実行を全面的に有効化することは避けます。

入力変数が期待値か、式が正しいか、Fカーブでさらに値を変えていないか、別のアニメーションや制約と競合していないかを順に見ます。ドライバーで制御される欄へ数値を直接入れても、次の評価で計算値へ戻る場合があります。

相対シェイプキー

シェイプキーは同じ構造に対する形の違いを記録します。Basisを基準に新しいキーを作り、Edit Modeで形を変更すると、その差をValueで混ぜられます。表情、筋肉、関節の補正などに使います。単純なオブジェクトの移動を保存する機能ではありません。

相対キーはBasisまたは指定した参照キーとの差を重ねます。Valueが0なら参照形状、1ならその形状の影響が全て反映されます。範囲を広げれば1を越える増幅や負値による逆方向の変形もできますが、自然な形になるとは限りません。複数キーの差は組み合わされるので、単体だけでなく組み合わせも確認します。

絶対キーと構造の維持

絶対シェイプキーでは、Evaluation Timeに沿って登録した形の間を補間します。表情を独立に混ぜる用途と、形を順番に変化させる用途を区別します。キーを作った後に頂点数や並びを大きく変える工程は、形状の対応へ影響します。

Armature、シェイプキー、モディファイアーを併用する場合は評価の関係と対応条件を確認します。形を直したいのか、骨の動きを直したいのかを分けると、補正を積み重ねすぎずに済みます。仕組みを適用・ベイクする前には、元の制御を持つ.blendを残します。

検証した範囲

最終確認:2026年10月23日。Blender 5.2.2 LTS(macOS / Apple silicon)を背景実行し、次の内容を確認しました。

  • Control["smile"]→Smile.valueを0/0.5/1で評価し一致。

背景実行ではPython APIを使用しています。マウス・キー入力、画面遷移、インストール、各入力機器での操作を通して確認したものではありません。上記にない応用・設定の組み合わせは実行未検証です。

出典と利用条件

この記事で参照したマニュアルの項目:

原著:Blender Documentation Team、Blender 5.2 Manual。底本はBlender 5.2 LTS ManualのEPUB版です。ファイル内の発行日時メタデータは2026年10月19日で、記事の検証日とは別です。原典のライセンス表示に従い、裏庭(Uraniwa)が翻訳・要約・再構成・説明の補足を行いました。この記事の本文・補足・独自の図解と作例画像はCC BY-SA 4.0で公開します。Blender公式による記事・推奨を示すものではありません。原典で適用対象外とされるロゴ・商標・アイコン・ソースコード・Pythonスクリプトなどには、この許諾は適用しません。