Houdini 21.0 キャラクタ KineFX

キャラクタフォルダ構造

On this page

概要

Houdiniのビューポートアニメーション環境用のキャラクタデータは、ディスク上のディレクトリ構造に似たフォルダ構造で定義され、まとめられ、整理されています。このフォルダ構造は、キャラクタデータが入れ子化(ネスト)されたパックトプリミティブとして追加されることから、 パックトキャラクタフォーマット と呼ばれることもあります。ビューポートアニメーションに使用されるビューアステートであるAnimateステートでは、パックトキャラクタフォーマットのデータのみを表示することができます。

パックキャラクタフォルダ構造には、アニメーションシーン、キャラクタ、キャラクタ要素という3つのレベルのデータコンテナがあります。パックフォルダ構造の階層は、Rig Treeビューで確認することができます:

Rig Treeビューに表示されたパックキャラクタフォルダ構造

アニメーションシーン

アニメーションシーンは、ポージング可能な1体以上のキャラクタを含んだトップレベルのデータコンテナで、複数のキャラクタをお互いに作用させることができます。このシーンコンテナには、アニメータがAnimateステートでインタラクティブに追加したアニメーションや拘束も含めることができます。シーンコンテナは、パックフォルダ構造内の“フォルダ”と考えることができます。

キャラクタ

キャラクタコンテナには、アニメータがビューポート内で操作できるポージング可能なKineFXキャラクタを格納します。このキャラクタコンテナには、キャラクタをアニメーションさせるのに必要なすべての要素が含まれており、最低でもリグが含まれています。キャラクタコンテナは、パックフォルダ構造内の“フォルダ”と考えることができます。

キャラクタ要素

キャラクタ要素は、キャラクタをアニメーションさせる際に使用される単一のパックジオメトリです。デフォルトのタイプにはスケルトン、シェイプ、リグ、コントロールがあります。カスタムの拡張子を使用して独自の要素を定義することもできます。キャラクタ要素は、パックフォルダ構造内の“ファイル”と考えることができます。

パックキャラクタフォルダ構造を使用すると、様々な要素をパックしてまとめ、シーン内で使い回したり、必要に応じて個々の要素を抽出することができます。

キャラクタデータをパック/アンパックするためのノード

Pack Folder SOPUnpack Folder SOPPacked Folder Split SOPを使用して、パックキャラクタフォルダ構造内のキャラクタ要素を整理、組み立て、抽出することができます:

Pack Folder

Pack Folder SOPは、その入力をパックして、フォルダ構造として整理します。新規のフォルダ構造を作成することも、既存の構造にパックすることもできます。

Unpack Folder

Pack Folder SOPを使用してデータをパックフォルダ構造に組み立てた後、そのデータを引き出して操作したい場合があります。このためにはUnpack Folder SOPを使用します。Unpack Folder SOPは、パックフォルダ構造を入力として受け取り、APEXパスパターン構文を使用して抽出するデータを検索します。Unpack Folder SOPの1本の出力には、その抽出されたデータが格納されます。

Packed Folder Split

Packed Folder Split SOPはUnpack Folder SOPと似ていますが、抽出されたデータをただ出力するのではなく、入力のパックフォルダ構造を2つの出力に分割します。この2つの出力とは、抽出されたデータを取り除いた元のフォルダ構造(デフォルト設定)と、抽出されたデータのことです。

さらに、APEX Pack Character SOPAPEX Unpack Character SOPを使用することで、KineFXキャラクタ(スキン、静止ポーズ、アニメーションポーズを含む)をパックフォルダ構造に簡単に変換することができます。

データコンテナ

アニメーションシーンコンテナ

アニメーションシーンコンテナは、お互いに作用し合えるように1体以上のキャラクタを含んだトップレベルのデータコンテナです。通常、シーンの出発点は、シーンに渡されているキャラクタです。その後、Animateトステートでアニメーションが付けられると、他の要素が追加されます。これらの要素には、アニメーション、拘束、scene.graphが含まれます。

