On this page

UI/UX

  • Tasksメニューオプションや関連付けられたホットキーを使用して、現行選択内の すべて のTOPノードを一括でGenerate(ワークアイテムの生成)、Cook(ワークアイテムの処理)、Dirty(変更ありの状態にする)できるようになりました。

  • HQueue Scheduler TOP, Deadline Scheduler TOP, Tractor Scheduler TOPのファームスケジューラ系ノードのパラメータインターフェースレイアウトが新しく統一されました。

  • TOPワークアイテム依存関係グラフ線とワークアイテムのハイライトのレンダリングパフォーマンスが良くなりました。特に、膨大な数のワークアイテムを同時にハイライトして表示する時がそうです。

  • 新しく追加されたLockフラグを使ってTOPノードをフリーズできるようになりました。

  • スケジューラ系TOPノードは、スケジュールに組まれてキュー(順番待ち)、クックされているワークアイテム、または、(ファームスケジューラTOPノードを使って投入されたワークアイテムなら)保留に失敗したワークアイテムのを表示するようになりました。

  • ファームスケジューラTOPノードのBlock on Failed Work Itemsパラメータが 有効 になっている場合、そのノードの隣に表示されるステータスアイコンは、クックが ブロック されている時、ノードが失敗したワークアイテムが解決されるのを待機している時を示すようになります。これは、ジョブの失敗を直接操作したい時に役立ちます。

  • ネットワークエディタTask Graph TableのTOP UIのメニューに新しく追加された Cancel オプションを使って、または、新しく追加されたpdg.WorkItem.cancel() APIメソッドを使って、ノード上の個々のPDGワークアイテムまたはすべてのワークアイテム、さらには関連ワークアイテムまでもキャンセルできるようになりました。

    新しく追加されたメニューオプションのCancel Work Item
    新しく追加されたメニューオプションのCancel Node
  • /topnetコンテキスト外に新しく追加されたTasksステータスバーは、/topnetコンテキスト外から個々のワークアイテムのジョブプロパティとクック状態を検査することができます。

  • ワークアイテムのInfoウィンドウには、ジョブをもっと効率良く管理できるように、新しく Reload attributes , Show attribute filter , Show No Copy attributes のボタンが追加されました。

    ワークアイテムのInfoウィンドウに新しく追加されたボタン
  • Switch TOP, Null TOP, Output TOPのノードは、入力のワークアイテムドットとそれに呼応する依存関係のワークアイテムドットを結んだラインを表示するようになりました。

    ワークアイテムとその依存関係を表示した新しいNull TOPノード
  • Edit Parameter Interfaceウィンドウ内に新しく追加されたTOP Op Filtersを使って、 Operator Path パラメータをPDGタイプ(Schedulers, Processors, Partitioners, Mappers)でフィルタリングできるようになりました。

    Edit Parameter Interfaceウィンドうに新しく追加されたTOP Op Filters
  • TOP HDA内部のTOPノードから生成された警告は、自動的にアセットまで伝搬しなくなりました。TOPノードがトップレベルのアセットまで警告を伝搬させたいのであれば、そのアセットのType Propertiesウィンドウ内のMessage NodesリストにそのTOPノードを追加する必要があります。

    Edit Operator Type Propertiesウィンドウ内のMessage Nodesフィールド
  • PDG Tasksメニューに新しく追加されたTerminate Remote Sessionメニュー項目を使って、リモートのHoudiniセッションを終了させることができるようになりました。

    新しく追加されたTerminate Remote Sessionメニュー項目
  • レポートされるファイルパス、ジョブスクリプトアトリビュート文字列、TOP UI内の マルチバイト 文字列対応が改良されました。

TOPネットワーク

  • PDGデバッグのログが改良されました:

    • すべてのログメッセージは整合性の取れた書式でタイムスタンプが記録されるようになりました。

    • すべてのログメッセージは、他の出力と区別できるようにPDG接頭辞が付くようになりました。

    • 新しく追加されたHOUDINI_PDG_NODE_DEBUG環境変数は、ノードのデバッグ出力を有効にします。

    • 新しく追加されたHOUDINI_PDG_WORK_ITEM_DEBUG環境変数は、ワークアイテムのデバッグ出力を有効にします。

  • PDGは、ノードのパラメータが参照しているアトリビュートとその内部ロジックに基づいて、そのノードを常にDynamicまたはStaticに構成するようになりました。

  • TOPネットワークは、UI内でワークアイテム選択が変更される度にhou.nodeEventType.CustomDataChangedのイベントを発行するようになりました。このイベントを使用することで、TOPワークアイテムの選択を制御する独自のHOMイベントコールバックを追加することができます。

  • TOP Networkノードに新しく追加されたOn Node Recookパラメータオプション、または、pdg.TypeRegistry()オブジェクトで登録されたカスタムハンドラーを使って、TOPノードのワークアイテム再生成の挙動を手動で制御できるようになりました。

  • TOP Networkノードに新しく追加されたCustom Timeパラメータを使って、アクティブなワークアイテムを持たないTOPネットワーク内のパラメータを評価する際に使用する独自の時間値を指定できるようになりました。

  • TOP Fetchノードに新しく追加されたLoad Work Items from Fetched Networkパラメータを オフ に設定することで、Fetchオペレーション毎に1個のワークアイテムを生成できるようになりました。さらに、このパラメータがオフの時は、 TOP Fetch TOP ノードはもはやクックされる出力に依存しなくなるので、 静的 にすることができます。

  • TOP Fetchノードに新しく追加されたCustom Output Dirパラメータを使って、取得したワークアイテムデータファイルのカスタム出力ディレクトリを指定できるようになりました。

  • TOP Fetchノードは、--pdgスイッチなしでhythonを実行するようになりました。つまり、TOP FetchノードはHoudini EngineライセンスよりもPilotPDGライセンスの方を取得するようなことがなくなりました。

  • TOPネットワーク内の現行(選択されている)ワークアイテムが変更される度に、新しく追加されたhou.nodeEventType.WorkItemSelectionChangedイベントが発行されるようになりました。

