関連記事
Houdini20.5 リグ用のスケルトンを準備するパート1
Houdini20.5 リグ用のスケルトンを準備するパート2
ここではガイドスケルトンにジョイントを追加し、Lookatリグを作成します。
ガイドスケルトンへの追加ジョイントの追加
ガイドスケルトンに追加のジョイントを追加することができます。これらは、後でリグ上にコントロールを作成するための参照として使用されます。この例では、追加されたジョイントはlookat Rig Componentで使用されます。
ガイドスケルトンにlookatジョイントを追加する
Rig Attribute VOP SOPを使用して、lookatジョイントをガイドスケルトンに追加します。
- ここでもエレクトラのテストモデルから始めます。
- Rig Attribute VOPを追加します。
- 左のツールバーで「Show Handlw」をクリックするか、ビューポートにカーソルを合わせてEnterキーを押すことで、Rig Attribute VOPビューワーステートに入ります。
- ジョイントのnameアトリビュートをビューポートで表示します。
- Rig Attribute VOPのNode Infoを表示
- nameをオンに設定
- もしビューポートに何も表示されない場合、Visualizationアイオンを右クリック
- name Point Attributeのペンマークをクリックしオプションを開きます
- オプションウィンドウでTypeをMarkerに設定
- nameアトリビュートがビューポートに表示されます
- headジョイントの位置を確認します。
- Rig Attribute VOPのNode Infoを表示
- headジョイントをクリックします。
- 上にhead(testgeometry_electra)と表示されるので、上のアイコンをクリック&ドラッグしてネットワークビューへ
-
Get Point Transform VOPを自動的に作成します。
※Set Point Transform VOPではなく、Get Point Transform VOPであることを確認
このheadジョイントは、lookatジョイントを作成するための参照として使用されます。
-
Add Joint VOPで、Nameを
lookat_locator
に設定します。
-
Offset Transform VOPを追加し、Add Jointのxformと接続します
- Offset TransformのTranslateパラメータを調整して、lookatジョイントの位置を設定します。
- lookatジョイントをheadジョイントに親子関係で接続します。
-
Get Point Transform VOPのptnum出力をAdd Joint VOPのparent入力に接続します。
-
Get Point Transform VOPのptnum出力をAdd Joint VOPのparent入力に接続します。
lookatコントロールを作成する
次に、lookatジョイントの位置にコントロールを作成します。
- Pack Folder SOP を追加し以下のように設定します:
- 1番目の入力は Electra のスキンです。Name(名前)=
Base
、Type(タイプ)=shp
に設定します。 - 2番目の入力は Electra の基本スケルトンです。Name(名前)=
Base
、Type(タイプ)=skel
に設定します。 - 3番目の入力はガイドスケルトンです。Name(名前)=
Guides
、Type(タイプ)=skel
に設定します。
- 1番目の入力は Electra のスキンです。Name(名前)=
- APEX Autorig Component SOP を追加し以下のように設定します:
-
Component Source(コンポーネントソース)を fktransform に設定します。
-
Source(ソース)タブで、skeleton(スケルトン)を
Guides.skel
に設定します。 - ルートジョイントと、ヘッドジョイントの回転コンポーネントを昇格させます。Controls(コントロール)タブで:
-
tpromotegroup を
root
に設定します。 -
rpromotegroup を
root head
に設定します。
-
tpromotegroup を
-
Component Source(コンポーネントソース)を fktransform に設定します。
- APEX Autorig Component SOP を追加し、Component Source(コンポーネントソース)を bonedeform に設定します。
- lookatジョイントのコントロールを作成します。
- APEX Autorig Component SOP を追加し、以下のように設定します。
-
Component Source(コンポーネントソース)を transformdriver に設定します。
新しく出てきたtransformdriver コンポーネントは、リグ内で TransformObject ノードを作成し、親子関係を設定、コンストレインすることができる多目的なコンポーネントです。
-
Settings(設定)タブで、use_t、use_r、use_s をオフにします。
このオプションをオフにすると、ドライバーによって被駆動オブジェクトの移動、回転が影響を受けないようになります。
-
Driven(駆動)タブで、driventransforms パラメータをクリアします。
-
Control(コントロール)タブで:
-
driver を
lookat_ctrl
に設定します。これはlookatコントロールの名前です。 -
driverguide を
lookat_locator
に設定します。これはlookatコントロールを配置する位置です。 -
driverparent を
root
に設定します。これによりlookatコントロールがルートジョイントの子になります。
-
driver を
-
Shape(形状)タブで:
-
shape を
ball
に設定します。 - 形状の scale(スケール)を増加させます。
-
shape を
lookatコンストレインを作成する
create_lookat_constraint APEX Autorig Component SOPでの設定を追加します。
- APEX Autorig Componentを追加します。
-
Component Sourceを
lookat
に設定します。 -
Settingsタブで、
updir
を(0, 0, -0.3)
に設定します。これにより、アップベクトルがヘッドジョイントの上に配置されます。 -
Drivenタブにて以下の設定を行います。
-
drivenを
head
に設定します。 -
driverを
head_ctrl
に設定します。これは、lookatコンポーネントによって作成されたコントロールの名前で、駆動されるジョイントを移動させることができます。 -
targetを
lookat_ctrl
に設定します。 -
upを
head_up
に設定します。これはアップ位置用のコントロールの名前です。 -
useupをオンにします。
-
これで設定が完了しました。
lookat_ctrlを移動すると、エレクトラの顔がlookatの方を向くようになります。