Note

アニメーション作業時にシーンに追加される要素(アニメーション、拘束、scene.graph)とキャラクタコンテナ内の キャラクタ要素 を混同しないようにしてください。

シーン内のサンプル要素

アニメーション

Animateステートでアニメーションが付けられると、アニメーションクリップのフォルダ(*.clip)がシーンコンテナの/animationディレクトリに追加されます。

拘束

拘束は、2個のコントロール間の依存関係を評価するミニリグのようなものです。拘束がAnimateステートで作成されると、その拘束のグラフがシーンコンテナの/constraintsディレクトリに追加されます。

scene.graph

scene.graphは、Animateステートでリグと拘束が評価される順番を管理および定義するグラフです。シーンコンテナ内に作成および格納されます。scene.graphはリグを実行するだけで、リグを作成しません。

scene.graphは、シーンコンテナ内のすべてのキャラクタを検索し、それらのキャラクタを組み立て、シーンを作成します。拘束がAnimateステートで作成されると、コントロール間の依存関係がscene.graphに追加されます。scene.graphには、拘束が作成される順番も格納されます。

Warning

scene.graphは、コントロール/リグ間に依存関係があるシーンに不可欠です(これらは通常、拘束です)。scene.graphを削除すると、シーン内の拘束が失われます。

1つのHoudiniシーン(.hip)ファイル内で複数のアニメーションシーンを持つことができます。これは、様々なバージョンのアニメーションシーンを使用したい場合などに役立ちます。

キャラクタコンテナ

キャラクタコンテナには、リグと、そのリグが適切に評価されるのに必要なすべてのキャラクタ要素が含まれます。キャラクタには、任意のタイプのキャラクタ要素を複数含めることができます。例えば、3個のシェイプをキャラクタコンテナに含めることができます。

キャラクタのオペレーションは“リグ中心”であり、リグの入力が必要とされるキャラクタ要素を決定します。キャラクタコンテナに特定のキャラクタ要素が含まれていても、その要素がリグへの入力として指定されていない場合、その要素は使用されません。例えば、キャラクタコンテナに10個のシェイプがあり、そのうちの2個だけがリグに入力されていた場合、リグはその2個のシェイプのみを使用します。ただし、残りのシェイプを今後使用できるように、キャラクタコンテナ内に保持することは可能です。

Note

“キャラクタコンテナ”という用語は、リグロジックのピースと、そのリグの入力から参照されている要素を含んだ汎用コンテナのことを指します。実際には、このキャラクタコンテナは、キャラクタ、プロップ、アセットが該当します。

Houdiniでは、キャラクタコンテナの名前に.char拡張子が付いている必要があります。この.charパックプリミティブは、自動的にパックキャラクタフォルダ構造内のフォルダであると解釈されます。Animateステートは、その.charフォルダ内でリグ(.rig拡張子)を検索し、そのリグの入力に基づいて、その.charフォルダに格納されているそれに関連するキャラクタ要素(スケルトンやシェイプなど)を取得します。

.charキャラクタフォルダ内のキャラクタ要素

キャラクタ要素コンテナ

キャラクタ要素は、キャラクタをアニメーションさせる際に使用される単一のパックジオメトリです。以下がデフォルトのタイプです:

スケルトン(.skel)

KineFXスケルトン

シェイプ(.shp)

変形のための静止スキンとして使用可能なシェイプ。

リグ(.rig)

スケルトン/シェイプを修正するグラフ。

コントロール(.ctrl)

ビューポート内でUIイベントがどのように解釈されるかを定義したビューポート操作ツール。例えば、ビューポート内でドラッグした時の挙動を定義することができます。コントロールは、グラフとそれに関連付けられたシェイプのセットです。

カスタムの拡張子を使用して、独自の要素を定義することもできます。

アニメーション用データを組み立てる

