On this page

UI/UX

  • どのコンテキスト内でもTOP Networkノードの情報にグローバルアトリビュートが表示されるようになりました。また、このグローバルアトリビュートは、通常のワークアイテムレベルのアトリビュートと同じカラースキームを使用し、文字列型ならピンク、整数型なら緑、浮動小数点型ならオレンジで表示されます。

  • すべてのTOPノードの情報には、そのノードの Total Generate TimeTotal Cook TimeAverage Cook Time Per Work Item が表示されるようになりました。

  • すべてのProcessor TOPノードの情報には、そのノードのジョブスクリプトコマンドライン情報、互換性のあるサービスが表示されるようになりました。

  • TOPノードのメニューオプションの Delete This Node’s Output Files from Disk が新しくなり、ファイル選択ウィンドウが使えるようになりました。これによって、ディスクから削除したい出力ファイルを選択することができます。

    Delete This Node’s Output Files from Diskの右クリックメニューアイテム > ファイル選択ウィンドウ
  • Bundle Listペインの > Filter ドロップダウンリストに新しく追加された TOP系フィルター を使用して、PDGノードタイプ(例えば、Schedulers、Processors、Partitioners)でバンドルノードをフィルタリングできるようになりました。

  • 改良されたPDG Path Mapペインでは、PDGパスマップのカスタムゾーンを追加したり、マッピング別に作成したスケジューラを表示できるようになりました。

TOPネットワーク

  • TOP Network ノードに新しく追加されたDefault Item Labelパラメータを使用することで、すべてのコンテキストにおいてデフォルトラベル設定を持たないTOPネットワーク内のすべてのタスクのデフォルトワークアイテムラベルを指定することができます。

  • 新しく追加されたHOUDINI_DELAYSYNC_HDA環境変数は、アセットがクックされない限り、そのアセットコンテンツの遅延同期を有効にします。これは、(TOPsを含む)どのネットワークタイプでも利用可能で、ロード/初期化時間を短縮させたい時に役立ちます。

  • TOP Network SOPに新しく追加されたSave Graph Attributes to .hipパラメータを使用することで、TOPグラフに格納されているグローバルアトリビュートを.hipファイルに保存することができます。これによって、次回にその.hipファイルを開いた時に、すべてのグローバルアトリビュートとその設定がまだそのTOPグラフ上で利用可能な状態になります。

  • TOP Geometry SOPに新しく追加されたGroup Work Items UsingパラメータとPiece Attribute Nameパラメータを使用することで、SOPノードの出力においてワークアイテムのジオメトリをどのようにグループ化するのか制御することができます。例えば、Point Groups、Primitive Groups、Point Attribute、Primitive Attributeのどれかの方法でジオメトリをグループ化したり、まったくグループ化しないようにすることができます。

PDGサービス

  • 以下の新しく追加された Service系TOP ノードを使用することで、PDGグラフ内で直接PDGサービスをセットアップ、管理することができます:

  • PDG Servicesウィンドウでは、新しい Python Script Service タイプが利用可能になりました。

  • PDGサービスを登録時、または、登録後にいつでもそのPDGサービスを設定できるようになりました。ただし、そのPDGサービスが実行中は設定できません。

  • 同じタイプの複数のPDGサービス(例えば、複数のHDA Processor Services)を登録し、異なる名前を付けることができるようになりました。

USD

  • USD Import TOPに新しく追加されたImport AttributesパラメータとImport Relationshipsパラメータを使用することで、ターゲットLOPノードまたは.usdファイルから取り込まれるアトリビュートとリレーションシップを制御することができます。

  • USD Import TOPに新しく追加されたAttribute NamesパラメータとRelationship Namesパラメータを使用することで、取り込まれたアトリビュート名とリレーションシップ名のリストをワークアイテムアトリビュートに書き出すことができます。

  • USD Import TOPに新しく追加されたNamespace Cutoff Indexパラメータを使用することで、USDアトリビュートをワークアイテムアトリビュートに取り込む時に、そのUSDアトリビュートからトークンを(その名前の左側から、または、右側から)トリムすることができます。

  • USD Render TOPに新しく追加されたOutput File Tagパラメータを使用することで、そのUSD Render TOPノードのワークアイテムで生成されるすべての出力にカスタムファイルタグを適用することができます。

