Houdini 18.0 ノード TOPノード

Attribute from String TOP node

ファイル名などの文字列からアトリビュート値を解析します。

On this page

このノードは、単純なパターン置換言語または多能な正規表現のどちらを使用するのか選択することができます。 分割文字で構造化された文字列には、単純なパターンを使用した方が記述が簡単で理解しやすいです。

単純なパターン言語

このノードは、非常に単純なパターン言語に対応しており、名前付き"キャプチャ"グループとリテラル文字(そのままの文字)を交互に使用します。 キャプチャグループの文字列はアトリビュートに割り当てられます。これは、区切り文字を使った通常の構造体でファイル名を付けている場合に、そのファイル名から情報を解析するのに役立ちます。

例えば、"ソース"ファイル名を以下の形式で名前を付けたとします:

shot_a.simcache.1.005.bgeo.sc

以下のパターンを使用すれば、別々の部分をアトリビュートとして解析することができます:

{shot}.{}.{wedgenum}.{frame}.bgeo.sc

(波括弧の中を空っぽにすると、その部分はアトリビュートに割り当てられません。)

  • このパターンでは、波括弧({name})は以下のパターンのリテラル文字に合致します。

    • 波括弧の中が空っぽであれば、マッチした文字列は破棄されます。

    • 波括弧の中に名前が入っていれば、そこにマッチした文字列がその名前のアトリビュートに割り当てられます。例えば、{shot}で"キャプチャ"されたソース文字列の部分はshotアトリビュートに割り当てられます。

    • Infer Attribute Type を有効にすると、このノードは、合致した文字列に基づいてアトリビュートタイプを推測します(それが整数文字列であれば、そのアトリビュートタイプは整数に、浮動小数点文字列であれば、浮動小数点に、それ以外は文字列になります)。{name:type}を使用することで、アトリビュートタイプを明示的に指定することができます。例えば、{shot:string}, {frame:int}, {time:float}です。

  • パターンの最後の波括弧は、ソース文字列の最後にマッチします。

  • 波括弧の外では、パターン内の文字は、ソース文字列の文字にそのまま合致します。

  • 波括弧は"欲張り"ではありません…これは遠くの文字列にマッチさせるのが良い場合でも、次のリテラル文字以前のところまでマッチします(つまり、最長マッチしません)。

    例えば、day.01.csvに対して{name}.csvパターンを使用する時に、{name}にはday.01をキャプチャしてほしいわけですが、実際にはdayのみがキャプチャされます(このパターンは次のリテラル文字、ここではピリオドまでをキャプチャします)。 このパターンは、ピリオドの後の文字は01ではなくcsvであることを期待しているので、失敗に終わります。

  • パターンは、(接頭辞のみではなく)ソース文字列にマッチしなければなりません。

  • 全パターンがマッチしなかった場合、そのパターン内のアトリビュートは何も設定されません。

正規表現

非常に強力/柔軟な文字列置換を行ないたいのであれば、代わりに正規表現を使用することができます。 このノードは、Pythonの正規表現構文を使用します。

  • 正規表現を使用すると、暗黙的に Infer Attribute Type が有効になります。

パラメータ

Work Item Generation

このノードが静的または動的なワークアイテムのどちらを生成するかどうか。 このノードのワークアイテムが静的に計算可能かどうか、もしくは、動的に生成させる必要があるかどうか分からないのであれば、通常では、これを"Automatic"のままに設定してください。

Dynamic

このノードが常に動的なワークアイテムを生成します。つまり、上流のワークアイテムが判明するまで待機し、その上流のワークアイテムから新しいワークアイテムを生成します。

Static

このノードが常に静的なワークアイテムを生成します。つまり、ネットワークを実行する前にパラメータ(と上流の静的なワークアイテム)に基づいて必要だと思われるだけの数のワークアイテムを生成します。

Automatic