PDG Services

  • PDG Servicesパネル(以前の名称は PDG Service Manager )インターフェースが更新され良くなりました。

    新しくなったPDG Servicesパネル
    新しくなったAdd PDG Serviceウィンドウ
  • PDG Servicesはサービスをバックグラウンドで開始できるようになりました。これによって、PDG Servicesパネルはサービス起動中にHoudini UIをブロックしません。

  • PDGは、非常に大きいプールサイズでサービスを開始した場合に遅くならないように、同時に開始されるサービスクライアントの数を制限するようになりました。これによって、サービスクライアントがワークアイテムをより早く受け入れることができるようになります。

  • PDG Servicesは、サービスで使用されているmqserverプロセスのログファイルとログレベルを制御できるようになりました。

  • PDG Servicesは、サービスのプールサイズに基づいて並列で処理されるワークアイテムの数を制限する特別な内部スケジューラを使用してスケジュール管理されるようになりました。

USD

  • USD Import TOPノードに新しく追加されたAdd File Path to Outputsパラメータを使用して、入力ファイルパスをワークアイテム出力にコピーできるようになりました。

Shotgrid

  • TOP ⇥ Tabメニュー > Shotgun サブメニュー項目の名前が ShotGrid に変更されました。

ジオメトリと画像の制御

  • ジオメトリをインポートする時、 Geometry Import TOPノードのExpand Partitionsパラメータを使用して、上流のパーティション化されたワークアイテムからジオメトリをマージします。

  • 使用頻度の高いPDG Add Job Parmsパラメータが FFmpeg Encode Video TOPノードのインターフェスに追加されたので、 In-Process Scheduler, Local Scheduler, HQueue Scheduler のパラメータを FFmpeg Encode Video TOP ノードに迅速に追加する目的でEdit Parameter Interfaceウィンドウに直接アクセスできるようになりました。

ファイル管理とパスマッピング

  • 新しく追加されたカスタムファイル転送ハンドラーは、あなた独自の投入/受信マシン、ストレージシステム、ネットワークセットアップに順応できるように独自のファイル転送ロジックを定義することができます。

  • File Range TOPノードに新しく追加されたCopy File(s) to Working Directoryパラメータを使用して、( File Pattern TOPと同様に)ファイルをスケジューラの作業ディレクトリにコピーできるようになりました。

  • File Pattern TOPノードのextensionアトリビュートは、パターンにマッチしたファイルのフル拡張子(.scだけでなく.bgeo.scまで)を受け入れるようになりました。

  • File Copy TOPFS_Readerに対応しました。

  • File Compress TOP and File Decompress TOP nodes can now process large .zip files.

  • File Decompress TOPノードが膨大な数のファイルを抽出する際のパフォーマンスが良くなりました。

  • File Decompress TOPは、ファイル拡張子(.usdzファイルを含む)に関係なく どの入力ファイルも 解凍を試みるようになりました。

  • File Remove TOPノードに新しく追加されたSet Output Toパラメータオプションによって、ワークアイテムの出力方法をコントロールできるようになりました。これは、 Set Deleted Files As Outputs パラメータを置換しました。

  • 出力ファイルと期待出力をマッチさせる時のパス比較機能が改良されました。PDGは、まず最初にファイルパス内の2重スラッシュを正常に戻してその問題の解決を試みます。その結果、実質的に同じパスにもかかわらずレポートされたパスまたは余計なスラッシュが含まれた期待パスが違う場合でのパス比較が成功するようになります。

  • 新しく追加された*ゾーンは、どのプラットフォームにも適用されるパスマップルールを作成することができます。これは、中間シンボルを介したローカルパスをマッピングしたい時または必須マッピングルールの数を減らしたい時に非常に役立ちます。

  • PDG ファイルマッピング に新しくMACが追加されました。これによって、曖昧さを回避してMac OS XとLinuxが混在したファームを使用することができます。Mac OS XマシンとLinuxマシンがPOSIXの代わりにMACLINUXとして検出されるようになりました。

  • Mac OS XとLinuxのパスマッピングに新しく代替パスが用意されました。MACまたはLINUXがプラットフォーム上で動作していなかった場合にPOSIXが試行されます。これは、Houdiniバージョン18.5.470以前で保存されたパスマップの上位互換として機能します。