ネットワークとサーバー

  • URL Request TOPに新しく追加されたRetry BackoffパラメータとRetry Status Codesパラメータを使用することで、失敗したURLリクエストを再試行する時に、その再試行する時間の間隔と再試行するHTTPステータスコードを指定することができます。

エクスプレッション

  • TOPノードエクスプレッションにおいて、範囲外のインデックスまたは無効なファイルタグといった失敗したアトリビュート評価は、その失敗した評価の原因の詳細を示した明示的な警告メッセージを出すようになりました。

PDG APIs

  • アトリビュートの追加、削除、アクセスをするすべてのPDGメソッドは、pdg.WorkItemから新しいpdg.AttributeOwnerベースクラスに移動しました。pdg.WorkItemはこの新しいベースクラスを継承しており、すべてのメソッドは引き続きpdg.WorkItemインスタンスからアクセスできるようになっているので、この変更によって、アトリビュートにアクセスする既存のコードが影響を受けることはありません。

  • pdg.ValuePatternクラスは、値毎に文字列接頭辞を使用して 値の範囲 を指定するための短縮構文に対応しました。この範囲は、その接頭辞の後に 大括弧 で閉じて定義します。例えば、prefix[1-4]は、次の連番値を生成します: prefix1, prefix2, prefix3。この範囲にはオプションでステップサイズを含めることもできます。例えば、prefix[1-10:2]です。

  • 新しく追加されたpdg.AttributeUtils.ignoreWarnings()コンテキストブロックは、有効なワークアイテムデータの不足が原因の@attribエクスプレッション警告メッセージを一時的に抑えることができます。

  • pdg.Graphクラス、pdg.Nodeクラス、pdg.WorkItemクラスに新しく追加されたprepareDirty()メソッドは、pdg.WorkItemDirtyオブジェクトを作成することができます。このオブジェクトには、後で破棄または実行できるDirtyオペレーションの記述が格納されます。

  • pdg.Portに新しく追加されたevaluateBool()メソッドは、整数型のポート番号をブールとして評価することができます。

  • pdg.WorkItem.cookDuration()プロパティは、ワークアイテムのクックのステージにおける値を返すようになり便利になりました。例えば、ワークアイテムがまだクックを開始していなければpdg.WorkItem.cookDuration()0を返すようになり、ワークアイテムがクック中であればcurrent_time - start_timeを返します。

  • ほとんどのpdg.Attributeタイプのクラス(例えば、pdg.AttributeFileなど)に新しくisArrayプロパティが追加されました。値の配列に対応しているデータタイプ(intfloatstringfile)であれば、このプロパティにはTrueが設定されます。

  • PDG PythonとJob APIの Result Data メソッドは廃止され、代わりに、 入力ファイル出力ファイル を参照する名前のとおりの新しいメソッドに置き換わりました。例えば、新しく追加されたpdg.WorkItem.inputFilesメソッドがpdg.WorkItem.inputResultDataの代わりになり、新しく追加されたpdg.WorkItem.outputFilesメソッドがpdg.WorkItem.resultDataの代わりとなりました。しかし、すべての古いPDG APIのResultDataメソッドは引き続き動作します。

  • pdg.utils.addItemFromSerialized(..)ユーティリティメソッドは廃止されました。代わりに、pdg.WorkItemHolder.addWorkItemFromJSONFileメソッドを使用してください。

  • ラップされたROP TOPアセットの生成に使用するコードがpdg.hda.ropwrapper モジュールで利用可能になりました。

  • 新しく追加されたpdg.Node.scriptInfoプロパティを使用して、ノードのジョブスクリプトに関する情報を照会することができます。

  • 新しく追加されたpdg.Port.evaluateRawStringメソッドを使用して、バッククォートまたは$variable展開を適用しないでPDGノードパラメータを評価することができます。

  • Pythonスクリプトがpdg.File.sizeプロパティを書き込めるようになりました。このプロパティは、もはや読み込み専用ではありません。

  • pdg.PathMapEntryクラスのfromtoschedulerメソッドは、それぞれmapFrommapTocreatedByという名前に変更されました。

