Parenting Objects

腕時計のような複雑なオブジェクトをモデル化する場合、個々のパーツを個別のオブジェクトとしてモデル化することを選択することができます。すべてのパーツを1つの物( "時計" )として移動させるために、1つのオブジェクトを他のすべてのパーツの親として指定することができます。これらの他のパーツはその になり、親の移動、回転、またはスケールはどれも、その子にも反映されます。

ほとんどの生物学的生命体とは異なり、Blenderの各オブジェクトやボーンには最大で1つの親を持ちます。オブジェクトにすでに親オブジェクトを持っていて、別の親を指定した場合、Blenderは以前の親子関係を削除します。この章で複数の "親" を使用する場合は、親の階層を言及しています。つまり、オブジェクトの親、祖父母、曽祖父母などです。

Make Parent

Reference

Mode

Object Mode

Menu

Object ‣ Parent

ショートカットキー

Ctrl-P

オブジェクトの親子化は、少なくとも2つのオブジェクトを選択し(最初に子オブジェクトを選択し、最後に親オブジェクトを選択します)、 Ctrl-P を押します。 Set Parent To メニューがポップアップ表示され、いくつかの可能な異なる親子関係のタイプから1つ選択します。 Set Parent To のエントリの1つを選択すると、子/子たちと親の関係が作成されます。選択したオブジェクトの アクティブなオブジェクト が '親' に設定され、残りのオブジェクトは '兄弟' になります。

Set Parent To ポップアップメニューはコンテキストに依存します。つまり、 Ctrl-P ショートカットを使用するときに選択されていたオブジェクトに応じて、表示されるエントリの数が変わる可能性があります。

親を移動、回転、または、スケールすると、通常、子/子たちも変換されます。ただし、親の子/子たちを変換しても、親には影響しません。言い換えれば、影響の方向は親から子へであり、子から親へではありません。

ちなみに

子オブジェクトは、原点のクリア によって、親の位置に "移動" できます。

Type

Blenderは、以下にリストされている多くの異なるタイプの親子関係をサポートしています。選択したオブジェクトを親子化する以外に、一部のタイプは、親をターゲットオブジェクトとして、あるいは、親プロパティ、つまり パス追従 をアクティブにして、モディファイアーまたはコンストレイントを子オブジェクトに追加します。

Keep Transform

オブジェクトの現在のワールド変換(つまり、ワールド内の絶対位置、回転、およびスケール)が計算されます。新しい親が設定され、次に、新しい親を設定した後でも、オブジェクトが以前のワールド変換の維持するように、 Parent Inverse 行列が計算されます。

ヒント

Outlinerの使用

グループ内の親子関係を確認する別の方法があります。それは、 Outliner エディターOutliner ビューを使用することです。

Parent Inverse

Blenderは子オブジェクトを動かさずに親を割り当てることができます。これは、親と子の 変換 の間にある、 親との逆 行列と呼ばれる隠し行列を通して実現されます。

Ctrl-P でオブジェクトが親子になる場合、親との逆行列が更新されます。Set Parentメニューの選択に応じて、オブジェクトのローカルの位置、回転、およびスケールも更新されます。詳細については、 Object Parent を参照してください。

親との逆行列は、 Clear Parent Inverse を使用してクリアできます。

注釈

オブジェクトのPropertiesパネルで親を設定すると、親との逆行列は常にリセットされます。これにより、オブジェクトの位置が予期せずジャンプすることがあります。これを回避するには、 Ctrl-P を使用して新しい親を設定します。

Object Parent

Object Parentは、Blenderがサポートする親子関係で、最も一般的な形式です。選択されたオブジェクトを取得し、 アクティブなオブジェクト を選択されたすべてのオブジェクトの親オブジェクトにします。各子オブジェクトは、親の変換を継承します。任意のタイプを親オブジェクトにすることができます。

オブジェクトに既存の親がある場合、最初にそれがクリアされます。これにより、親の影響を受けずに、オブジェクトが独自の位置、回転、およびスケールに移動します。

オブジェクトの親を設定できるオペレーターは3つあります。これらは、 親との逆行列 とオブジェクトのローカル Transform を計算する方法が異なります。

例: Object Parent (Keep Transform)

Keep Transform を使用した Object Parent は、以前の親オブジェクトから適用された以前の変換を維持します。

"EmptyA" と "EmptyB" という名前の2つの空のオブジェクトとMonkeyオブジェクトの3つのオブジェクトで構成されるシーンがあるとします。図 親子関係の無いシーン。 は、親子関係がアクティブになっていない3つのオブジェクトを示しています。

../../../_images/scene-layout_object_editing_parent_keep-transform-a.png

親子関係の無いシーン。