ネットワークとサーバー

  • (Mac OS XとLinux) Command Chainサーバーは、コマンド待機でタイムアウトするとPDG Resultサーバーに到達可能かどうかチェックするようになりました。これによって、Houdiniがシャットダウンされた後に誤ってサーバーを実行したままにするのを防ぐことができます。

  • Block Begin Feedback TOPノードとすべてのServer Begin TOP系ノードに新しく追加されたFeedback Output Filesパラメータを使って、ループの反復の度に 出力ファイル を次の反復の初めに、該当するワークアイテム上にコピーすることができます。

  • Block Begin Feedback TOPノードとすべてのServer Begin TOP系ノードに新しく追加されたFeedback Attributesパラメータを使って、ループの反復の度に アトリビュート を次の反復の初めに、該当するワークアイテム上にコピーすることができます。

  • 新しく追加された URL Request TOPノードを使って、TOPグラフからHTTPリクエストまたはHTTPSリクエストを作成できるようになりました。このノードには Download File TOPノードと同様の機能が用意されていますが、オプションでペイロード(ワークアイテムアトリビュートから設定またはディスク上のファイル)を含めたREST APIコールを作成することができます。他にも、このノードはレスポンスデータ、リクエストエラー、リクエストステータスコード、HTTPヘッダをディスクまたはアトリビュートに保存することができます。

  • 多くのジョブスクリプトが$HHP/pdgjobディレクトリに移されました。こうすることで、ファームブレード上で実行可能な多くのスクリプトが一元化されるので、/pdgtemp/scriptsからスクリプトをコピーする必要がなくなり、代わりに 直接 そのディレクトリを使用できるようになりました。

  • MQ Serverが更新されました。

    • mqserverがバージョン1.3.1のnngライブラリを使用するようになりました。

    • 新しく追加された-rオプションは、メッセージのバッチ処理を無効にします。これによって、ワークアイテムジョブがPDGサービスクライアント間で均一に分布されるようになります。

    • 新しく追加された-gオプションは、指定したファイルにすべてのログを直接書き出します。

    • PDG MQ Taskがpdgjobcmdラッパースクリプト下で実行されるようになりました。これによって、簡単に環境を修正できるようになります。

    • ジョブがその投入マシンへの接続を失った際にジョブ全体が失敗するのを防ぐために、MQはexit(1)の代わりにexit(0)を使用するようになりました。この新しい挙動は$PDG_MQ_FAIL_ON_LOSTCONNECTION=1で上書きすることができます。本当のエラーが発生した場合はRPCタイムアウトエラーが表示されることに注意してください。

エクスプレッション

  • エクスプレッション内の@演算子の頭に接頭辞を付けることで、その@演算子が特定のソースからのデータを使用するようにできるようになりました。有効な接頭辞は次のとおりです: ジオメトリ用の G 、コンテキストオプション用の C 、PDGワークアイテムアトリビュート用の P 。例えば、P@sizeは、同じ名前のコンテキストオプションまたはジオメトリアトリビュートが利用できる状態であったとしても、常に size ワークアイテムアトリビュートからのデータを使用するようになります。これは、同じTOPネットワーク内で同じ名前のコンテキストオプションやPDGアトリビュートを混在させて使用したい場合に非常に役立ちます。

  • 新しく追加されたpdgmappath()エクスプレッション関数を使って、パス文字列をローカルゾーンにマップできるようになりました。これは、pdg.File.mapPathToLocal() Python関数と同じ挙動をします。

  • 新しく追加されたpdginputtag(index)pdgoutputtag(index)のエクスプレッション関数を使って引数に インデックス を指定することで、ワークアイテムの入力または出力からファイルタグを照会できるようになりました。短縮形の@pdg_inputtagを使用して最初のファイルタグを取得することもできます。

  • pdgattriblist()エクスプレッションは、アトリビュート名のリストを 昇順 で返すようになりました。