Pack Folder SOPを使用することで、キャラクタ要素をパックフォルダ構造に組み立てることができます。Pack Folder SOPは、新規にフォルダ構造を作成したり、キャラクタ要素を既存のフォルダ構造にパックすることもできます。

パックフォルダ構造にキャラクタ要素を追加する

この例では、パックフォルダ構造にキャラクタ要素を追加します。キャラクタ要素には、チューブジオメトリ、チューブのスケルトン、ボーン変形を実行するリグロジックがあります。Joint Capture Biharmonic SOPは、ジオメトリ上にキャプチャウェイトを作成するのに使用します:

パックフォルダ構造にキャラクタ要素を追加する

Pack Folder SOPの2番目の入力は、複数のキャラクタ要素を受け取り、パックフォルダ構造に追加します。要素をPack Folder SOPに接続すると、その入力の接続順で、自動的に Name パラメータがPack Folder SOPに作成されます。 Name パラメータには、入力ノードの名前が自動的に入ります。この例では以下のようになります:

  • 1番目の入力: Name : create_capture_weights

  • 2番目の入力: Name : create_capture_weights

  • 3番目の入力: Name : rig

入力ノードの名前には拡張子が付いてないため、Pack Folder SOPの Type パラメータには何も入りません。

入力が何であるかを分かるやすくしたい場合は、Pack Folder SOPの Name および Type パラメータを更新して、パックフォルダ構造内のキャラクタ要素の名前とその拡張子を変更します:

  • 1番目の入力: Name : BaseType : shp

  • 2番目の入力: Name : BaseType : skel

  • 3番目の入力: Name : BaseType : rig

Note

リググラフの入力によって参照されるキャラクタ要素の名前は、パックフォルダ構造内のキャラクタ要素の名前と一致していなければなりません。こうすることで、リグは、取得して使用すべきキャラクタ要素を特定することができます。

以下の画像が示しているのは、上記の例で使用しているAPEX Graph SOPであるrigのグラフ入力です。グラフ入力ポートの名前をクリックすると、そのポート名をパックフォルダ構造内の要素名と一致するように変更することができます。グラフの構築と実行の詳細については、APEXグラフを参照してください。

リグ入力によって参照されるキャラクタ要素

パックォルダ構造を確認する

パックフォルダ構造の内容は、Rig TreeビューGeometry Spreadsheetの2つの方法で確認することができます。Rig Treeビューは、パックフォルダ構造の階層全体を表示し、Geometry Spreadsheetは、パックフォルダ構造のトップレベルのみを表示します。

Rig Treeビュー

  1. ネットワークエディタでPack Folder SOPを選択します。

  2. Rig Treeビューを開くために、ペインの上部にある New Tabアイコンをクリックし、 New Pane Tab Type ▸ Animation ▸ Rig Tree を選択します。

  3. Rig Treeビューで、ノード名(ここではassemble_character_elements)の横にあるドロップダウンボックスを出力に設定します。

  4. TypePacked Folders に設定します。

  5. パックフォルダ構造は、2通りの方法で表示することができます:

    • HierarchyTopology に設定すると、パックフォルダ構造がツリービューとして表示されます。

    • HierarchyFlat List に設定すると、パックフォルダ構造が平坦なリストとして表示されます。

    次のパックフォルダ構造が表示されます:

    /
    -- Base.rig
    -- Base.shp
    -- Base.skel
    

Geometry Spreadsheet

  1. ネットワークエディタでPack Folder SOPを選択します。

  2. Geometry Spreadsheetを開くために、ペインの上部にある New Tabアイコンをクリックし、 New Pane Tab Type ▸ Inspectors ▸ Geometry Spreadsheet を選択します。

  3. Geometry Spreadsheetの上部のツールバーにある Primitivesをクリックします。キャラクタ要素(Base.shp、Base.skel、Base.rig)がリストされます。

アニメーションシーンを組み立てる

以下の例では、APEX Scene Add Character SOPを使用して、キャラクタ毎にアニメーション用のシーンを組み立てます。APEX Scene Add Character SOPは、キャラクタの要素をキャラクタ(.char)フォルダに追加してから、キャラクタをアニメーションシーンに追加します:

2つのキャラクタでシーンを組み立てる

それぞれのAPEX Scene Add Character SOPで、 Character Name パラメータにキャラクタの名前を指定します。アニメーションシーンを組み立てる方法の詳細については、アニメーションワークフローを参照してください。

シーンコンテナ内には以下のパックフォルダ階層が出来ます(Pack Folder SOP内のキャラクタ要素の名前を変更した後):

/
-- character1.char/
    -- Base.rig
    -- Base.shp
    -- Base.skel

-- character2.char/
    -- Base.rig
    -- Base.shp
    -- Base.skel

Animateステートでキャラクタにポーズを付けたりアニメーションさせるには:

  1. シーンをAPEX Scene Animate SOPに接続します:

    APEX Scene Animate SOPでアニメーションを実行する
  2. そのAPEX Scene Animate SOPを選択してDisplayフラグを有効にします。

  3. 左側のツールバーにある Animateをクリックします。

パックフォルダ構造からデータを抽出する

Unpack FolderPacked Folder Split SOPを使用することで、パックフォルダ構造からキャラクタ要素を抽出することができます。どちらのSOPもパックフォルダ構造を入力として受け取り、APEXパスパターン構文を使用して、抽出したいデータを検索することができます。Unpack Folder SOPは、抽出されたデータが格納された1本の出力を持つのに対して、Packed Folder Split SOPは、入力のパックフォルダ構造を2本の出力に分割します。1つ目の出力は、抽出されたデータが除去された元々のパックフォルダ構造(デフォルト設定)で、2つ目の出力は、抽出されたデータです。

Note

キャラクタ内の単一の要素を分析したい場合は、Unpack Folder SOPを使用してその1つの要素を抽出できます。既存のキャラクタの何かを変更したい場合は(例えば、現在のスケルトンを取得し、ジョイントを追加して、スケルトンに戻すなど)、Packed Folder Split SOPを使用すると良いでしょう。

この例では、Unpack Folder SOPを使用して、シーンからリグを抽出します:

シーンからリグを抽出

Unpack Folder SOPで、 Extract Pattern/character1.char/Base.rigに設定し、character1コンテナからリグを抽出します。

Warning

検索パターンがシーン内の複数のリグと一致した場合(例えば/**/*.rigなど)、それらの複数のリグが抽出され、それらが1つのアンパックジオメトリに結合されてしまいます。APEXネットワークビューでは有効に見えるグラフが表示されるかもしれませんが、予期せぬ動作を引き起こす可能性があります。

Note

Unpack Folder SOPでは:

  • Unpack Contents がオンの場合、抽出されたリグはアンパックされ、リググラフジオメトリが得られます。このリググラフは、APEXネットワークビューで確認することができます。

  • Unpack Contents がオフの場合、抽出されたリグはグラフジオメトリではなく、パックプリミティブです。APEXネットワークビューには、このパックプリミティブリグは表示されません。

Rig Treeビューに表示されるのは、パックフォルダ構造に パック されたデータのみです。 Unpack Contents がオンの場合、抽出されるデータはアンパックジオメトリであり、Rig Treeビューに何もデータは表示されません。

抽出されたパックプリミティブをRig Treeビューで確認するには:

  1. Unpack Folder SOPで、 Unpack Contents をオフにします。

  2. Rig Treeビューで、ノード名(ここではextract_rig)の横にあるドロップダウンボックスを出力に設定します。

  3. TypePacked Folders に設定します。

    抽出されるデータは以下のように表示されます:

    /
    -- Base.rig
    

KineFXキャラクタをパックフォルダ構造にパックする

APEX Pack Character SOPを使用すると、KineFXキャラクタ(スキン、静止ポーズ、アニメーションポーズを含む)をパックフォルダ構造に簡単にパックすることができます。このSOPには、キャラクタに対して、FKやボーン変形機能を備えたリグを自動的に作成できるオプションもあります。