LMB クリックでMonkeyオブジェクトを選択し、次に Shift-LMB で "EmptyA" オブジェクトをクリックし、 Ctrl-P を押して、最後に Set Parent To ポップアップメニューから Object を選択します。これにより、 "EmptyA" オブジェクトがMonkeyオブジェクトの親オブジェクトになります。 "EmptyA"のみを選択して回転/スケール/移動すると、Monkeyオブジェクトもそれぞれ変更されます。

"EmptyA" オブジェクトをスケールして、Monkeyが小さくなり、左に少し移動します。

../../../_images/scene-layout_object_editing_parent_keep-transform-b.png

サルは "EmptyA" の子オブジェクト。

LMB クリックでMonkeyオブジェクトのみを選択し、次に Shift-LMB で "EmptyB" オブジェクトをクリックし、 Ctrl-P を押して、最後に Set Parent To ポップアップメニューから Object を選択します。これにより、 "EmptyB" オブジェクトがMonkeyオブジェクトの親オブジェクトになります。サルの親を変更すると、サルのスケールが変更されたことに注意してください。

../../../_images/scene-layout_object_editing_parent_keep-transform-c.png

サルは "EmptyB" の子オブジェクト。

これは、Monkeyオブジェクトのスケールが直接変更されたことがないために発生します。変更は、スケールが変更された "EmptyA" の子であるために発生しました。サルの親を "EmptyB" に変更すると、 "EmptyB" のスケールが変更されていないため、スケールの間接的な変更が削除されました。

これは多くの場合必須の動作ですが、親オブジェクトを変更した場合、子オブジェクトが古い親オブジェクトから取得した以前の変換を保持することも役立つ場合があります。Monkeyの親オブジェクトを "EmptyA" から "EmptyB" に変更するときに、親子関係タイプ Object を選択し、 Keep Transform を有効にした場合、Monkeyは、新しい親 "EmptyB" に割り当てられたときに古い親 "EmptyA" から取得したスケール情報を保持します。

../../../_images/scene-layout_object_editing_parent_keep-transform-d.png

Keep Transform を伴うObject Parent

上記の説明に沿ってフォローしたい場合は、ここにBlendファイルがあります:

File:Parent_-_Object_(Keep_Transform)_(Demo_File).blend.

Bone Parent

ボーンの親子化を使用すると、アーマチュア内の特定のボーンを別のオブジェクトの親オブジェクトにすることができます。これは、アーマチュアを変換するときに、特定のボーンが移動するものの子オブジェクトである場合にのみ、子オブジェクトが移動することを意味します。

../../../_images/scene-layout_object_editing_parent_bone1.png

4つのボーンを持つアーマチュアの3枚の画像。

4つのボーンを持つアーマチュアの3枚の画像。 では、 2番目のボーンは子オブジェクト立方体の親ボーンです。立方体は、1番目または2番目のボーンが変換される場合にのみ変換されます。 3番目と4番目のボーンを変更しても、円錐には影響がないことに注意してください。

ボーンの親子化を使用するには、最初に特定のアーマチュアボーンに親子化するすべての子オブジェクトを選択し、次に Shift-LMB でアーマチュアオブジェクトを選択して、 Pose Mode に切り替え、次に親ボーンにしたい特定のボーンを LMB で選択します。 Ctrl-P を押して、 Set Parent To ポップアップメニューからboneを選択します。

Pose Modeでそのボーンを変換すると、子オブジェクトも変換されます。

Relative Parenting

ボーンの相対的な親子化は、ボーンごとに切り替えることができるオプションです。これは、1つの違いを除いて、ボーンの親子化と同じように機能します。

With bone parenting if you have parented a bone to some child objects and you select that bone and switch it into Edit Mode and then move that bone; When you switch back into Pose Mode on that bone, the child object which is parented to that bone will snap back to the location of the bone in Pose Mode.

../../../_images/scene-layout_object_editing_parent_bone2.png

ボーンの親子化を使用して、子オブジェクト立方体が親子化されている単一のアーマチュアボーン。

立方体に対して相対的な親のボーンを持つ単一のボーン。 では、1番目の画像は、Edit Modeでボーンを移動する前の、立方体とアーマチュアの位置を示しています。 2番目の画像は、ボーンがEdit Modeで選択され、移動され、Pose Modeに戻った後の、立方体とアーマチュアの位置を示しています。子オブジェクトがポーズボーンの新しい位置に移動することに注意してください。

ボーンの相対的な親子化は異なる働きをします。Edit Modeで親ボーンを移動し、Pose Modeに戻ると、子オブジェクトはポーズボーンの新しい位置に移動しません。

../../../_images/scene-layout_object_editing_parent_bone3.png