PDG APIs

  • PDGは、もはやAddParentイベントもRemoveParentイベントも発行しなくなりました。すべての依存関係リレーションシップは、 通常の依存関係 から追跡されるようになりました。さらに、pdg.WorkItem.parentプロパティは、Noneを返すのではなく、生成された 静的な ワークアイテムから依存関係を返すようになりました。

  • 値シーケンスを生成するpdg.ValuePatternユーティリティにいくつもの改良が施されました:

    • 新しく追加されたisNumericプロパティは、値シーケンスが純粋に数値なのかどうか、そして、複数のコンポーネント間でステップサイズが可変するかどうかをチェックします。

    • すべての関数にオプションのinclusive引数が追加されました。この引数は、範囲の両端の値を含めるかどうか決めます。デフォルトでは、両端の値は含まれません。

    • 更新されたcontainsRange()メソッドは、パターン内のすべての数値コンポーネントを囲む近似された境界範囲を返すようになりました。

  • pdg.ValuePatternユーティリティは、範囲から特定の値を除外できる^文字に対応しました。

  • カスタムPDG Dirtyハンドラーは、ファイルがこのハンドラーによって削除されたかどうかを示すブール値を返し、ディスクからそのファイルを削除する必要がないことをPDGに伝えることができるようになりました。このハンドラーが値を返さなかった場合、PDGは、そのファイルがこのハンドラーによって 削除されていない と見なします。

  • 新しく追加されたpdg.WorkItem.invalidateCache()メソッドは、プロセス外のワークアイテム用APIです。

  • pdg.Schedulerに新しく追加されたrunOnMainThread()メソッドによって、メインスレッドに対してPython関数またはコール可能オブジェクトを実行できるようになりました。これは、メインスレッド上で安全に実行される唯一のIn-ProcessのPython Script TOPからコードを実行することができます。例えば、Qtメッセージダイアログを開くコードを実行することができます。

  • pdg.WorkItemに新しく追加されたstartSubItem()メソッドとcookSubItem()メソッドによって、In-Processのバッチサブアイテムを開始または停止としてマークできるようになりました。

  • pdgcmdに新しく追加されたreportResultData()メソッドは、ジョブからのRPCコールをバッチ処理することができるので、1個のショット内に非常に膨大な数のファイルがある状況に順応することができます。

  • pdg.AttributePatternに新しく追加されたmultiMatch()便利メソッドは、入力名のリストにパターンを適用して、そのパターンにマッチした文字列のリストを返します。

  • pdg.TypeRegistryに新しく追加されたpathToExt()関数は、指定したパスから、アーカイブ接尾辞を含んだフル拡張子(例えば、bgeo.sc)を返します。

  • pdg.SchedulerrunOnMainThread()関数は、コール元の関数が遅延関数を実行した時に、そのコール元の関数が評価しているノードパスを維持するようになりました。これによって、その遅延関数内の相対ノードパス参照は正しいパスを評価できるようになります。さらに、runOnMainThread()に新しく追加されたオプションのwork_itemキーワード引数を使用することで、その遅延関数の評価中にアクティブなワークアイテムを設定することができます。実施されるパラメータ評価は、そのワークアイテムを使用して@attributesまたは他のPDGワークアイテム関数を評価するようになります。

  • pdg.TypeRegistry.registerScheduler()に新しく追加されたnode_categoryパラメータによって、ノードが検索されるHoudini⇥ Tabメニュー内の場所を指定できるようになりました。

  • pdg.GraphContextに新しく追加されたcookOptions()プロパティによって、グラフからpdg.CookOptionsを照会できるようになりました。

  • pdg.NodeOptionsに新しく追加されたrequiresSceneFile()プロパティはonConfigureNodeコールバックに渡され、そのプロパティによって、PDGノードがシーンファイルに依存するのかどうかを示せるようになりました。

  • pdg.CookOptionsに新しく追加されたsaveSceneプロパティによって、グラフ内のノードが現行シーンに依存する場合に、クック開始前にシーンファイルを保存すべきことを示せるようになりました。

  • pdg.WorkItemaddAttrib()setIntValue()といった様々なPDG APIメソッドで、新しく追加されたオプションのoverwrite引数を指定できるようになります。この引数には、新しいpdg.attribOverwrite列挙のどれかの列挙値を指定することができます。この引数は、アトリビュートがそれと同じ名前の異なるデータタイプのアトリビュートを既に持っているワークアイテムに追加された時の挙動を制御します。

  • pdg.AttributePatternに新しく追加されたオプションの引数のdefault_match_typeは、パターンの項目に対するデフォルトのマッチングの挙動を設定することができます。例えば、pdg.attribMatchType.Bothをパターンコンストラクタに渡すと、パターンの項目で既に明示的に*トークンが使用している場合を除いて、すべての項目が*term*として表現されているものと見なされます。

  • pdg.Scheduler.onWorkItemStartCook()メソッドに新しく追加されたオプションのclear_outputs引数は、ワークアイテムをCooking状態にする前にそのワークアイテムの出力ファイルをクリアすることができます。これは、リトライを実施する場合、または、前回のクックを試みた時に出力ファイルを追加した後に失敗したワークアイテムを扱う場合に役立ちます。

  • pdg.Scheduler.onWorkItemFileResult()メソッドに新しく追加されたオプションのactive_only引数には、既にクック済みのワークアイテムにこのメソッドを適用するかどうかを指定することができます。

  • pdgcmdモジュールに新しくPDG_BATCH_POLL_DELAY環境変数が追加されました。この環境変数は、バッチアイテムがRPCをポーリング(問い合わせ)する最大頻度を変更することができます。

  • pdgcmdモジュールに新しくPDG_RELEASE_SLOT_ON_POLL環境変数が追加されました。これによって、スケジューラがRPCに対応していない場合にRPCの取得/解放をしないようにすることができます。

  • PDGジョブスクリプトのtop.pyの名前がtopcook.pyに変更されました。

  • pdg.SchedulerTypecategoryプロパティの名前がparm_categoryに変更されました。このプロパティは、指定したカテゴリのプロパティ(Job Parms)とマッチさせるのに使用します。

  • pdg.AttributeInfoinputFilesoutputFilesのプロパティの名前がそれぞれInputFilesOutputFilesに変更されました。古いプロパティも引き続き動作しますが非推奨となりました。

