Doc:JA/2.6/Manual/Constraints
拘束
概要
拘束は、オブジェクトの機能、つまりオブジェクトの transform properties (位置、回転、スケール)を、様々なやり方でコントロールするものです。 実際、拘束はある意味オブジェクトにおいて モディファイアと対をなすもので、オブジェクト データの上で動作します (メッシュ、カーブなど)。
すべての拘束は、基本的な 共通インターフェイスを共有しており、ここにもまたモディファイアと多くの類似点があります。
拘束の使用
拘束は静的な場面で非常に有用かもしれませんが (それらはオブジェクトの位置/回転/スケールといったことを自動的に行なって手助けしてくれる)、もともとアニメーションのために設計されたもので、絶対位置 (すなわちグローバル空間)、または他のオブジェクトとの相対位置において、オブジェクトの自由を、制限/制御できるようにしてくれます。
また拘束は、内部的に4x4の変換行列をのみを使用して処理を行うことに注意してください。 特定の拘束を回転や拡大縮小の調整に使用する場合、この情報は ボーン または オブジェクトの設定からではなく、行列から導き出されます。 特に不均一な回転や負のスケーリングを組み合わせると、予期しない動作につながるおそれがあります。
ボーンの拘束
最後に、Blenderの偉大なリギング機能があります: ポーズ モードでは、アーマチュアのそれぞれのボーンは、標準的なオブジェクトのように振る舞い、それゆえ、拘束することができます。 ほとんどの拘束は、オブジェクトとボーンの両方でうまく動作しますが、いくつかの例外が存在し、関連する拘束のページに記載されています。
さらに詳しく:
使用可能な拘束
拘束にはいくつかの種類があります。 3つの系統にそれらを分類することができます:
owner オブジェクトに働く拘束もあれば、2番目のオブジェクトを必要とするものもあり (target) 、時には特殊なタイプもあります (例えば curve)。 この場合、ターゲットにされる拘束は、オーナーと標的オブジェクトの間に描かれるダークブルーの破線として3Dビューに表示されます。
Transform Constraints
これらの拘束は、そのownerのtransformプロパティを直接制御/制限します。そのターゲットのプロパティに関して絶対的か相対的かに関わらず。
Copy Location | ターゲットの位置 (with an optional offset) をownerへコピーし、両方の動きが一緒になるようにします。 |
Copy Rotation | ターゲットの回転 (with an optional offset) をownerへコピーし、両方が一緒に回転するようにします。 |
Copy Scale | ターゲットのスケールを (with an optional offset) をownerにコピーし、両方のスケールが一緒になるようにします。 |
Limit Distance | ownerの位置を制限し、ターゲットから近く/遠く /正確に指定された距離になるようにします。 |
Limit Location | ownerの位置を、与えられた範囲内に制限します。 |
Limit Rotation | ownerの回転を、与えられた範囲内に制限します。 |
Limit Scale | ownerのスケールを、与えられた範囲内に制限します。 |
Transformation | ターゲットのプロパティ(位置、回転またはスケール)を使用して、ownerのプロパティ(同じまたは別の)を制御します。 |
Maintain Volume | ボーンまたはオブジェクトの体積を一定にします。 |
Tracking Constraints
これらの拘束は、さまざまな方法で、ownerのプロパティを調整し、 ターゲットを “指す” ようにしたり “ついていく” ようにさせます。
Clamp To | owner を、与えられた曲線ターゲットへ留めつけます。 |
Damped Track | |
Inverse Kinematics | ボーンのみ。 ターゲットによって制御されるボーンのチェーンを作成します。制御には逆運動学を使用します。 |
Locked Track | 所有者は、与えられたターゲットに追跡されますが、与えられた軸の向きでロックされます。 |
Spline IK | |
Stretch To | 指定したターゲットにownerを伸ばす。 |
Track To | ownerは、与えられたターゲットに追跡されます。 |
Relationship Constraints
これらは “その他” の拘束です。
Action | owner は、ターゲット (driver)によって制御されるアクションを実行します。 |
Child Of | 別のオブジェクトへの親の影響を、選択的に適用できるようにします。 |
Floor | ターゲットの位置 (および必要に応じて回転) を使用して “壁” や “床” を定義し、ownerが通り抜けられないようにます。 |
Follow Path | owner は、曲線のターゲットに沿って移動する。 |
Pivot | |
Rigid Body Joint | owner と “target”(子オブジェクト)の間に剛体関節 (ヒンジのような…) を作成します。 |
Script | Pythonスクリプトを拘束として使用します。 |
Shrinkwrap | ownerの位置をターゲットの 表面 (among other options) に制限します。 |