元記事:
Object Hooks
Object Hooks
これはオリジナルのBlenderデザインドキュメントの中で再発見された部分で、ObjectレベルでのMesh、Curve、Surface、Latticeの形状へのアクセスを提供します。または、Hooksとして知られています。
HooksはObjectの機能のひとつで、Objectの'Parent'に似ているものですが、このケースでは一部のVertexのみに限定されます。ひとつのObjectに対し、多くのHooksを好きなだけ作ることができ、そして動かそうとするVertexにそれぞれのHooksを割り当てることができます。Vertex「群」の重複利用も可能で、各HooksにはWeight値が提供されています。
このシステムではMeshのVertexGroupsには(まだ)対応していませんが、代わりにすべでのObjectタイプに共通する方法を提供していることに注意してください。Hooksに格納されているのはVertexのインデックスへの参照で、もしあなたが完全にモデルを作り直すと、存在していたHooksのほとんどを、もう一度割り当て直す必要があります。
後日、HooksのArmatureへのアクセスも着手する予定です。また、Hooksの"Force"へIpoとPythonによるアクセスができるようにする予定です。
既知の問題:(いくつかの)Constraintで、Hooksの変形がすぐに更新されない可能性があります。2.36までに、Blender全般(Armature、Constraint、デフォーマ、階層など)での瞬間かつインタラクティブな更新についてよく調べなければなりません。
Hooksの追加
HooksはVertexもしくはコントロールポイントに関係するため、ほとんどの編集用オプションはMesh、Curve、Surface、LatticeのEditModeで使用することになります。
Vetex群を選択し、[Ctrl]+[H]コマンドでHooksメニューが現れます。
Add, New Empty新しいHooksを追加、そして(親として)新しいEmpty Objectを選択した部分の中央に作成します。
Add, To Selected Object他のObjectが選択(EditMode中では[Ctrl]+右クリック)されていた場合、新しいHooksを作成後、そのObjectにParentされます。
これは特に一つのObjectに多くのHooksをParentした時に便利です。
Hooksの使用
EditMode中、モデリングしやすくするため、Hooksは非表示になります。
ObjectMode時のみ、Hooksを実際に使用できます。現在、階層、Constraint、Ipo、Pathアニメーションを含むすべてのObjectレベルのオプションと移動・回転・拡縮が使用可能です
この画像ではEmptyは移動と拡縮が行われており、「Hooksされた」Cubeの変形が生じています。
また、もしObjectの移動等によってObjectが変形されたくない場合、HooksのParentができます(この画像内のEmptyはCube Objectの子になっています)。
EditMode中のオプション
一度HooksがObject内で作成されていると、[Ctrl]+[H]メニューに追加のオプションが現れます。
Remove...削除するHooksのリストの新しいメニューが現れます。
Reassign...存在するHooksに新しいVertexを追加したい時に使用します。
Select...特定のHooksのVertexを選択します。
Clear Offset...Hooksの親による現在の変形をクリアします。
Hooksパネル
ObjectContext([F7])の"Draw"パネルの後ろにHooks用のボタンがあります。
ここでHooksに新しい名前(デフォルトは親Objectの名前)、もしくは新しい親Object(名前を入力することにより)、ウェイト値の"Force"を設定することができます。
Force複数のHooksが同じVertexに対して作用することがあるため、この方法により一つのHooksへの影響度の重み付けができるようになっています。重み付けの法則は下記のとおりです。
- もしすべての'Force'の合計が1.0未満な場合、残り(1.0-Forceの合計)はオリジナルの位置にとどまるための要素として計算されます。
- もしすべての'Force'の合計が1.0を超えた場合、その割合のみHooksの変形に使用されます。
Falloffもし0でなければ、FalloffはHooksの影響が0になる場所の距離になります。現在、'proportional editing'ツールと互換のスムーズな補間が使用されています。