ワークアイテム

  • PDGワークアイテムのIDは、そのワークアイテムを生成したPDGグラフ内で固有な値だったのが、各Houdiniセッション全体で固有な値になりました。

  • ワークアイテムの内部ログバッファに書き出されるログメッセージのタイプスタンプに ミリ秒 が含まれるようになりました。

  • 最後に選択したワークアイテムとその評価が.hipファイルに保存されるようになりました。その.hipファイルをリロードすると、そのシーン内のどの@attribエクスプレッションも、保存されたワークアイテムに格納されているアトリビュート値を使用して評価するようになります。

  • ロックされたノード上のワークアイテムはその.hipファイルに保存されるようになったので、そのhipファイルを再度開くとそのワークアイテムが読み込まれます。

  • ネットワークエディタ内のTOPノードmpワークアイテムドットをPythonシェルにドラッグアンドドロップすると、簡単にその ワークアイテムID をPythonシェルウィンドウにコピーアンドペーストできるようになりました。このドロップした結果はPythonエクスプレッションの書式になっているので、PDG APIを使ってそのワークアイテムを検索することができます。

  • アクティブなワークアイテムなしでパラメータを評価すると、デフォルトでPDGノードはTOPネットワークのクックを開始した時に設定された タイム値 を使用するようになりました。ただし、ワークアイテムに対してパラメータを評価すると、いつもどおり常にそのワークアイテムのフレーム値を使用して 評価時間 が決定されます。

  • バッチは、単に最初のフレームではなく、最初の キャッシュ化されていない フレームがクックの準備ができるのを待つようになりました。これによって、バッチの入力フレームが最後までキャッシュ化 されていない 時であっても、バッチがキャッシュ化からクックして問題を起こす状況を回避することができます。

  • スケジューラ系TOPノードが実行するPDGワークアイテムは、そのクック期間だけでなく 複数 のタイムスタンプ(キュー時刻、スケジュール時刻、クック開始時刻、クック終了時刻)を保存するようになりました。この時刻情報は、pdg.WorkItem.stats() APIメソッドが返すトラッカーオブジェクトから照会することができます。

  • Scheduler タブがあるすべてのノードに新しく追加されたWork Item Labelパラメータを使って、アトリビュートパネルやTasksバー内のワークアイテムとスケジューラのジョブ名を識別する際に使用される 固有でないラベル文字列 をワークアイテムに割り当てることができるようになりました。

  • ワークアイテムは、ファイルアトリビュートにpdg.attribFlag.Transfer()フラグを設定できるようになりました。このフラグは、ワークアイテムがクックされる時にファイルアトリビュートをソースロケーションからスケジューラのリモート作業ディレクトリにコピーするかどうかを示します。他にも、このフラグはそのアトリビュートがファイルなのでファーム上に自動的にコピーされる必要があることをPDGに伝えます。 File Pattern TOP, File Range TOP, Attribute Create TOPのノードに新しく追加されたCopy File(s) to Working Directoryパラメータを使ってこの動作を有効にすることができます。このパラメータが古い File Dependencies マルチパラメータの代わりとなりました。

  • Work Item Expand TOPノードに新しく追加されたExpand as Work Item IDsパラメータを使って、そのノードが整数アトリビュートをワークアイテムIDのリストとして解釈して、それらのワークアイテムをそのノード上に展開するように設定できるようになりました。

  • Sort TOPノードに新しく追加されたSort Whenパラメータオプションを使って、ワークアイテムの生成後またはクック後のどのタイミングでワークアイテムをソートするのか選択できるようになりました。

  • Sort TOPノードに新しく追加されたEnsure Unique Work Item Indicesパラメータを使って、複数のワークアイテムが同じsortアトリビュート値を持っている時でも、すべてのワークアイテムインデックスが必ず固有な値にできるようになりました。

  • Environment Edit TOPノードに新しく追加されたKeep Existing Variableパラメータオプションを使って既存の変数値を維持することで、名前の干渉を制御できるようになりました。

アトリビュート

  • __pdg_アトリビュート接頭辞は、入力/出力ファイルリストなどPDGで生成される 内部で定義されている アトリビュートのみに予約されるようになりました。 Attribute Create TOP Wedge TOPなどのTOPノードは、__pdg_で始まるアトリビュート名を 無効 として扱うようになりました。

  • PDG整数アトリビュートは、32ビットではなく64ビットの値で保存されるようになりました。

  • @attrib:<padding>構文は、その<padding>に値が指定された時に、浮動小数点値を一番近い整数に丸めるようになりました。この挙動はpadzero() HScript関数と同じになりました。

  • マルチパラメータ を持つAttribute系TOPノードには、各マルチパラメータエントリーの隣に新しくオン/オフのチェックボックスが付きました。このチェックボックスを使用することで、エクスプレッションによる条件分岐でアトリビュートを設定したり、ノードをデバッグする際にアトリビュートエントリーを迅速にオン/オフすることができます。

  • Attribute Create TOP Attribute Array TOPのノードに新しく追加されたKeep Existing Attributeパラメータオプションを使って既存のアトリビュートまたは変数値を維持することで、名前の干渉を制御できるようになりました。

  • Attribute Delete TOPノードに新しく追加されたCopy Inputs to Outputsパラメータオプションを使って、ワークアイテムが入力ファイルを出力ファイルリストにコピーさせることができるようになりました。

  • 新しく追加されたpdg.attribFlag.Dependent()アトリビュートフラグを使って、ワークアイテムがクックされる に、同じノード上に存在する依存ワークアイテム間でアトリビュートをコピーするかどうかを指定できるようになりました。