APEX Unpack Character SOPは、APEX Pack Character SOPとは逆の操作を行ないます。パックフォルダ構造からキャラクタをアンパックし、キャラクタのスキン、静止ポーズ、アニメーションポーズを出力します。

パックフォルダ構造にキャラクタを追加する

この例では、APEX Pack Character SOPを使用して、Capybaraテストジオメトリのスキン、静止ポーズ、アニメーションポーズをパックフォルダ構造に追加します:

  1. 既存のキャラクタまたはシーンがAPEX Pack Character SOPに入力されていない場合(1番目の入力が接続されていない場合)、そのキャラクタ要素はトップレベルの要素として新しいパックフォルダ構造に追加されます。パックフォルダ構造は、Rig Treeビューで確認することができます:

    /
    -- Base.shp
    -- Base.skel
    
  2. キャラクタリグもパックフォルダ構造に追加するには、 Add FK and Bone Deform Components をオンにします。これにより、すべてのジョイントのFK階層とボーン変形機能を含むリグが作成されます。詳細は、ジオメトリ変形用のグラフを参照してください。パックフォルダ構造は以下のようになります:

    /
    -- Base.rig
    -- Base.shp
    -- Base.skel
    -- Guides.skel
    

    (Guides.skelは、APEX Pack Character SOP内でfkリグコンポーネントによって作成されたガイドスケルトンです。)

  3. この時点で、APEX Pack Character SOPをAPEX Scene Add Character SOPに接続し、アニメーションシーンを組み立てることができるようになります:

  4. APEX Scene Add Character SOPで、 Character Name を設定します。この例では、 Character Namecapyに設定します。パックフォルダ構造は以下のようになります:

    /
    -- capy.char/
        -- Base.rig
        -- Base.shp
        -- Base.skel
        -- Guides.skel
    -- scene.graph
    

    scene.graphについての詳細は、アニメーションシーンコンテナを参照してください。

既存のシーンに追加する

上記の例のCapybaraに、2体目のCapybaraのアニメーションを追加します:

  1. 既存のアニメーションシーンをAPEX Pack Character SOPであるadd_animationの1番目の入力に接続します。

  2. アニメーションを追加し、他のキャラクタ要素はパックしない場合、2体目のCapybaraであるcapy2の3番目の出力(アニメーションポーズ)のみをAPEX Pack Character SOPに接続する必要があります。

  3. APEX Pack Character SOPのadd_animationで:

    • Character Name をオンにして、それをアニメーションを追加したいキャラクタの名前、capyに設定します。

    • Shape Path の値を削除します。元のCapybaraのスキンを置き換えたくはないためです。

      Note

      アニメーションを追加する際、ノードがアニメーションを追加するスケルトンとリグを見つけられるように、 Skeleton Path および Rig Path を指定しておく必要があります。

    • Animation パラメータをオンにします。

    • デフォルトで、Capyのアニメーションは各フレームにキーとして書き出されます。キーを設定するフレームを変更するには、Houdiniのグループの構文を使用して Frame Pattern を更新します。例えば、1-100:2 ^10-20は、フレーム10から20を除く、フレーム1から100までの間で、1フレームおきにキーを設定します。

    パックフォルダ構造は以下のようになります:

    /
    -- animation/
        -- default.clip/
    -- capy.char/
        -- Base.rig
        -- Base.shp
        -- Base.skel
        -- Guides.skel
    -- scene.graph
    
    Capyのアニメーション
  4. APEX Scene Animate SOPを使用して、アニメーションを更新します:

    • Animateステートに入ります - APEX Scene Animate SOPを選択して、そのDisplayフラグをオンにしたら、左側のツールバーにある Animateをクリックします。

    • コントロールを選択し、キーを編集します。

    アニメーションの更新後 - ミッション中のCapy

パックフォルダ構造からキャラクタをアンパックする