入力が静的(静的なプロセッサ、静的な入力のみを使ったパーティショナー、マッパー)な場合、このノードは静的なワークアイテムを生成し、そうでない場合、動的なワークアイテムを生成します。

Source String

解析したいデータを含んだ文字列。 通常では、ここにはアトリビュートから文字列を取得するエクスプレッションを指定します。 これは文字列パラメータなので、エクスプレッションをバッククォートで閉じる必要があります。例: `@name`

Operation

ソース文字列に対して実行するオペレーションを決定します。 Match by String は、パターンを使って Source String からコンポーネントを抽出し、それらのコンポーネントをアトリビュートとして保存します。 Split by Delimiter は、セカンダリ文字列に基づいてソース文字列を分割し、その結果のサブ文字列をアトリビュートとして保存します。

Match by Pattern

Pattern Type

Pattern フィールドに単純な中括弧の構文または正規表現のどちらを使用するのか決定します。 正規表現を使用した時、キャプチャグループがその番号によってgroup0, group1のようにアトリビュートに割り当てられます。 キャプチャグループに名前を付けた場合(例えば、(?P<name>)構文を使った場合)、そのアトリビュート名がキャプチャグループ名に設定されます。

Pattern

Source String からアトリビュートを抽出する際に使用するパターン。 この言語は、 Use Custom Regex チェックボックスで制御します。 このチェックボックスを無効にすると、このパラメータは単純なパターン置換言語(上記参照)を使用します。 このチェックボックスを有効にすると、このパラメータは正規表現を使用します。

Infer Attribute Type

これを有効にすると、キャプチャパターンのタイプ(例えば、{shotnum:int})が明示的に指定されていなかった場合、このノードは、合致した文字列の内容に基づいてアトリビュートのタイプを推測します (それが整数文字列であれば、そのアトリビュートタイプは整数に、浮動小数点文字列であれば、浮動小数点に、それ以外は文字列になります)。

Create Items With No Matches

デフォルトでは、このノードは、パターンに合致した入力のワークアイテムのみから新しいワークアイテムを生成します。 これを有効にすると、合致しなくてもワークアイテムが渡されます。

Split by Delimiter

Delimiter Type

Source String を区切る際に使用する区切りのタイプを指定します。 String を使用すると、 Delimiter フィールドのそのままの内容に基づいてソース文字列を分割します。 Character Set は、個々の区切り文字に基づいて分割します。 Regular Expression は、 Delimiter を独自の正規表現として解釈します。

Delimiter

ソース文字列を分割する時に使用する区切り文字。

Store Result As

分割した文字列を保存する方法。それぞれのコンポーネントを、単一ワークアイテム上に文字列配列アトリビュートとして保存したり、コンポーネント毎に1個のワークアイテムに分割することができます。

Trim Whitespace

このトグルを有効にすると、文字列を分割した後にそれらのコンポーネントの先頭と後尾の空白を除去します。

Examples

example_top_attributefromstring Example for Attribute from String TOP node

このサンプルでは、上流のワークアイテムの文字列アトリビュートから、ワークアイテムのアトリビュートを作成する方法について説明しています。

See also