スケジューラ

  • スケジューラ系TOPノードに新しく追加されたLoad Item Data Fromパラメータオプションを使って、ワークアイテムデータをRPC経由で転送するのか、 または.jsonファイルとしてディスクに保存するのか選べるようになりました。特に RPC Message オプションは、ローカルマシンとリモートマシンが 同じファイルシステムでない 場合に役立ちます。

  • スケジューラ系TOPノードに新しく追加されたCompress Work Item Dataパラメータを使うと、ワークアイテムデータの.jsonファイルをディスクに書き出す際に、そのファイルを圧縮することができます。

  • たいていのスケジューラ系TOPノードに新しく追加されたBlock on Failed Work Itemsパラメータを使うと、失敗したすべてのワークアイテムが試行できる回数に達するまでクックを保留することができます。

  • スケジューラ系TOPノードに新しく追加されたValidate Output Filesパラメータを使うと、そのTOPノードの出力ファイルを検証して、その出力ファイルが見つからなければ自動的にワークアイテムをDirtyにして再クックさせることができます。スケジューラインスタンス単位で Validate Output Files を有効/無効にすることができます。例えば、NFSアクセスをブロックするファームスケジューラに対してこれを 無効 にして、ローカルスケジューラに対してこれを 有効 にすることができます。

  • スケジューラ系TOPノードに新しく追加されたCheck Expected Outputs on Diskパラメータを使うと、検証される必要があるワークアイテムの出力をチェックして、自動的にその出力を有効な出力としてディスク上に追加することができます。

  • 独自PDGスケジューラは、onStartCookスケジューラコールバックからself.setAcceptInProcess(..)self.cookWorkItem(..)のAPIメソッドをコールした際の、In-ProcessワークアイテムのスケジューリングとワークアイテムのIn-Processクックの実行に対応しました。

  • HQueue Scheduler TOP, Deadline Scheduler TOP, Tractor Scheduler TOPのファームスケジューラ系TOPノードに新しく追加されたWhen Finishedパラメータを使うと、ジョブがクックを完了した後にそのジョブを終了させるのか開いたままにするのかを指定することができます。

  • HQueue Scheduler TOP, Deadline Scheduler TOP, Tractor Scheduler TOPのファームスケジューラ系TOPノードに新しく追加されたAuto Connectパラメータを使うと、グラフをジョブとして投入した時に自動的にリモートグラフが作成されます。

  • Local Scheduler TOP, HQueue Scheduler TOP, Deadline Scheduler TOP, Tractor Scheduler TOPのノードに新しく追加されたUnset Variablesパラメータを使うと、ローカルプロセス環境からコピーされた環境変数をタスク環境から削除されます。

  • Local Scheduler TOPノードに新しく追加されたMinimum Available Memoryパラメータを使うと、指定したメモリ量が利用可能になるまでジョブの開始を遅らせることができます。

  • Local Scheduler TOPノードに新しく追加されたMaximum Run Timeパラメータを使うと、ワークアイテムを実行できる最大実行時間(秒)を制御することができます。ワークアイテムのクック時間がこの時間制限を超えると、そのワークアイテムのプロセスは自動的にスケジューラによって強制終了されます。さらにOn Task Timeoutパラメータを使うと、そのタイムアウトしたワークアイテムの状態を設定することができます。

  • In Process Scheduler TOPノードに新しく追加されたTasksパラメータを使うと、In-Processワークアイテムがクック中にエラーに遭遇した時の挙動を変更することができます。このパラメータでは、タスクの失敗をレポートしたり、失敗したジョブを指定した回数だけ再試行させることができます。

  • HQueue Scheduler TOPノードのパラメータ設定内にあるLoad Path Mapボタンは、ネットワークドライブをUNCパスに自動的にマッピングするようになりました。

  • HQueue Scheduler TOPノードに新しく追加されたSave Task Graph Fileパラメータを使うと、投入したジョブがクックを完了した時にそのジョブのタスクグラフの.pyファイルが保存されます。

  • HQueue Scheduler TOPノードに新しく追加されたConnectパラメータオプションを使うと、持続MQサーバーに接続されます。これは、ネットワーク内にある複数の HQueue Scheduler TOP ノードが同じMQサーバーサービスを再利用して接続するようにさせたい場合に役立ちます。

  • Deadline Scheduler TOPノードは、PDG Path Mappingに対応し、タスク環境でHOUDINI_PATH環境変数を設定するとその環境変数を維持するようになりました。これは、新しく追加されたPath MappingPath Map Zoneのパラメータによって可能になりました。

  • Tractor Scheduler TOPノードに新しく追加されたAfter Jobsパラメータを使うと、特定の他のジョブが完了するまでジョブの開始を遅らせることができます。

  • Tractor Scheduler TOPノードに新しく追加されたTask Titleパラメータを使うと、タスク名に独自の接頭辞を付けることができます。

  • Tractor Scheduler TOPノードに新しく追加されたMaximum Run Timeパラメータを使うと、そこで設定された制限時間を超えたタスクを自動的にKillすることができます。

  • Tractor Scheduler TOPノードに新しく追加されたPost Success Waitパラメータを使うと、成功したジョブを終了させるまでの待機時間を指定することができます。これによって、 Tractor がブレードに別のジョブを割り当てる前に次に優先度の高いジョブをスプールさせることができます。

  • Tractor Scheduler TOPノードに新しく追加されたPreview Launchパラメータを使って、進行中のクック結果を外部アプリケーションで表示されることができます。

  • Tractor Scheduler TOPノードのSubmit As Jobタスクには、関連ワークアイテムのハッシュ値の接尾辞が付くようになりました。これによって、 Tractor 管理者は複製をスプールさせることなく Submit As Job タスクを再試行させることができます。

  • Tractor Scheduler TOPノードに次の新しい環境変数が追加されました: PDG_TRACTOR_USEKEEPALIVE, PDG_TRACTOR_PASSWORD_FILE, PDG_TR_SPOOLER_DELGATE