ワークアイテム

  • Work Item Expand TOPに新しく追加されたValue Attributeパラメータを使用することで、展開されたファイルリストまたはパーティションワークアイテムに追加される展開値アトリビュートの名前を指定することができます。

  • 新しく追加されたWork Item Import TOPを使用して、ディスク上の.jsonファイル、または、シーンファイル内の他のTOPノードからワークアイテム(アトリビュートデータまたはソースワークアイテムにリストされた出力ファイルを含む)を取り込むことができます。

  • Remote Graph TOP上のワークアイテムのメニューに新しく追加された Boost Priority オプションを使用して、そのワークアイテムの優先度を上げることができます。

アトリビュート

  • 新しく導入された グローバルアトリビュート を使ってデータをグローバルで格納することで、TOPグラフ(/topnet)内のすべてのノードでアクセス可能なアトリビュートを作成することができます。グローバルアトリビュートは、あなたのTOPグラフ上に直接作成したり、特定のワークアイテムにバインド(限定)させることができ、シーン内で@アトリビュート構文を使用するか、または、PDG PythonAPIを使用して、そのグローバルアトリビュートにアクセスすることができます。詳細は、グローバルアトリビュート vs. ワークアイテムアトリビュートを参照してください。

  • 新しく追加された Attribute Promote TOPを使用することで、ワークアイテム上の出力ファイル、組み込みフィールド、アトリビュートを変換することができます。また、このノードを使用して、ワークアイテムアトリビュートからグラフアトリビュートを設定したり、グローバルグラフアトリビュートからワークアイテムアトリビュートを設定することができます。

  • 新しく追加されたAttribute Reduce TOPを使用することで、ワークアイテム毎に配列アトリビュートを単一値に下げることができます。

スケジューラ

  • すべてのScheduler系ノードに新しく追加されたRPC Serverパラメータを使用することで、Scheduler RPCエンドポイントの接続、タイムアウト、再試行回数のオプションを設定することができます。

  • HQueue Scheduler TOP Deadline Scheduler TOP Tractor Scheduler TOPのファームスケジューラ系ノードに新しく追加されたOutput Nodeパラメータを使用することで、ジョブ投入時にクックしたいノードのパスを指定することができます。

  • Deadline Scheduler TOPに新しく追加されたTask File Timeoutパラメータを使用することで、Schedulerのタスクファイルをタイムアウトまで待機する時間を指定することができます。

  • Local Scheduler TOPに新しく追加されたSkip Loading Packagesパラメータを使用することで、Local Schedulerで生成された子プロセスにHoudiniパッケージがロードされないようにすることができます。また、Local Schedulerを Schedulersタブ ▸ TOP Scheduler Override として使用している個々のノードにこのパラメータを追加することができます。

  • HQueue Scheduler TOPは、Max Threadsパラメータが明示的に設定されていない限り、現在のCPUs per Jobパラメータ値に合うように、自動的にHOUDINI_MAXTHREADSを設定するようになりました。ただし、 CPUs per Job設定されていない 場合、HOUDINI_MAXTHREADSはデフォルトの0になり、各ファームジョブがすべてのCPUコアを使用できるようになります。

  • HQueue Scheduler TOPは、明示的にCPUs per Jobパラメータ値が 設定されていない ジョブに対して自動的に単一 Job Parms > タグを適用するようになりました。

  • Tractor Schedulerに新しく追加されたAuto retry downstream tasksパラメータを使用することで、親タスクが手動で再試行された時に自動的に子タスクを再試行させることができます。

