Houdini 20.0 Maya

アセットのフリーズ

On this page

アセットをフリーズすると、アセット出力をキャッシュ化したり、Engineでのアセットのロードやクックを無効にすることができます。 これにより、フリーズされたアセットを含むMayaシーンを非Houdiniユーザに渡すことができます。 そのユーザは、Engineライセンスを取得することなく、シーンをロードして、Houdini以外の部分を操作することができます。 これは、ベイクとは異なり可逆的です。 出力シェイプはアセットに親子化されたままとなり、単にデータ接続をメッセージ接続に置き換えることができます。 フリーズ解除すると、実際の接続に戻すことができます。

メニュー

アセットのフリーズまたはフリーズ解除は、メニューまたはMELコマンドから行なう必要があります。 アセットでフリーズされたステートを設定するだけでは十分ではありません。 復元できるよう、出力接続を追跡するためのアトリビュートを追加および設定し、出力ジオメトリが必ずキャッシュ化されるようにする必要があります。

  • Freeze Asset

すべての出力ジオメトリ接続をメッセージ接続に置き換えて、Frozenアトリビュートをオンに設定します(例えば、入力への変更があっても、アセット入力はDirty化されません)。 アセットとその出力ジオメトリの間にヒストリーがある場合、プロキシシェイプを追加します。

  • Unfreeze Asset

元の出力接続を復元し、アセットが入力ジオメトリを取得できるようにフリーズされたステートをオフにして、アセットをロードします(ライセンスを取得します)。

選択したアセットの出力のフリーズおよびフリーズ解除に対応するMELコマンドは、以下の通りです:

MEL

houdiniEngine_freezeAsset(string $assetNode)
e.g. houdiniEngine_freezeAsset("|extrude1")
houdiniEngine_unfreezeAsset(string $assetNode)
e.g. houdiniEngine_unfreezeAsset("|extrude1")    

アトリビュート

以下の例は、フリーズ時にアセットノードがどのように変更されるのかを示しています。 ここでは、Houdini Toolsシェルフからhe_booleanアセットを使用しています:

すべての出力ノード接続で、アセット上のキャッシュ化されたソースと書き出し先のアトリビュートのリストを追加しました。 また、アセットや、各出力ノードに、接続のプレースホルダーとしてメッセージアトリビュートを追加しました。 ノード名よりも接続を維持することで、ノードの名前を変更できるため、参照されているアセットをフリーズ解除するといったワークフローがサポートされます。 また、同じ出力ノードに複数のプロキシ接続があるのは過剰に見えますが、アトリビュートとノードを並べてマッピングしておくことで、アトリビュート構造がより分かりやすくなります。

たいていの場合、出力Mayaジオメトリへのデータ接続を解除すると、データ定義がシェイプに保存されたままになりますが、アセットと出力シェイプの間に中間ヒストリーがある場合、プロキシジオメトリノードを追加して出力ジオメトリをキャッシュ化します。 例では、houdiniAssetProxyMeshが出力シェイプに接続されたヒストリーチェーンを固定しています。 アセットがフリーズ解除されると、このプロキシシェイプは削除されます。

入力ジオメトリは接続されたままになりますが、アセットはフリーズされているためDirty化はされないことに注意してください。

Maya

はじめよう

入力および出力のジオメトリ

Houdini Engine for Mayaを使用する

リファレンス