目次

  1. 概要
  2. パブリッシュタイプの選択
    1. 一つだけを選択した場合
    2. 複数選択した場合
  3. 内部処理
    1. 一つだけを選択した場合
    2. 複数選択した場合

概要

パブリッシュをおこなうときには条件が揃えば複数のパブリッシュタイプを一度に実行することができる仕組みがあります。

この機能を使用することで、たとえばモデルとシェーダを分けて管理するようにしていた場合にそれぞれ別々にパブリッシュするのではなく、二つを一度に処理することができます。 もちろんパブリッシュをした結果はそれぞれ別の場所に格納され、別々のリビジョンとして管理されます。これにより、パブリッシュを行う際の手間を減らしたりパブリッシュ忘れによるトラブルを避けることができます。

この機能は複数の種類のデータを一度にパブリッシュできる反面、設定を行う人にとっては中でどのような処理が行われているのかわかりづらいものでもあります。

本ページではこの動作について解説していきます。これから行う解説はプロファイルを既に読んでいる前提で進めていきます。

パブリッシュタイプの選択

一つだけを選択した場合

下図は Publisher で rig, lookdev, shaderLink の三種類のパブリッシュタイプを選択した例です。

assetpublisher_SelectOnePublishType.png

この状態でパブリッシュを行うと、

の一か所にデータが格納されます。

複数選択した場合

下図は Publisher で rig, lookdev, shaderLink の三種類のパブリッシュタイプを選択した例です。

assetpublisher_SelectpublishTypes.png

この状態でパブリッシュを行うと、

の三か所にデータが格納されます。

内部処理

ここでは話を分かりやすくするためにシンプルにしたプロファイルを使用して解説をします。

assetpublisher_simpleProfile.png

この例では

という三つのパブリッシュモードが存在し、

の5つのプラグインが使用可能になっています。

一つだけを選択した場合

最初に簡単な例として、rig だけを選択した場合について解説します。

この状態で publish ボタンが押されると、プロファイルの中から使用するモードだけ選びだします。今回は rig の列だけが選ばれます。

assetpublisher_SelectOnePublishType_profile.png

更に、引数が空でない項目が選ばれます。

assetpublisher_SelectOnePublishType_filter.png

これで、実際に処理に使われるプラグインと各プラグインへの引数が決まります。あとは Plugin Architecture の仕様に沿って上から順に実行されていきます。

複数選択した場合

rig, lookdev の二種類のパブリッシュタイプを選択した場合を用います。

この状態で publish ボタンが押されると、プロファイルの中から使用するモードだけ選びだします。今回は rig と lookdev の列が選ばれます。

assetpublisher_SelectPublishTypes_profile.png

選ばれた二つの列をマージします。この時、横に並んでいる引数のうち空になっているものは無視され、空でないもの同士で矛盾が無ければその値が使用されます。

assetpublisher_SelectPublishTypes_merge1.png

マージをした結果は下図のようになります。ここまでくると一つだけを選択した場合と同じ状態になるので上から順に実行するだけです。

assetpublisher_SelectPublishTypes_merge2.png

マージ後の引数を注意深くみると、revisionGroupPath の値が異なっていることがわかります。これによりパブリッシュ先がプラグイン毎に変わります。