この例では、APEX Unpack Character SOPを使用して前のアニメーションシーンをアンパックします:

  1. APEX Unpack Character SOPで、 Character Namecapyに設定します。

  2. APEX Unpack Character SOPを使用すると、アンパックされたキャラクタ要素をビューポートで確認することができます:

    • APEX Unpack Character SOPのDisplayフラグを設定します。

    • Visualize Output ドロップダウンメニューの利用可能なオプションから選択します。

  3. APEX Unpack Character SOPの2番目、3番目、4番目の出力で、Capyのスキン、静止ポーズ、アニメーションポーズが利用可能です。これで、Rig Pose SOPJoint Deform SOPROP FBX Character Output SOPといった様々な非APEXのKineFX SOPを使用して、キャラクタデータにさらなる処理を行なえるようになりました。

    Capybaraのアンパック後にKineFX SOPを使用

How to

To...Do this

パックフォルダ構造を確認する

パックフォルダ構造の内容は、Rig TreeビューGeometry Spreadsheetの2つの方法で確認することができます。詳細は、パックォルダ構造を確認するを参照してください。

Packed Folder Split SOPのパックフォルダ構造を確認する際は、Rig TreeビューやGeometry Spreadsheetのノード名の横にあるドロップダウンメニューから選択することで、 Packed Folders または Extracted データのいずれかを表示することができます。

Geometry Spreadsheetでプリミティブを確認する

Geometry Spreadsheetでは以下を確認することができます:

  • Pack Folder SOPによってパックフォルダ構造に追加されたパックプリミティブ

  • Packed Folder Split SOPに渡されるパックプリミティブ

  • Unpack FolderおよびPacked Folder Split SOPによって抽出されたパックプリミティブまたはアンパックプリミティブ

  • 入力ノードのパックプリミティブまたはアンパックプリミティブ

  1. Geometry Spreadsheetを開くために、ペインの上部にある New Tabアイコンをクリックし、 New Pane Tab Type ▸ Inspectors ▸ Geometry Spreadsheet を選択します。

  2. Geometry Spreadsheetの上部のツールバーにある Primitivesをクリックします。

  3. Pack Folder SOP、Unpack Folder SOP、Packed Folder Split SOP、または入力ノードを選択して、それらのノードのプリミティブを表示します。

Note

Geometry Spreadsheetには、選択したノードのトップレベルでパックされているものだけが表示されますが、Rig Treeビューでは、パックフォルダ構造の階層全体が表示されます。

Geometry Spreadsheetでtreatasfolder Intrinsicを使用すると、パックフォルダ構造内のパックプリミティブがフォルダであるか要素であるかを確認できます:

  1. Pack Folder、Unpack Folder、またはPacked Folder Split SOPを選択します。

  2. Geometry Speadsheetの上部のツールバーにある Intrinsics ドロップダウンメニューで、 treatasfolder をオンにします。フォルダの値は1、要素の値は0です。

Note

Unpack Folder SOPまたはPacked Folder Split SOPで Unpack Contents がオンの場合、抽出されたデータはアンパックされるため、treatasfolder Intrinsicを選択することはできません。

Pack Folder SOP

To...Do this

パックフォルダ構造を新規に作成する

Pack Folder SOPの1番目の入力には何も接続しないでください。2番目の入力に接続されたデータが、新しいパックフォルダ構造を作成するために使用されます。

既存のパックフォルダ構造に追加する

既存のパックフォルダ構造をPack Folder SOPの1番目の入力に接続します。

パックフォルダ構造にデータを追加する

Pack Folder SOPの2番目の入力にデータを接続します。 Name および Type パラメータには、入力から検出された名前と拡張子が自動的に入力されます。

Name パラメータに相対パスを指定することもできます。例えば、 Parent Folder/rootに、 Nameobj1/testに、 Typerigに設定されている場合、/root/obj1/test.rigがパックフォルダ構造に追加されます。

パックフォルダ構造の特定のフォルダにデータを追加する

Parent Folder パラメータに、入力データを追加するフォルダのパスを指定します。パスが存在しない場合は作成されます。

