On this page

新規リグのセットアップの開始

To...Do this

新しくセットアップを作成する

でキャラクタを選択して、キャラクタリグをシーンに設定します。

または、キャラクタテキストフィールドにノード名を入力するか、Network Editorからドラッグすることもできます。 選択したキャラクタの履歴は、キャラクタテキストフィールドの隣にあるドロップダウンメニューに残ります。

Editモードを有効にする

メニューバーの Editボタンをクリックします。

Tip

Eを押すことでEditモードを有効/無効にすることができます。

新しいビューを追加する

  1. Editモードが有効になっていることを確認します。

  2. 既存タブの横にあるボタンをクリックして、 New Tab Type を選択し、 Single View または Multi View のどれかを選択します。 Single View は1個のキャラクタビューアペインを含むのに対して、 Multi View はサイズ変更可能な4個のペインを含みます。

コントロールボタンをセットアップする方法

To...Do this

新しいコントロールボタンを追加する

  1. Editモードが有効になっていることを確認します。

  2. 現行ビューでをクリックします。

  3. Character Pickerペイン内で新しくボタンを配置したい箇所をクリックします。

ペインの中心に新しいコントロールボタンを追加する

  1. 現行ビューでをクリックします。

  2. Enterを押します。

別の方法としては、Character Pickerペイン内で⌃ Ctrlを押しながらをクリックします。

新しいボタンの追加をキャンセルする

ボタンをクリックして新しいボタンを追加した時に、この処理をキャンセルしたいのであれば、 ⎋ Escを押します。

コントロールボタンの位置を変更する

Editモードが有効になっている時は、そのコントロールをクリックしてドラッグします。

選択したコントロールボタンのグループを整列させる

  1. Editモードが有効になっていることを確認します。

  2. 選択したコントロールのどれかを右クリックして、マウスを Layout 上に移動させます。

  3. Layout サブメニューから、 Align selected buttons vertically または Align selected buttons horizontally をクリックします。

選択したコントロールボタンのグループの間隔を空ける

  1. Editモードが有効になっていることを確認します。

  2. 選択したコントロールのどれかを右クリックして、マウスを Layout 上に移動させます。

  3. Layout サブメニューから、 Distribute selected buttons vertically または Distribute selected buttons horizontally をクリックします。

Note

選択したコントロールの間隔が既に十分に空いていれば、これらのオプションは何もしません。

ボタンをコントロールにリンクさせる

  1. Editモードが有効になっていることを確認します。

  2. コントロールを右クリックして、 Edit Target Nodes を選択します。

  3. リンクしたいコントロールを選択して、 Accept をクリックします。

ボタンのターゲットノードを設定/リセットする

  1. ビューア内で目的のノードを選択します。

  2. Character Pickerペイン内でコントロールを右クリックして、 Set from Viewport Selection を選択します。

他のターゲットノードをボタンに追加する

  1. ビューポート内で目的のノードを選択します。

  2. Character Pickerペイン内でコントロールを右クリックして、 Add from Viewport Selection を選択します。

複数のコントロールを一度に選択する

  1. Character Pickerペインの上部にある Select メニューを選択します。

  2. Box Picking または Lasso Picking のどちらかを選択します。

  3. 選択したいボタン周辺でクリックしてドラッグします。

個々のコントロールを選択する

選択したいコントロールをクリックします。

選択したコントロールに追加する

⇧ Shiftを押したまま、追加したいボタンをクリックします。

選択からボタンを除去する

⌃ Ctrlを押したまま、削除したいボタンを選択します。

すべてのコントロールを一度に選択する

⇧ Shiftを押したまま、背景をクリックします。

ミラーされたコントロールボタンを選択する

を有効にして、⇧ Shift + Altを押しながらクリックします。

Note

対称のボタンをペアにするには、それらのボタンが同じノードの内容でなければなりません。つまり、ボタンに含まれているノードの名前の接尾辞がleftrightで違うだけで、同じ数のノードがなければなりません。

コントロールのカラーを変更する

  1. Editモードが有効になっていることを確認します。

  2. カラーを変更したいコントロールを右クリックして、 Edit Color を選択します。

  3. 新しいカラーを選択して、 OK をクリックします。

コントロールのラベルを変更する

  1. Editモードが有効になっていることを確認します。

  2. ラベルを変更したいコントロールを右クリックして、 Edit Label を選択します。

  3. テキストフィールドに新しいラベルを入力して、 OK をクリックします。

コントロールを削除する

  1. Editモードが有効になっていることを確認します。

  2. 削除したいコントロールを右クリックして、 Delete を選択します。

他のコントロールボタンが現在選択されているボタンとノードを共有している場合、そのコントロールがハイライトされますが、選択されません。

背景画像を追加する方法

現行ビューポート、外部ファイル、URLリンク指定による画像から背景画像を設定することができます。

  1. Editモードが有効になっていることを確認します。

  2. ギアメニューをクリックして、 Set Background を選択します。

  3. From Viewport, From File, From URL のどれかを選択します。

画像はCharacter Picker内に保存されるので、画像ファイルを保持する必要もなければ、ディレクトリも保持する必要はありません。

Note

ビューポート画像を使って背景を設定するには、 Scene View タブを可視にしなければなりません。 さらに、.hipを保存して$HIPディレクトリと関連付けられていなければなりません。

Character Pickerペインの扱い方

To...Do this

グリッドを表示/非表示する

  1. Editモードが有効になっていることを確認します。

  2. ギアメニュー > Show Grid をクリックします。

Tip

⇧ Shift + Gを押すことで、グリッドの表示/非表示を切り替えることができます。

グリッドにスナップさせる

  1. Editモードが有効になっていることを確認します。

  2. ギアメニュー > Grid Snap ▸ Snap to Grid をクリックします。

