APEX Autorig Builder SOP は、ビューポートを通して、あらかじめ用意されたリグコンポーネントやカスタムのリグコンポーネントをキャラクターに対してインタラクティブに適用し、設定できるようにします。これによりキャラクターのセットアップ工程がより直感的になり、キャラクター用の完全なリグを素早く構築する方法を提供します。
APEX Autorig Builder SOP と APEX Autorig Component SOP は、いずれもキャラクターにリグ機能を追加するために使用できますが、次のような違いがあります。
APEX Autorig Builder SOP
1 つのリグに対して複数のリグコンポーネントを追加できます。
ビューポート内でインタラクティブにリグ機能を追加できます。
ビューポート上でインタラクティブに変更できるのは、リグコンポーネントのパラメータの一部(限定的なサブセット)のみです。
APEX Autorig Component SOP
1 回の使用で追加できるリグコンポーネントは 1 つです。
カスタムのリグコンポーネントを作成するために使用できます。
パラメータエディタから、そのリグコンポーネントが持つパラメータ一式(全項目)を編集できます。
APEX Autorig Component SOP の使用例については、「単純なジオメトリのリギング(rigging a simple geometry)」および「キャラクターのリギング(rigging a character)」を参照してください。
要件とベストプラクティス
以下は、Autorig Builder を使用する際の要件とベストプラクティスです。
キャラクターは +Z 方向(前方)を向いている必要があります。
入力スケルトンの一次軸(Primary)と二次軸(Secondary)は、APEX Autorig Builder SOP の Main Axis および Secondary Axis パラメータと一致していなければなりません。
入力スケルトンでは、重複しない固有のジョイント名(ユニークなジョイント名)を使用してください。
体の左右を示すインジケーター(接頭辞/接尾辞)は、入力スケルトン内で一貫していなければなりません。たとえば、左側のジョイント名はすべて
L_*か、あるいは*_lのいずれかに統一し、混在させないでください。さらに、APEX Autorig Builder SOP の Mirror セクションにある Left と Right パラメータは、入力スケルトン側の左右インジケーターと一致している必要があります。たとえば、入力スケルトンのジョイント名が*_lと*_rの形式であれば、Left/Right パラメータにもそれぞれ同じ値を設定してください。入力スケルトン上のすべてのトランスフォームに対して、スケール値は 1 を使用してください。レストポジションにスケールが入っていると、リギングやアニメーションにおいて一般的に問題の原因となります。
リグの構築
この例では、APEX Autorig Builder SOP の入力としてキャラクターのシェイプ(形状)とスケルトンを用意します。次に、Autorig Builder を使用して、以下の機能を備えたリグを構築します。
ルートコントロール
スパイン
腕と脚
手と足
首と頭
また、APEX Autorig Builder SOP は、キャラクター用の既存のスケルトンやシェイプがない場合でもリグを作成できます。例については「building a rig without a skeleton(スケルトンなしでリグを構築する)」を参照してください。
セットアップ
シェイプやスケルトンといった入力キャラクター要素は、まず キャラクターのフォルダ構造 にパックする必要があります。そうしてから、そのパック済みデータを APEX Autorig Builder SOP にパイプで渡します。
APEX Pack Character SOP は、入力シェイプとレストスケルトンを、パックされたキャラクターフォルダ構造に追加します。Shape Path と Skeleton Path パラメータで、そのフォルダ構造内におけるシェイプとスケルトンの名称を設定します。
APEX Pack Character SOP を選択し、rig tree view でパック済みキャラクターフォルダ構造を確認します。rig tree view では Type を Packed Folders に設定します。
-
APEX Autorig Builder SOP は、出発点として FK control hierarchy を持つリグを構築します。Autorig Builder viewer state に入るには、APEX Autorig Builder SOP を選択し、その display フラグをオンにして、左側ツールバーの Animate をクリックします。
左がガイド、右がテストリグ
Autorig Builder viewer state では、左側にキャラクター用の guide、右側に test rig が表示されます。guide は最終的なリグに向けて準備すべき内容――ジョイント位置、スケルトン、各種設定――を構成する場所です。test rig は、その設定内容にもとづいてビルドされます。ガイドにリグコンポーネントを追加し、test rig 上で機能をプレビューして試す、という流れになります。
ガイド側のスケルトン上でジョイントを移動することで、キャラクターのジョイントの rest positions を変更できます。
ルートコントロール
キャラクターにルートコントロールを追加します。
-
component catalog HUD から Root コンポーネントを guide にドラッグし、ビューポート上でクリックするか Enter を押します。
リグにルートコントロールを追加
パラメーターエディタ の Build タブにある Segments マルチパラメータ(multiparm)に、ルートコントロール用のエントリが追加されます。
test rig 上でルートコントロールを表示するには、ビューポート上で H を押すか、パラメーターエディタ の Update Rig アイコンをクリックします。
補足事項:リグコンポーネントを追加する順序は重要です。キャラクターのすべてのコントロールをルートコントロールの子(ペアレント関係)にしたい場合は、まず Root コンポーネントを追加し、その後に他のコンポーネントを追加します。Segments マルチパラメータ内のエントリは、コンポーネントがビルドされる順序を表します。
コンポーネントの追加は Segments マルチパラメータを直接操作するのではなく、component catalog HUD からのドラッグ&ドロップで行います。APEX Autorig Builder SOP はビューポートでのドラッグ&ドロップ操作に最適化されています。Segments マルチパラメータは、リグコンポーネントのデータを保存・閲覧するための場所という位置づけです。
parameter editor では Auto Update をオンにすると、guide に変更を加えた際に test rig が自動的に更新されます。パフォーマンスを高めたい場合、コンポーネントを guide にドラッグ&ドロップしている間は Auto Update をオフにし、すべてのコンポーネントを追加し終えたら Auto Update をオンにして一括でコントロールの追加結果を確認するとよいです
test rig をいろいろ動かした後、ビューポート上で N を押すか、パラメーターエディタの Reset Test Rig
ボタンをクリックすると、リグをリセットできます。
guide 上の Root コンポーネントの色を変更するには、パラメーターエディタの Build タブで root のカラーチップをクリックします。
ルートコントロールの設定
guide と test rig の設定は、ビューポート内にある 2 つのギア(⚙)メニュー から構成・調整できます。
guide 上で ⚙ をクリックすると、ルートコントロールを設定するためのメニューが開きます。⚙ をドラッグすると、メニューの表示位置を移動できます。
ルートコントロールの数や形状を変更するには、メニュー内の該当アイコンをクリックしてドラッグします。
-
guide の設定は parameters HUD からも更新できます。。⚙を選択し、ビューポート上で G を押して parameters HUD を開き、Controls タブに移動します。
ヒントトランスフォームハンドルの設定によっては、⚙のトランスフォームハンドル位置に平面(plane)が表示され、その直下にある一部の設定を直接選択しにくくなる場合があります。
この平面を無効化するには:ビューポート上で P を押して handle preferences を表示します。
Open Handle Preferences ボタンをクリックします。
開いた Houdini Preferences ウィンドウで Preferences タブに移動します。
Allow Planar Dragging of Translate Handles Between Axes をオフにします。
Accept をクリックします。
test rig 用の ⚙ニューも用意されています。root control については、利用できるオプションは表示切り替え(visibility toggle)のみです。
スパイン
Spine コンポーネントを guide にドラッグして、リグにスパイン機能を追加します。パラメーターエディタ の Build タブにある Segments マルチパラメータ(multiparm)に、spine 用のエントリが追加されます。
spine のジョイントとコントロールを表示するには、guide 上にある spine の⚙ をクリックします。
スケルトン内で spine コンポーネントを別の位置へ移動する手順
guide 上の spine の⚙ をクリックします。
segmentsアイコン を選択します。
spine コンポーネントを目的のジョイントへクリック&ドラッグします。
Enter を押して確定します。
ガイドスケルトンのポージング
guide skeleton 上には FK/IK アイコンがあり、これをクリックすることで FK か IK のどちらでポーズを付けるかを切り替えられます。IK に切り替えると IK コントロールが表示され、これらを選択してポージングできます。
注記
この機能は、test rig の ⚙ にある IK/FK 設定とは異なります。guide skeleton をリセットするには、パラメーターエディタ内の をクリックします。
スパインコントロールの設定
guide 上の ⚙メニュー には、スパイン機能を構成するための複数のオプションが用意されています。
addstretchcontrol トグルをオンにすると、test rig 側の ⚙メニュー にスパインのストレッチ量を制御するためのオプションが表示されます。
メニュー内に用意された各種 interaction gadgets に対する設定内容については、⚙メニュー のオプションを参照してください。
addstretchcontrol トグルの下にある stretch および squash のスライダーオプションを使うと、スパインに対する伸長(stretch)と圧縮(squash)の量を制御できます。これらのオプションは、addstretchcontrol がオンになっている場合にのみ適用されます。各オプションの説明については、spline rig component を参照してください。
腕と脚
リグに腕と脚の機能を追加するには、Arm と Leg コンポーネントを guide の左側へドラッグします。ミラー(左右反転)でリグ機能を適用するには、コンポーネントをスケルトンの左側に配置する必要があります。右側にドラッグした場合、その機能はミラーされません。
注記
Arm コンポーネントは 3 ジョイント構成で、guide skeleton(ガイドスケルトン)に鎖骨(clavicle)ジョイントがなくても動作します。もし鎖骨ジョイントが見つかった場合は、それを利用します。
一方、Arm Clavicle コンポーネントは 4 ジョイント構成で、guide に鎖骨ジョイントが必須です。
ガイド上の設定
以下は、guide の ⚙メニュー にある設定の一部です。
Mirror icon(Mirror アイコン)
腕/脚の機能をリグの反対側へミラーするかどうかを切り替えます(オン/オフ)。Turn on the
useiktoggle(useikトグルをオンにする)
test rig の ⚙メニューに IkStretch オプションを追加します。Turn on the
ikfkblendtoggle(ikfkblendトグルをオンにする)
test rig の ⚙メニューに ikfkblend, ikfk_switch, pinControls を追加します。
※この設定はuseikがオンのときにのみ有効です。
そのほかのスライダーやトグルオプションの説明は、multi IK rig component を参照してください。
コントロールの親の付け替え/リペアレント
guide の ⚙メニュー にある parenting オプションを使うと、pole vector(ポールベクター) や tip コントロールの新しい親を設定できます。ここでは、脚(leg)のポールベクターを cog(COG)コントロール にリペアレントします。
guide 上の leg 用 ⚙メニュー で、pole vector の parenting アイコンを選択します。
cog コントロールを選択します。
Enter を押して確定します。
pole vector コントロールを cog コントロールにリペアレントしているため、cog に追従して動きます。
test rig の設定
IK/FK blend(IK/FK ブレンド)
test rig の ⚙メニュー にある ikfkblend と ikfk_switch オプションを使用して、IK/FK ブレンドを実行できます(これらのオプションは、guide の ⚙メニューで ikfkblend をオンにしている場合に利用可能です)。
guideの⚙メニューでikfkblendがオンになっていることを確認
test rigの⚙メニューでFKまたはIKのどちらが有効なのか確認する。ここではFKが有効
IKに変更し、IKを移動。FKでの設定、IKでの設定を使用し、変更が可能。
コントロールのピン留め
test rig の ⚙メニュー内にある pin アイコンをクリックすると、そのコンポーネントの IK および FK のチャンネルが channel list(チャンネルリスト)に追加されます。これらのチャンネルがチャンネルリストに追加されると、個々のコントロールをあらかじめ選択しなくても、関連するすべての IK/FK コントロールに対してキーフレームを設定できるようになります。
手と足
Hand Simple コンポーネントと Foot コンポーネントを guide にドラッグして、手と足の機能をリグに追加します。
入力スケルトンの指の本数が Hand コンポーネントの想定より少ない場合、Hand コンポーネントをドラッグ&ドロップする際に Remove Un をオンにすると不要な指が削除され、余分な指コントロールは作成されません。
また、 Ctrl ホットキーを使って特定の指を追加しないように選択することもできます。
Hand コンポーネントを guide にドラッグ&ドロップします。
Ctrl を押しながら、追加したくないジョイントを選択します。選択したジョイントは赤に変わります。⌃Ctrl を離すとジョイントは黒になり、スケルトンへのマッピングが解除された(unmapped)ことを示します。このジョイントにはコントロールは作成されません。
チェックボタンをクリックします。
Hand コンポーネントの設定
以下は、guide の ⚙メニュー にある Hand コンポーネントの設定の一部です。
pianohands toggle
pianohands を オフにすると、各指ジョイントに FK コントロールが付き、各指ごとに selector control を備えたシンプルな手の機能になります。
pianohands を オンにすると、各指の基部(base)と先端(tip)に追加の IK コントロールが用意され、全指先を一度に動かすコントロールも加わる、より複雑な手の機能になります。
pianohands をオンにすると、test rig の ⚙メニューで ikfkblend, ikfk_switch, pinControls オプションが利用可能になります。ikfk_switch を IK に設定すると、指先(fingertips)に影響を与えるコントロールが表示されます。
flipselectors toggle
test rig の finger selector control の位置を手の外側に切り替えます。finger selector control は、対応する指のすべてのジョイントを一括選択できるため、指全体のポーズ付けを容易にします。
首と頭
首と頭については専用のリグコンポーネントを使わず、Autorig Builder が最初に作成した既存の FK コントロールを「回転のみ(rotate only)」に設定したいとします。これは tags(タグ) を使って行えます。
guide 上で neck と head のジョイントを選択します。
ビューポート上で ⇧ Shift + H を押します。
Add Tag ポップアップで、首/頭ジョイント群のタグ名を入力します。例では
neck_headを使用しています。タグをミラーさせたい場合は、左右インジケーターを含めた名前にします(例:
L_testarm)。Enter を押します。すると、guide 上のそのジョイント選択付近に ⚙メニュー が作成され、かつパラメーターエディタの Build タブにエントリが追加されます。
以後は guide の ⚙メニュー から、test rig 上の首と頭のコントロールの 色(color)・形状(shape)・サイズ(size) を設定できます。また、コントロールの translate/rotate/scale をプロモートするかどうかも選択できます。-
首と頭では回転(rotate)だけをプロモートする:
promote_rトグルを オンにして、首と頭のコントロールを回転可能にします。promote_tとpromote_sトグルを オフにして、translate と scale を test rig では使えないようにします。promote_t/promote_r/promote_sをすべて オフにすると、首と頭のコントロールは test rig に表示されません。
最後に、首と頭のコントロールの色・形状・サイズを設定します。