Doc:JA/2.6/Manual/Constraints/Relationship/Action
Action Constraint
Description
Action 拘束は非常に強力なものですが、理解するのが少し難しいです。 基本的には、アクションをオーナーにマップすることができ、ターゲットのいずれかのtransformプロパティを使用して、オーナーをアクションのどこに (もしくは、いつ) 置くのかを制御します。
ええ、わかっています、これではさっぱりでしょう。 まず第一に、Blenderにおける action とは何であるか知っておいたほうがよいでしょう、他にもリンクをたどって… そしてそれらを知っている人に向けてですが、 Action 拘束の基本的な考え方は、 Ipo driversの背後にあるものと非常によく似ていて、ただし前者はアクション全体使用し(すなわち、同じタイプのIPOカーブの束)、後者の場合はその “owner”のIpoカーブを単独でコントロールします…
拘束が Mesh のアクションタイプを受諾していても、実際に作用するのは Object, Pose および Constraint タイプのみであって、拘束が影響を与えるのはメッシュの形状ではなく オブジェクトかボーンの変換プロパティのみだということに注意してください…
例として、 Object のアクションを定義するときのことを考えてみましょう (任意のオブジェクトに割り当てることができます、またはオブジェクトがまったく無くても)。そして Action 拘束を介してオーナーにそれをマッピングして、ターゲットを移動がX軸に沿った範囲で [0.0, 2.0]
になるようにし、 アクションの中身をオーナーにマップして、 [0, 100]
フレームの範囲に指定します。 これは、ターゲットのXプロパティが 0.0の場合、オーナーはリンクされたアクションのフレーム 0 にいる場合と同様になることを意味します。ターゲットのXプロパティが 1.0だと、オーナーはリンクされたアクションのフレーム 50 にいる場合と同様になります, etc.
オプション
- Target
- この拘束は、一つのターゲットを使用し、それを持っていないときは機能しません (赤の状態) 。
- Action
- 使用するアクションの名前を選択します。
- たとえ赤の状態ではないかもしれなくても (UI リフレッシュの問題…)、このフィールドに有効なアクションが含まれていない場合、この拘束は明らかに機能しなくなります。
- Transfrom Channel
- このドロップダウンリストでは、どのターゲットからの変換プロパティ (そのいずれかの軸に沿った /周りの位置、回転またはスケール) を “action driver”として使用するかをコントロールします。
- Action Length Start/End
- マッピングされるアクションの開始および終了フレーム
- 注意事項:
- これらの値は厳密に正でなければなりません。
- デフォルトでは、両方の値は 0に設定され、それによりマッピングは無効になっています (それによりマッピングは無効になっています(すなわち、オーナーは、リンクされているアクションのフレーム 0 で定義されたプロパティを取得します…).
- Target Range Min/Max
- 駆動変換プロパティの上限と下限の値。
- デフォルトでは、両方の値が 0.0に設定されています
- 残念ながら、ここで再び拘束の限界にぶつかります:
- 回転プロパティを “driver”として使用する場合、これらの値は
[-180.0°, 180.0°[
の範囲に“戻されてマップされます” 。 - スケールプロパティを “driver”として使用する場合、これらの値はnullまたは正の値に制限されます。
- 回転プロパティを “driver”として使用する場合、これらの値は
- Convert
- この拘束は、そのオーナーの変形プロパティをどの空間で評価するのか選択できるようにします。
Notes
- リンクされたアクションが位置プロパティのいくつかに影響を与える場合、オーナーの既存の位置が、この拘束の評価結果に追加されます (正確には Copy Location constraintの Offsetボタンが有効になっているとき…).
- リンクされたアクションがスケールプロパティのいくつかに影響を与える場合、オーナーの既存のスケールは、この拘束を評価した結果と乗算されます。
- リンクされたアクションが回転プロパティのいくつかに影響を与える場合、オーナーの既存の回転は、この拘束を評価した結果で上書きされます。
- 通常とは異なり、 Start の値を End のものより高くでき、また Min の値を Max のものより高くできます: これはアクションのマッピングを裏返しにします (すなわち、逆 “再生” します…)。両方の設定を逆さまにしない限り、明らかに!
- Constraint actionを使用する場合、アクションに適用されるのがどのオーナーの拘束かを決定するときに使用されるのは拘束 チャンネルの名前です。 例えば、 “trackto_empt1”という名前の拘束チャネルを持っている場合、そのキーの 与える影響 および/ または Head/Tail の値 (キーにできるのは一方のみ) は “trackto_empt1”という名前の拘束のいずれかのオーナーにマップされます。
- 同様に、Pose アクションを使用する場合 (明らかに、ボーンを拘束する際にのみ意味を持ち機能するものです!)、 どのボーンの チャンネルの名前 をアクションから使用するかをボーンの名前を使用して決定します (例えば、拘束されているボーンに “arm”という名前が付けられている場合、それが使用され、 “arm”という名前のボーンチャネルのアクションだけが使用されます…)。 残念ながら、アーマチュアオブジェクト全体の Pose アクションを使用している場合 (一度のアクションでキーのついているすべてのボーンに影響する) 、動作しません…
- また pose library feature を Pose action datablockの作成/編集に使用できることにも注目しましょう… このような状況ではちょうど、1フレームごとにポーズがあることを忘れずに!