プロセッサ

  • Processor TOPノードは、直接パラメータインターフェースを使うのではなくて、メニュースクリプトを使ってGenerate WhenCache Modeのメニューを定義するようになりました。パラメータインターフェースでそれと同じパラメータを露出したカスタムTOPアセットでもメニュースクリプトを使用することができます。

    Edit Parameter Interfaceウィンドウでの新しいGenerate Whenメニュー設定。
    Edit Parameter Interfaceウィンドウでの新しいNew Cache Modeメニュー設定。
  • Processor TOPノードに新しく追加されたCache Mode parameter > Automatic (Ignore Upstream) 設定を使うと、上流のワークアイテムの変更によって引き起こされた無効な出力ファイルを無視して、そのProcessor TOPノード自身のワークアイテムの出力ファイルのみをチェックできるようになりました。

  • 新しく追加された Node Pattern TOPノードは、シーン内の指定した パターン に合致したノードからワークアイテムを生成することができます。このノードを使うと、マッチしたすべてのノードパスが文字列配列として格納された1個のワークアイテムを生成したり、マッチしたノード毎に1個のワークアイテムを生成することができます。このノードは、ネットワークエディタFind Nodeウィンドウと同じパターン構文を使用しています。

  • Generic Generator TOPノードは、新しく追加されたCache Modeパラメータオプションを使って(Command Builderを使用した場合であっても)キャッシュ化に対応しました。

  • Generic Generator TOPノードのCommand Builderは、値を持たない引数、さらには、エクスプレッションを使って条件分岐による引数の有効化にも対応しました。

  • Local Schedulerを使用した場合、 Generic Generator TOPノードに新しく追加されたRun Command in System Shellパラメータを使ってシステムシェルでワークアイテムコマンドを実行できるようになりました。

  • Generic Generator TOPノードに新しく追加されたFlatten Work Item Indicesパラメータを使うと、入力ワークアイテムリストに欠番がある時でも、または、Item Countが可変サイズに設定されている時でも、生成されるワークアイテムのインデックス値が0からnum_items-1までの連番になるようにすることができます。

  • Generic Generator TOPノードに新しく追加されたExpected Outputsを使うと、ワークアイテム出力ファイルを明示的に指定することができます。

  • Wedge TOPは、生成したすべてのワークアイテムにwedgecountwedgetotalのアトリビュートを追加するようになりました。

  • Range Generate TOPノードに新しく追加されたSpecify Range Asパラメータ > Custom Range 設定を使うと、独自のpdg.ValuePattern()からフレーム範囲を生成することができます。これによって、ばらばらな範囲や数値と範囲で構成された範囲を指定することができます。

  • HDA Processor TOPは、生成したジョブにHIP環境変数とJOB環境変数をエクスポートするようになりました。これによって、HDAをクックするプロセスの環境はHoudiniがPDGグラフをクックする時と同じHIP環境変数とJOB環境変数の値を持つことになるので、HDA構成プロセスがよりシームレスになります。

  • HDA Processor TOPノードに新しく追加されたAdd HDA Parametersパラメータを使うと、HDA Parameterアトリビュートをワークアイテムに手動または自動のどちらで追加するのか設定することができます。

  • Python Processor TOPノードに新しく追加されたRequires Scene Fileノードオプションパラメータを使うと、現行シーンファイルへのアクセスを必須とするワークアイテムを作成することができます。

  • Python Script TOPノードに新しく追加されたExpand Variables in String Attributesパラメータを使うと、ワークアイテムの文字列アトリビュート内の$variablesの展開を無効にすることができます。

  • Python Script TOPノードに新しく追加されたIf Script Doesn’t Add Outputsパラメータを使うと、Pythonスクリプトが 何も出力を追加しない 場合に入力ファイルを出力ファイルリストにコピーさせることができます。

パーティショナー

  • Mapper TOPノードは 廃止 となりました。代わりにPartitioner TOPノードを使用してください。

  • Feedbackループ内のすべてのパーティションは、反復別にワークアイテムをパーティションに格納できるようになりました。この方法で作成されたパーティションは、そのパーティション内のワークアイテムから一番大きい反復番号と関連付けられるようになります。

  • 新しく追加された Partition by Iteration TOPノードを使うと、Feedbackループブロック内の反復とループ番号に基づいてワークアイテムをパーティション化することができます。他にも、このノードを使用して複数回の反復からワークアイテム(異なるループレベルのワークアイテムと完全にループ外のワークアイテムを含む)を単一パーティションに結合することができます。

  • たいていのPartition系TOPノードに新しく追加されたSet Partition Frame Toパラメータを使うと、ワークアイテムからパーティションにコピーされるフレーム値を制御することができます。

  • たいていのPartition系TOPノードに新しく追加されたStore Items to Attribパラメータを使うと、Partition系TOPノードの下流のパーティション化されたワークアイテムのリストを簡単に元に戻すことができます。このパラメータによって、パーティション化されたワークアイテムのIDをアトリビュートに書き出すことができます。

  • たいていのPartition系TOPノードに新しく追加されたDefault Valueパラメータを使うと、Split by Attributeパラメータで指定されたアトリビュートが見つからないワークアイテムのデフォルト値を指定することができます。

  • Partition By Frames TOPに新しく追加されたCreate Partitions Forパラメータを使うと、パーティションが生成されるフレーム( Individual Frames または Frame Ranges )を指定することができます。

  • Partition by Range TOPノードに新しく追加されたOrder Byパラメータを使うと、パーティション内のワークアイテムの順番を決めることができます。

  • Partition by Range TOPノードに新しく追加されたConsolidate Work Items by Keyパラメータを使うと、同じソートキーを持つワークアイテムを常にグループ化することができます。

  • Partition by Range TOPノードに新しく追加されたReset Work Item Indicesパラメータを使うと、 Range TypesFirst/Last Value または First/Middle/Last Value の時に、パーティション内のワークアイテムのインデックスをリセットすることができます。

  • アトビリュートで分割するように設定された Python Partitioner TOPノードは、新しく追加されたHandle Work Item in Python Codeパラメータオプションを使うと、Split by Attributeで指定されたアトリビュートが入力ワークアイテム上に見つからない場合のそのワークアイテムの挙動を決めることができるようになりました。

  • Python Partitioner TOPノードに新しく追加されたPrioritize Required Work Itemsパラメータを使うと、requiredのフラグが付いたワークアイテムをパーティションの先頭にソートすることができます。

  • Partition by Bounds TOPノードに新しく追加されたBounds Sourceパラメータオプションを使うと、入力ジオメトリの代わりにカスタムのボックス境界または球境界を使用して、その境界領域と比較または除外される入力エレメントを指定することができます。

  • Partition by Bounds TOPノードに新しく追加されたUse Geometry Asパラメータを使うと、入力境界ジオメトリの向きや軸整列の解釈を変更することができます。

  • Merge TOPノードに新しく追加されたExtra Inputsマルチパラメータを使うと、追加で入力を指定することができます。この新しい挙動は、 Object Merge SOPで入力を追加した時の挙動と同様です。