プロセッサ

  • ワークアイテムのスケジュールを組むすべてのProcessorノードには、新しくSchedule Whenパラメータが追加されました。このパラメータによって、指定したワークアイテムをスケジュールに組むかどうか指定したり、エクスプレッションを使用して条件的に指定したワークアイテムのスケジューリングを有効/無効にすることができます。

  • 以下に載せているパラメータを使用することで、Processorワークアイテムを In-Process または Out-of-Process のどちらでクックするのか選択することができます。

    ワークアイテムをIn-Processでクックした場合、そのワークアイテムは、現行Houdiniセッション(メインスレッド)内でクックされます。 ワークアイテムをOut-of-Processでクックした場合、そのワークアイテムは、Schedulerで生成された別のプロセスによってクックされます。In-Processによるワークアイテムのクックは、Out-of-Processよりも非常に高速ですが、小さい軽量なHDAsにのみ向いています。 例えば、大規模なシミュレーションの出力に対してすぐに終わる操作を実行する軽量なHDAをクックするだけのためにファーム上で新規タスクを回したくありません。

  • 以下のノードに新しく追加された Service クックタイプパラメータオプションと Service Name パラメータを使用することで、 サービス を利用してProcessorワークアイテムをクックすることができます:

  • Render IFD TOPに新しく追加されたOutput Filterパラメータを使用することで、カスタムPythonスクリプトを使用して、レンダー出力をフィルタリングして、それらの出力をワークアイテム出力ファイルとして出すことができます。

  • In-Processでクックされるワークアイテムに関しては、 HDA Processor TOPに新しく追加されたDelete HDA Instance after Cookingパラメータを使用することで、クックの度に新しくインスタンスを作成/破壊するのではなく、既存の.hdaインスタンスを再利用できるようになりました。

  • HDA Processor TOPに新しく追加されたSpecify Operator Using > First Definition in Asset and Custom String パラメータオプションを使用することで、特定のオペレータタイプまたはターゲットの.hda内で最初に見つかった定義を使用することができます。

  • File Rename TOPFile Sourceパラメータに新しく追加された Upstream Output File オプションを使用することで、上流の出力ファイルの名前を変更することができます。

  • File Compress TOPに新しく追加された圧縮コントロールを使用することで、アーカイブファイルの圧縮方法を制御することができます。

    • 新しく追加されたCompress Archiveパラメータを使用することで、.zipファイルの圧縮を有効または無効にすることができます。

    • 新しく追加されたAppend to Existing Archiveパラメータを使用することで、ディスク上の既存の.zipファイルにファイルを追加することができます。

    • 新しく追加されたCompression Levelパラメータを使用することで、.tar.gzファイルの圧縮レベルを指定することができます。

  • Output TOPに新しく追加されたWork Item Labelパラメータとオプションを使用することで、そのノードのワークアイテムのラベルをカスタマイズすることができます。

  • OP Notify TOPは、そのノード上のワークアイテムがクックされた時にターゲットTOPノード上のReloadボタンを発動できるようになりました。

  • File Pattern TOPに新しく追加されたOutput Attributeパラメータを使用することで、マッチしたファイルをワークアイテム出力ファイルとしてではなく、ワークアイテム アトリビュート に格納することができます。

  • CSV Output TOPで生成されるカラムヘッダは、複数コンポーネントを持つアトリビュートなどで他のカラムにそのアトリビュート名の後に数値が付くような時にその1番目のアトリビュート名の後にも数値が付くようになりました。さらに、そのように数値が付くカラムは@attribアクセッサと同じ書式を使用します。例えば、3つのコンポーネントを持つscaleという名前のアトリビュートを書き出すと、そのCSVのカラム名はscale.0scale.1scale.2となります。

  • CSV Output TOPに新しく追加されたAttribute Patternパラメータを使用することで、アトリビュートパターンでカラムを指定することができます。

  • Python Script TOPは、デフォルトで、ワークアイテム生成中にスクリプトコードを実行するようになりました。従来通りPython Script TOPのIn-Processクック中にスクリプトコードを実行するオプションもあります。

  • Python Script TOPに新しく追加されたExpand Variables in Scriptパラメータを使用することで、スクリプトパラメータを変数展開、または、そのままの文字列のどちらで評価するのか指定することができます。

  • Python Script TOPに新しく追加されたCaching and Output Filesパラメータを使用することで、スクリプトのキャッシュモードを選択したり、出力ファイルの派生元を指定することができます。これらのパラメータによって、出力が既にディスク上に存在した時にキャッシュからワークアイテムをクックすることができます。

  • Python Processor TOPがワークアイテムを生成できるようにするために入力ファイルの内容を読み込む必要がある場合、Python Processor TOPに新しく追加されたRequires Input Dataパラメータを有効にすることで、そのノードが入力ファイルデータにアクセスする必要があることを示せるようになりました。

  • JSON Input TOPに新しく追加されたOn Attribute Collisionパラメータを使用することで、ワークアイテム.jsonデータをロードした時のアトリビュート名の干渉の解決方法を制御することができます。

  • JSON Output TOPに新しく追加されたWrite Partition Contentsパラメータを使用することで、パーティションの内容をワークアイテムの 配列 としてJSONに書き出すことができます。