または

  1. Parent Folder パラメータの横にあるボタンをクリックします。

  2. Rig Treeビューで、アイテムを配置したいフォルダを選択し、 Accept をクリックします。 Parent Folder パラメータに、選択したフォルダが入力されます。

Note

Parent Folder パラメータに存在しないパスを入力した場合、そのパスが作成されます。

Parent Folder パラメータに要素(フォルダ以外)の名前を入力すると、Pack Folder SOPでエラーが発生します。

パックフォルダ構造で入力ジオメトリ名を使用する

2つのボックスジオメトリがMerge Packed SOPに接続され、Merge Packed SOPがPack Folder SOPに接続されている例を考えてみましょう:

Pack Folder SOPの2番目の入力にデータを接続すると、 Name および Type パラメータには、接続した入力から検出された名前と拡張子が自動的に入力されます。このケースでは、 Namemergepacked1に設定され、mergepacked1 ノードには拡張子がないため Type は空っぽのままです。Rig Treeビューを見ると、Pack Folder SOPがパックフォルダ構造にmergepacked1を追加したことが分かります:

/
-- mergepacked1

Name および Type パラメータの横にあるアクションボタンをクリックし、 Names/Types From Input を選択すると、 Name / Type パラメータに __INPUT__ キーワードが入力されます。これは、入力ジオメトリがパックフォルダ構造に追加された時、そのnameアトリビュートを使用するようSOPに指示するものです(このケースではジオメトリのnameアトリビュートはMerge Packed SOPによって追加されます)。Rig Treeビューを見ると、Pack Folder SOPが、パックフォルダ構造にbox1.shpとbox2.shpの2つの要素を追加したことが分かります。

/
-- box1.shp
-- box2.shp

Note

Name From Input オプションは、入力ジオメトリにnameアトリビュートがある場合にのみ使用することができます。入力ジオメトリのnameアトリビュートは、Name SOPまたはMerge Packed SOPを使用して設定できます。nameアトリビュートが存在しない場合、入力はパックフォルダ構造に追加されません。

Name SOPを使用する場合は、 Class パラメータを Primitive に設定します。

組み込みの拡張子を使用してデータを追加する

組み込みの拡張子の.charと.ctrlは、パックフォルダ構造にフォルダとして追加され、それ以外の組み込みの拡張子は要素として追加されます。

入力をフォルダとして追加する時:

  • 入力にnameアトリビュートがある場合、Pack Folder SOPは、単一のアンパックされたアイテムを内部に持つ、パックフォルダを追加します。例えば、box.ctrlがPack Folder SOPの入力で、nameアトリビュートがbox_geometryの場合、Rig Treeビューには次のようなパックフォルダ構造が表示されます:

    /
    -- box.ctrl          (パックフォルダ構造)
        -- box_geometry  (アンパックされた要素)
    
  • 入力にnameアトリビュートがない場合、Pack Folder SOPは、名前のないデータを含むパックフォルダを、パックフォルダ構造に追加します。例えば、box.ctrlが入力としてPack Folder SOPに追加される場合、Rig Treeビューには次のようなパックフォルダ構造が表示されます(名前のない要素は表示されません):

    /
    -- box.ctrl          (パックフォルダ構造)
    

    このパックフォルダ構造をUnpack Folder SOPまたはPacked Folder Split SOPに入力し、 Unpack Contents パラメータをオンにした場合、抽出されるデータは元の名前のないボックスプリミティブになります。

    Note

    Geometry Spreadsheetでtreatasfolder Intrinsicをオンにすることで、パックフォルダ構造内のデータがフォルダであるか要素であるかを確認できます。

カスタムの拡張子を使用してデータを追加する

Type パラメータでカスタムの拡張子を指定します。 / メニューには、入力を要素またはフォルダとして追加するオプションがあります。

フォルダ構造内の既存データと同じ名前を持つ新しいデータの処理方法を指定する