ROPワークフロー

  • ROP Fetch TOPノードとそれに関連するサブネットを簡単にデバッグしたりパフォーマンスを監視することができる新しいtoolsが追加されました。

    • ROP Fetch TOP ノードに新しく追加されたEnable Performance Monitor Loggingパラメータを使って、Performance Monitorを有効化することができます。これによって、パフォーマンス情報をワークアイテムログにプリントすることができます。

    • ROP Fetch TOP ノードに新しく追加されたPerformance Fileパラメータを使って、Houdiniパフォーマンスモニターデータとシーン状態をディスクに書き出すことができます。

    • ROP Fetch TOP ノードに新しく追加されたSave Debug .hip Fileパラメータを使って、デバッグ.hipファイルをディスクに保存することができます。

    • ROP Fetch TOP ノードに新しく追加されたReport Debug Files as Outputsパラメータを使って、パフォーマンスモニター出力ファイルとデバッグ.hipファイルを ワークアイテム出力 に添付することができます。

  • 新しく追加された ROP Karma Render TOPノードを使って、そこに組み込まれたKarma ROPをクックするワークアイテムを作成することができます。このノードのインターフェースからKarma LOPパラメータとROP Fetch TOPパラメータの両方にアクセスすることができます。

  • ROP Fetch TOPと関連サブネットに新しく追加されたAutomatically Set Missing Framesパラメータを使うと、バッチを生成する際に入力ワークアイテムにフレーム値が見つからなかければ、自動的にframe値とrange値を割り当てることができます。そのワークアイテムのframeには増分されたフレーム値が、rangeには1からnum_itemsまでの範囲が入ります。

  • ROP Fetch TOPノードのEvaluate Usingパラメータに新しく追加された Automatic オプションを使うと、入力の有無に基づいて ROP Fetch TOPを自動的に設定することができます。 ROP Fetch TOP ノードに入力があれば、入力毎に1フレームのワークアイテムを生成します。入力が なければ 、全フレーム範囲でワークアイテムを生成します。

  • ROP Fetch TOPノードのOutput Paths Fromに新しく追加された Custom Path List オプションを使うと、独自に出力ファイルのリストを指定することができます。これは、PDGがROPノード自体から出力ファイルパスを判定できない場合に役立ちます。これらのファイルパスは、そのノードによって生成されたワークアイテムにキャッシュパスを追加する際に使用され、ワークアイテムのクックが完了した時にディスク上に有効化されます。

  • ROP Fetch TOPノードのOutput Parm Nameパラメータフィールドが以下に対応しました:

    • マルチパラメータインスタンス。例えば、outputfile#です。

    • パラメータ名をスペースで区切ったリスト。これによって、いくつかのノードに非標準の出力パラメータ名が含まれてるROPチェーンをクックできるようになりました。

  • ROP Fetch TOPに新しく追加されたExecute Parm Nameを使うと、そのROP Fetch TOPノードが非ROPノードをクックする時に使用される実行ボタンパラメータの名前をカスタマイズすることができます。

  • ROP Fetch TOPノードに新しく追加されたROP Cook Orderパラメータを使うと、ROPチェーンまたはROPネットワークのクック順を指定することができます。

  • ROP Fetch TOPノードのsim trackerワーカーアイテムとそのプロセスは、他のワークアイテムと同じ方法で生成されるようになり、さらに、 HQueue, Tractor, Deadline のスケジューラを使用した時に通常のファームジョブとして表示されるようになりました。

  • ROP Fetch TOPは、生成したIFDにifdoutputアトリビュートを追加するようになりました。このアトリビュートは、 Render IFD TOPノードで使用され、必要な出力パスを生成してそのキャッシュからクックすることができます。

  • ROP Fetch TOPノードと ROP Geometry Output TOPノードに新しく追加されたCustom Tracker PortパラメータとCustom Web Portパラメータを使って、分散シミュレーションを実行する時の独自のトラッカー番号とポート番号を指定することができます。

  • ROP Geometry Output TOPノードとROP Composite Output TOPノードに新しく追加されたCook Frames as Single Work Itemパラメータは、すべてのフレームを単一ワークアイテムとしてクックすることができます。

  • HQueue Scheduler TOPノードを使って ROP Mantra Render TOPジョブのスケジュールを組む時は、デフォルトでは1台のマシンに付き1個のMantraジョブのみ実行されるようになりました。これによって、CPUリソースが過剰に消費されるのを防ぐことができます。

What’s new in Houdini 19