Tip

⇧ Shift + Sを押すことで、グリッドのスナップを有効/無効に切り替えることができます。

グリッドセルのサイズを調整する

  1. Editモードが有効になっていることを確認します。

  2. ギアメニュー > Grid Snap ▸ Grid Snapping Options をクリックして、 Snap Options ダイアログを開きます。

  3. Cell Size パラメータで、スライダをドラッグするか、40-100の範囲で値を入力します。

グリッドのスナップ重力を調整する

  1. Editモードが有効になっていることを確認します。

  2. ギアメニュー > Grid Snap ▸ Grid Snapping Options をクリックして、 Snap Options ダイアログを開きます。

パラメータで、スライダをドラッグするか、1-100の範囲で値を入力します。

ペインをズームイン/アウトする

を使って、上に回転させるとズームイン、下に回転させるとズームアウトします。

他にも、右クリックで右にドラッグまたは上にドラッグするとズームイン、左にドラッグまたは下にドラッグするとズームアウトします。

ペインをパンさせる

クリックでドラッグ、または、Spaceを押したままクリックでドラッグするとパンします。

ビュー全体が表示されるように自動ズームさせる

Space + Hを押します。

選択したボタンが表示されるように自動でパンしてズームさせる

Space + Gを押します。

シーン内の複数のキャラクタの扱い方

シーン内に同一のリグを持った複数のキャラクタがあり、同じレイアウトコントロールを使って両方とも操作したい場合、ノード選択を使って、他のキャラクタを選択します。 ドロップダウンメニューを使用することで、キャラクタ間を切り替えることができます。 Characters フィールドに表示されているものがどれもキャラクタなら、それらのコントロールがそのキャラクタに適用されます。

読み込みと保存

ビューは、.jsonファイルかリグのデジタルアセットに直接保存することができます。 例えば、Simple Bipedキャラクタは、既にキャラクタピッカーリグを含んでいます。 ビューの状態は、 File ▸ Save Layout メニューから保存します。 ビューは、 File ▸ Load Layout を選択したり、ノードをNetwork EditorからCharacter Pickerパネルまたは Character テキストフィールドにドラッグアンドドロップしたり、をクリックしてノードを選択することで、デジタルアセットまたは外部ファイルから読み込むことができます。

Tip

⌃ Ctrl + Sを押すことで、最後に保存したレイアウトの場所または元の読み込み場所に変更をすぐに保存することができます。

Note

HDAオブジェクトノードしか読み込むことができません。

イベントコールバックを登録する

def eventCallback(event_type, kwargs):
    if event_type == mainwidget.EventType.ButtonSelected:
        targetPaths = kwargs["targetpaths"]
        # 何かを実行します。
        return True
    elif event_type == mainwidget.EventType.ButtonDeselected:
        targetPaths = kwargs["targetpaths"]
        # 何かを実行します。
        return True
    return False

# CharacterPickerを開きます。
pane_tab = hou.ui.curDesktop().createFloatingPaneTab(
    hou.paneTabType.PythonPanel,
    python_panel_interface="sesi_character_picker")
char_picker = pane_tab.activeInterfaceRootWidget()

# コールバックを登録します。
char_picker.registerEventCallback(eventCallback)

# これで、どのイベントもまず最初にeventCallbackに送られるようになりました。

ユーザーは、コールバックをCharacterPickerに登録することで、特定のイベントの挙動をカスタマイズすることができます。 各イベントは何かしらのEventTypeに関連付けられます。 以下のEventTypeが利用可能です:

  • ButtonSelected

    ボタンが選択されると送信されます。 デフォルトの挙動は、このボタンでターゲットになっているノードを選択します。

    キーワード引数:

    • "targetpaths": このボタンでターゲットにするノードのフルパス。

    • "buttondefaultbehavior": cpglobals._PYS_DEF_BEH_* 定数のどれか。これは、コントロールボタンが選択された時にコールされます。

  • ButtonDeselected

    ボタンが選択解除されると送信されます。 デフォルトの挙動は、このボタンでターゲットになっているノードを選択解除します。

    キーワード引数:

    • "targetpaths": このボタンでターゲットにするノードのフルパス。

コールバック関数

def eventCallback(event_type, kwargs):
    if event_type == mainwidget.EventType.ButtonSelected:
        targetPaths = kwargs["targetpaths"]
        # 何かを実行します。
        return True
    elif event_type == mainwidget.EventType.ButtonDeselected:
        targetPaths = kwargs["targetpaths"]
        # 何かを実行します。
        return True
    return False

イベントが発生すると、登録されているコールバックに2つの引数が渡されます: イベントのタイプ、そのイベントに該当する引数の辞書。

コールバックがTrueを返すと、デフォルトの挙動は実行 されません 。 コールバックがFalseを返すと、コールバックが返された後にデフォルトの挙動が実行 されますTrueはイベントの処理が終了したことを示し、Falseはイベントの処理がまだ終了しておらずさらに処理されることを示していると考えると良いでしょう。

コールバックが登録されていない場合、デフォルトの挙動が実行されます。

例: ボタン選択イベントのデフォルトの挙動は、そのボタンに割り当てられているノードが選択されます。 登録されているコールバックがEventType.ButtonSelectedイベントに対してFalseを返すと、そのコールバックが返された後にそのボタンが選択されます。 Trueを返すと、コールバックを記述した人のやり方次第でノードが選択されます。

キャラクタ

KineFXのキャラクタ

SOPベースのリグを使ったジオメトリレベルのプロシージャルリギングとアニメーション。

オブジェクトレベルのキャラクタ

ボーンベースのリグを使ったオブジェクトレベルのリギングとアニメーション。

ペイン