ノード アトリビュートをアセットにパブリッシュすると、そのアトリビュートはアセット レベルで表示されるようになります。パブリッシュ済みアトリビュートは、次の 3 つの要素で構成されます。
対応するカプセル化したアトリビュートの値を直接変更しているかのように、パブリッシュされたアトリビュートを変更できます。この機能を利用して以下の処理を行うことができます。
パブリッシュ済みのアトリビュートは、アセットのインタフェースを構成し、アセットがロックされている場合でも編集できます。したがって、一連のアトリビュートをパブリッシュしてからアセットをロックすると、パブリッシュ済みの特定のアトリビュートを通してしかアセットの内容を操作できなくなります。
アセットにパブリッシュ済みの名前が存在するが、内部ノード アトリビュートに接続されていない場合は、パブリッシュ済みの名前はバインドされません。バインドされていないアトリビュートを修正しても、アセットの内容には影響しません。パブリッシュ済みの名前へのアトリビュートのバインドとバインド解除は、アセット エディタ(Asset Editor)で行うことができます。
パブリッシュ済みのアトリビュートを子アセットから親アセットにパブリッシュできます。これにより、アセット階層を構築して、シーンをより適切に管理できます。
たとえば、車のシーンで、front_wheel_AST という名前のフロント ホイールのアセットを作成し、car_AST という名前の車全体のアセットによってカプセル化できます。最初にホイールの回転を front_wheel_AST にパブリッシュしてから、これらのパブリッシュ済みアトリビュートを car_AST にパブリッシュします。
アセット ノードの独自のアトリビュートをアセット自体にパブリッシュすることもできます。これは、アセットがロックされているときに、アーティストがビューを変更したり、他のアセット アトリビュートを制御したりできるようにする場合に便利です。
テンプレートはパブリッシュ済みの名前を使用して、必要なパブリッシュ済みアトリビュートを定義します。
ノードをパブリッシュすることもできます。詳細については、パブリッシュされたノードを参照してください。
アトリビュートのパブリッシュと同様に、ノードをアセットにパブリッシュできます。どちらのタイプのアセットでも、パブリッシュ済みノードはカプセル化されたノードであり、アセットがブラック ボックス(Black Box)モードの時にのみ(アウトライナ(Outliner)、アトリビュート エディタ(Attribute Editor)、チャネル ボックス(Channel Box)で)表示され、選択および操作できます。
パブリッシュ済みノードは、高度なアセットでは特に、階層内でカプセル化した DAG ノードと外部 DAG ノードとのやり取りの方法を定義するのに使用されます。2つのアセット タイプに共通する一般的なノードのパブリッシュに加えて、高度なアセットでは、3 つの方法で DAG ノードをパブリッシュできます。
親アンカーまたは子アンカーは、高度なアセットのノードをアセットの外側でそれぞれノードの親または子にすることができることを示します。選択トランスフォームはアセット中心の選択(詳細についてはアセット中心の選択を参照)で選択されるノードとして機能し、ユーザにアセットの主要ノードを通知する場合に便利です。
トランスフォーム付アセットの場合、アセット ノード自身は親アンカー、子アンカー、選択トランスフォームとして機能します。これらを手動でパブリッシュすることはできません。
ロックされたアセットのノードをパブリッシュする一般的な方法を以下に示します。
アセットの作成(Create Asset)オプション ウィンドウでは、アセットの作成時にこの方法でルートの自動パブリッシュを行うためのオプションを設定できます。詳細については、アセットを作成するを参照してください。
パブリッシュ済みノードの親子関係は、ファイルの読み込み時や書き出し時には、他の親子関係とは別に扱われます。親アンカーと子アンカーは、ノード名を直接使用せずに、親/子のパブリッシュ済みの名前を使用してオブジェクト間のリレーションシップを管理します。これは、ファイル リファレンスを処理する場合に特に便利です。
たとえば、花束のファイルを参照して、親ファイルの腕にペアレント化する場合を考えます。
花束ファイルの階層または名前を変更すると、親ファイルでは DAG パスが変更されるため、腕と花束のリレーションシップを維持することはできません。結果として、すべてのリレーションシップ データは失われ、花束の位置は原点に戻ります。
この問題を回避するには、花束をアセットにカプセル化して、子アンカーとして bouquet_GRP をパブリッシュします。これで、花束の名前と構造を変更しても、腕へのリレーションシップに影響しなくなります。
パブリッシュされていないアトリビュートとノードは、アセットのうち、ユーザにアクセスさせない部分になります。残りのアトリビュートとノードを非表示にするには、ブラック ボックス(Black Box)モードに設定します(ブラック ボックス(Black Box)モードの詳細については、未パブリッシュ ノードとアトリビュートを非表示にするを参照してください)。
ただし、このようなアトリビュートとノードは表示できなくても、修正はできます。修正もできないようにするには、アセットをロックします。アセットをロックした場合、パブリッシュ済みノードのペアレント化/子化と、パブリッシュ済みアセットの修正のみが可能になります(アセットのロックの詳細については、アセットをロックするを参照してください)。
上記の 2 つの機能を一緒に使用することによって、ユーザのアセット操作を制作者の意図どおりに制限できます。