パーティショナー

  • ほとんどのPartitionerノードに新しく追加されたPreserve Arraysパラメータを使用することで、パーティショナーで入力アトリビュートをマージする時にその配列サイズを維持することができます。

  • PartitionerノードのMerge Operationsマルチパラメータは、各Partitionerノードのパラメータインターフェース内でその設定を手動で指定しなければならなかったのが、pdg.mergeOperationMenu()関数で生成できるようになりました。

  • Partition by Node TOPに新しく追加されたSort Nodes Byパラメータを使用することで、ノードを名前または入力インデックスでソートすることができます。

ROPワークフロー

  • すべてのROP TOPノードに新しく追加されたCook Typeパラメータを使用することで、ワークアイテムをIn-Process、Out-of-Process、サービスのどちらの方法でクックするのかを選択することができます。これは、単一フレームとバッチのどちらのワークアイテムにも使用することができますが、外部.hipファイル内のROPまたは分散シミュレーションのROPのクックには使用することはできません。

  • ROP TOPノードに新しく追加されたService Nameパラメータを使用することで、そのROP TOPノードのクックに使用したいサービスを指定することができます。

  • すべてのROP TOPノードに新しく追加されたIgnore Scene Load Errorsパラメータを使用することで、ワークアイテムがシーンファイルをロードした時のエラーを無視するかどうかを選択することができます。

  • すべてのROP TOPノードのCook Batch Whenパラメータに新しく追加された Fixed Number of Frames are Ready オプションや Percentage of Frames are Ready オプションを使用することで、特定のフレーム番号またはある程度のフレームがクックされた後にバッチを開始させることができます。

  • すべてのROP TOPノードに新しく追加されたOutput Log ParsingパラメータやCustom Log Formatパラメータを使用することで、ワークアイテムに出力ログメッセージを検索させたり、そのログメッセージの書式文字列を指定することができます。

  • 新しく追加された ROP FBX Output TOPを使用することで、 FBX ROPをクックするワークアイテムを生成し、出力の.fbxファイルを出力することができます。

  • ROP Karma TOPのKarma系パラメータが新しくシンプルになってセットアップしやすくなりました。詳細は、Solaris v19.5のWhat’s Newを参照してください。

  • ROP Karma TOPに新しく追加されたWork Item Labelパラメータとオプションを使用することで、ROP Karma TOPのワークアイテムのラベルをカスタマイズすることができます。

  • ROP Fetch TOP ROP Geometry TOPに新しく追加されたReload Parm Pathパラメータを使用することで、各フレームがクックされる前に押したいパラメータのパスを指定することができます。これは、手動でReloadボタンを押して外部リソースをリロードする必要があるノードを参照したROPをクックする時に役に立ちます。

  • ROP Fetch TOPは、そのターゲットROPノードのPre-Frame ScriptパラメータとPost-Frame Scriptパラメータにスクリプトを書かなくても、hou.RopNode.addRenderEventCallback HOM APIメソッドを使用してそのターゲットROPにプリフレームとポストフレームのフックを設定できるようになりました。

What’s new in Houdini 19.5