Replace Method パラメータで3つのオプションのいずれかを選択します:

Add and Replace

新しいアイテムが追加され、既存のアイテムは置き換えられます。

Add and Keep Existing

新しいアイテムが追加され、既存のアイテムはそのまま維持されます。

Replace

新しいアイテムは追加されず、既存のアイテムが置き換えられます。

パックオブジェクトの名前/タイプを入力ノードのものにリセットする

Reload Names ボタンをクリックします。

ジオメトリのない入力を無視する

Ignore Empty Inputs オプションをオンにします。

アンパックされたデータのみをパックする(パック済みのデータはパックしない)

  1. Pack Output をオンにします。

  2. Only Pack Unpacked をオンにします。

これらのパラメータの詳細は、Pack Folder SOPを参照してください。

Unpack Folder SOPとPacked Folder Split SOP

To...Do this

抽出されたデータを確認する

抽出されたデータは、Rig TreeビューとGeometry Spreadsheetの両方に表示することができます。

Rig Treeビュー:

  • ノード名の横にあるドロップダウンボックスを、抽出された出力に設定します。

  • TypePacked Folders に設定します。

Geometry Spreadsheet:

  • 上部のツールバーにある Primitivesをクリックします。

  • Packed Folder Split SOPでは、ノード名の横にあるドロップダウンメニューから Extracted を選択します。

特定のパスからデータを抽出する

Extract Pattern パラメータで、/root/object1/test1.rigのように、抽出したいファイルのパスを指定します。

特定の名前を持つすべてのデータを抽出する

例えば、box2.shpという名前のデータをすべて抽出するには、 Extract Pattern パラメータにbox2.shpと入力します。Unpack FolderとPacked Folder Split SOPは、パックフォルダ構造内のすべてのフォルダを調べ、box2.shpという名前のすべての要素を抽出します。

特定の拡張子を持つすべてのデータを抽出する

例えば、すべての.shpファイルを抽出するには、 Extract Pattern パラメータに*.shpと入力します。

アトリビュートまたはグループ名に基づいてデータを抽出する

Extract Pattern パラメータで、検索パターンを“{}”で囲みます。検索パターンは、他のSOPの Group パラメータと同じグループの構文を使用します。

例えば、{@name=test3.rig @index=2-3}は、test3.rigと、2または3のindexアトリビュートを持つすべてのデータを抽出します。

Note

データは、すべてのプリミティブが検索パターンに一致した場合にのみ抽出されます。例えば、あるデータのプリミティブのインデックスが0-5であり、検索パターンが{@index=2-3}の場合、インデックスの一部が検索パターンの範囲外となるため、データは抽出されません。

パスとアトリビュート/グループの検索パターンを組み合わせることもできます。例えば、object3*/* - {@index>=2}は、object3で始まるフォルダ内のすべてのデータを抽出しますが、2以上のインデックスを持つデータは抽出しません。

&+-を使用して複数の検索パターンを組み合わせるなど、パターンマッチング構文の詳細については、APEXパスパターンを参照してください。

抽出されたデータをアンパックする

Unpack Contents パラメータをオンにします。データが複数回パックされている場合(複数レベルのパッキングがある場合)、 Unpack Contents をオンにすると、抽出されたデータのトップレベルのみがアンパックされます。

抽出されたデータをPacked Folders出力に保持する(Packed Folder Split SOPの場合)

Extract Only パラメータをオンにします。データは抽出されるだけで、Packed Folders出力から削除されません。

抽出されたデータ以外を出力する(Unpack Folder SOPの場合)

Invert をオンにします。

出力の順番を反転させる(Packed Folder Split SOPの場合)

Invert Selection をオンにします。

KineFX

概要

キャラクタ要素の準備

APEXグラフを使用したリギング

APEXスクリプトを使用したリググラフの構築

リグコンポーネントを使用したリギング

ビューポート内でアニメーションを付ける

SOPベースのアニメーション

変形

アニメーションのリターゲット

H20以前

ペイン

別表