TOPノード

  • Attribute Array

    ワークアイテム上に配列アトリビュートを作成/変更します。

  • Attribute Copy

    あるブランチのワークアイテムのアトリビュートを他のブランチのワークアイテムにコピーします。

  • Attribute Create

    入力のワークアイテムすべてに対してアトリビュートを作成または設定します。

  • Attribute Delete

    ワークアイテムからアトリビュートを削除します。

  • Attribute Rename

    ワークアイテム上のアトリビュートの名前を変更します。

  • Attribute from String

    ファイル名などの文字列からアトリビュート値を解析します。

  • Block Begin Feedback

    For-Loop with Feedbackブロックを開始します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • Block End Feedback

    For-Loop with Feedbackブロックを終了します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • CSV Input

    CSVファイルのデータをワークアイテムのアトリビュートにコピーします。

  • CSV Output

    ワークアイテムのアトリビュートをCSVファイルに書き出します。

  • Command Send

    実行させたいコードを共有サーバーに送信します。

  • Command Server End

    サーバーブロックを終了します。

  • Deadline Scheduler

    Thinkbox社のDeadlineソフトウェア用PDGスケジューラ。

  • Download File

    1つ以上のURLの内容をファイルにダウンロードします。

  • Environment Edit

    ワークアイテムのコマンドラインが実行する環境下で設定する変数を編集します。

  • Error

    条件を満たした時に警告またはエラーを生成します。

  • Error Handler

    失敗したワークアイテムのエラーハンドル。

  • FFmpeg Encode Video

    静止画像シーケンスを動画に変換します。

  • FFmpeg Extract Images

    動画ファイルから静止画像シーケンスを抽出します。

  • File Compress

    ファイルをアーカイブに圧縮します。

  • File Copy

    実行時またはノードがファイルを生成した時に、ファイルをある場所から別の場所にコピーします。

  • File Decompress

    入力のワークアイテムで指定されたアーカイブファイルを個々のファイルに解凍します。

  • File Pattern

    特定のパターンに合致したファイルに基づいてワークアイテムを生成します。

  • File Range

    特定のファイルパターンに基づいたフレーム範囲からワークアイテムを生成します。

  • File Remove

    指定したパスのファイルを削除します。

  • File Rename

    ファイルを名前変更または移動させます。

  • Filter by Expression

    上流のワークアイテムを条件付きでフィルタリングします。

  • Filter by Range

    指定したフレーム内またはアトリビュート範囲内にある上流のワークアイテムを絞り込みます。

  • Generic Generator

    アトリビュートなしでコマンドラインを実行するワークアイテムを生成します。

  • Geometry Import

    SOPまたはジオメトリファイルのポイントまたはプリミティブをワークアイテムアトリビュートまたは一時ファイルに読み込みます。

  • HDA Processor

    デジタルアセットをクックするワークアイテムを生成します。

  • HQueue Scheduler

    HQueueを使用してワークアイテムのスケジュールを組みます。

  • Houdini Server Begin

    持続型Houdiniコマンドサーバーを起動します。

  • ImageMagick

    一括で画像変換、サイズ変更、画像モザイクなどのImageMagickの機能に簡単にアクセスすることができます。

  • In Process Scheduler

    In-Processワークアイテムのスケジューリングを制御します。

  • Invoke

    入力ジオメトリに対してコンパイルブロックを呼び出します。

  • Json Input

    JSONファイルからデータを抽出してアトリビュートを作成します。

  • Json Output

    JSON出力を生成する色々なオペレーションを実行します。

  • Local Scheduler

    ローカルマシン上でワークアイテムのスケジュールを組みます。

  • Make Directory

    ディレクトリを作成します。

  • Map All

    上流のすべてのワークアイテムを下流のワークアイテムにマップします。

  • Map by Expression

    エクスプレッションを使って、上流のワークアイテムを下流のワークアイテムにマップします。

  • Map by Index

    上流のワークアイテムをインデックスに基づいて下流のワークアイテムにマップします。

  • Map by Range

    範囲を使って上流のワークアイテムを下流のワークアイテムにマップします。

  • Maya Server Begin

    持続型Mayaコマンドサーバーを起動します。

  • Merge

    上流のすべてのワークアイテムを結合します。

  • Nuke Server Begin

    持続型Nukeコマンドサーバーを開始します。

  • Null

    何もしません。

  • OP Notify

    何かしらのTOPワークが完了したことを通知します。

  • Output

    サブネット出力。

  • Partition by Attribute

    アトリビュートに基づいてワークアイテムを区分けします。

  • Partition by Bounds

    境界アイテムを使って、ソースアイテムを空間的に区分けします。

  • Partition by Combination

    ワークアイテムを2個毎、3個毎などに区分けします。

  • Partition by Comparison

    既存の比較を使ってワークアイテムを区分けします。

  • Partition by Expression

    エクスプレッションに基づいてワークアイテムを区分けします。

  • Partition by Frame

    フレームに基づいてワークアイテムを区分けします。

  • Partition by Index

    インデックスに基づいてワークアイテムを区分けします。

  • Partition by Node

    ノードに基づいてワークアイテムを区分けします。

  • Partition by Range

    範囲に基づいてワークアイテムを区分けします。

  • Partition by Tile

    軸に平行な境界ボックスを使ってワークアイテムを空間的に区分けします。

  • Perforce

    PDG経由でPerforceコマンドを実行します。

  • Python Mapper

    Pythonスクリプトを使ってワークアイテムをマップします。

  • Python Partitioner

    Pythonスクリプトを使ってワークアイテムを区分けします。

  • Python Processor

    Pythonスクリプトを使ってワークアイテムを生成します。

  • Python Scheduler

    Pythonベースでプログラミング可能なPDG用スケジューラ。

  • Python Script

    スクリプトを実行するワークアイテムを生成します。

  • Python Server Begin

    Pythonコマンドサーバーを起動します。

  • ROP Alembic Output

    埋め込まれたROP Alembic ROPノードをクックするワークアイテムを生成します。

  • ROP Composite Output

    埋め込まれたComposite ROPノードをクックするワークアイテムを生成します。

  • ROP Fetch

    ROPノードまたはROPネットワークをクックするワークアイテムを生成します。

  • ROP Geometry Output

    埋め込まれたGeometry ROPノードをクックするワークアイテムを生成します。

  • ROP Mantra Render

    埋め込まれたMantra ROPノードをクックするワークアイテムを生成します。

  • ROP USD Output

    組み込まれたUSD ROPノードをクックするワークアイテムを作成します。

  • Range Generate

    指定した範囲のワークアイテムを生成します。

  • Render IFD

    Mantraを使ってIFDファイルをレンダリングするワークアイテムを生成します。

  • SQL Input

    SQLクエリの作成と行毎にワークアイテムを生成する入力ノードです。

  • SQL Output

    SQL INSERTクエリを生成する出力ノードです。

  • Send Email

    電子メールを送信します。

  • Shotgun Create

    Shotgunエンティティを作成します。

  • Shotgun Delete

    Shotgunからエンティティを削除します。

  • Shotgun Download

    ShotgunからAttachmentをダウンロードします。

  • Shotgun Find

    Shotgunエンティティを検索します。

  • Shotgun Server Begin

    持続型Shotgunコマンドサーバーを起動します。

  • Shotgun Update

    Shotgunエンティティを更新します。

  • Shotgun Upload

    Shotgunにファイルをアップロードします。

  • Sort

    アトリビュートのリストからワークアイテムを並べ替えます。

  • Split

    上流のワークアイテムを2つのグループに分けます。

  • Subnetwork

    TOPノード用コンテナ。

  • Switch

    ネットワーク分岐を切り替えます。

  • TOP Fetch

    他のTOPネットワークをクックします。

  • TOP Fetch Input

    TOP Fetchで取得したネットワークの入力。

  • Text Output

    テキストを新しいファイルに書き出したり、既存ファイルに書き足します。

  • Tractor Scheduler

    PixarのTractorを使ってワークアイテムのスケジュールを組みます。

  • USD Import

    USDステージで見つかったPrimsからワークアイテムを生成します。

  • USD Import Files

    USDステージで見つかったファイル参照からワークアイテムを作成します。

  • USD Render

    USDファイルを書き出すワークアイテムを作成します。

  • Wait for All

    上流のワークアイテムすべてが完了するのを待ちます。

  • Wedge

    アトリビュート値を色々と変えながらワークアイテムを生成します。

  • Work Item Expand

    ファイルリストまたはパーティションを複数のワークアイテムに展開します。

  • Xml Input

    XMLファイルからデータをワークアイテムアトリビュートに抽出します。