立方体に対して相対的な親のボーンを持つ単一のボーン。

立方体に対して相対的な親のボーンを持つ単一のボーン。 では、1番目の画像は、Edit Modeでボーンを移動する前の、立方体とアーマチュアの位置を示しています。 "2番目の画像は、ボーンがEdit Modeで選択され、移動され、Pose Modeに戻った後の、立方体とアーマチュアの位置を示しています。子オブジェクトがポーズボーンの新しい位置に移動しないことに注意してください。

注釈

Ctrl-P を使用して親を設定する場合、"Bone" または "Bone Relative" を選択すると、ボーンの "Relative Parenting" オプションがそれぞれクリアまたはセットされます。 "Relative Parenting" はボーンごとに設定されるオプションであるため、これは一度にそのボーンのすべての子オブジェクトに影響します。

Vertex Parent

カーブ、サーフェス、メッシュ、ラティス タイプのオブジェクトの場合、その頂点またはポイントの1つを他のオブジェクトの親として使用する可能性があります。単一の頂点または3つの頂点のグループにオブジェクトを親子化することもできます。そうすれば、親メッシュが変形したときに子/子たちが移動します。

Edit Modeで、Vertex Parent

Object Mode で、子/子たちを選択してから、親オブジェクトを選択します。TabEdit Mode に移り、親オブジェクトとして、単一のポイントを定義する1つの頂点を選択するか、領域を定義する3つの頂点を選択します(3つの頂点は完全な面を形成する必要はありません。親オブジェクトの3つの任意の頂点にすることができます)、そして Ctrl-P を押して確定します。

この点で、単一の頂点が選択された場合、関係/親子関係ラインが頂点から子/子たちに引かれます。3つの頂点が選択された場合、関係/親子関係ラインは、(親オブジェクトの)3つのポイントの平均化された中心から子/子たちに引かれます。これで、親メッシュが変形し、選択した親頂点/頂点たちが移動すると、子/子たちも移動します。

Object Modeで、Vertex Parent

Vertex parentはObject Modeから実行できます。これは通常のオブジェクトの親子化と同様に実行され、Object Modeで Ctrl-P を押して、Vertex または Vertex (Triangle) を選択します。

最も近い頂点が各オブジェクトから使用されます。これは通常、希望したものです。

Vertex Parentの例。
../../../_images/scene-layout_object_editing_parent_object-mode-example-1.png

小さな立方体はそれぞれ、Parentコンテキストメニューの "Vertex (Triangle)" を使用して、ICO球上の近い3頂点に自動的に親子化できます。

../../../_images/scene-layout_object_editing_parent_object-mode-example-2.png

Edit Modeでオブジェクトの形状変更を行うと、各立方体はそれぞれ親の頂点をたどることになります。

../../../_images/scene-layout_object_editing_parent_object-mode-example-3.png

Object Modeで、ICO球をスケールすると、子立方体も期待どおりにスケールされます。

Parentコンテキストメニュー項目は、ユーザーがたくさんの頂点の親子関係を迅速に設定できることを意味し、各親子頂点関係を個別に確立するという面倒な作業を回避できます。

注釈

実際に、これは一種の "逆" hook です。

Make Parent without Inverse

Reference

Mode

Object Mode

Menu

Object ‣ Parent ‣ Make Parent without Inverse

これにより、親がセットされ、次に 親との逆 行列とオブジェクトのローカル位置がリセットされます。その結果、オブジェクトは親の位置に移動しますが、回転とスケールは維持されます。

Clear Parent

Reference

Mode

Object Mode

Menu

Object ‣ Parent

ショートカットキー

Alt-P

Alt-P を使用して親子関係を 削除 できます。

Clear Parent

グループ内の親が選択されている場合、何も実行されません。1つまたは複数の子が選択されている場合、それらは親から切り離されるか、解放され、 の位置、回転、サイズに戻ります。

Clear and Keep Transformation

子たちを親から解放し、親から与えられた位置、回転、サイズを 維持 します。

ここで適用される可能性のある Non-Uniform Scale を参照してください。

Clear Parent Inverse

階層的な親子関係を削除する代わりに、選択したオブジェクトから Parent Inverse 行列がクリアされます。空行列の場合、子の位置、回転、およびスケールのプロパティは、親の座標空間で解釈されます。

Known Limitations

Non-Uniform Scale

子に対して不均一なスケールと回転を持つ親は、 せん断 効果を引き起こす可能性があります。

これは親子化によってサポートされていますが、位置、スケール、および回転で表すことができないため、親子関係がクリアされるとせん断は失われます。

Clear and Keep Transformation でオブジェクトを移動する場合、多くの場合、不均一なスケールが原因です。