デジタルアセットのバージョン管理


こんにちは、篠島です。今回はデジタルアセットのバージョンの管理について説明したいと思います。

 

今回のサンプルファイルです。
TextProject.zip

 

デジタルアセットを作成してアーティストに公開、その後にアセットを変更したい事があると思います。例えばライティングのリグを作成してデジタルアセット化、実際のショットで使用、監督からのOKも出た場合、後からデジタルアセットを変更してライティングの調整をしてしまうと、OKがでたショットで使用しているデジタルアセットも影響を受けてライティングが変わってしまうので問題です。この場合、デジタルアセットをバージョン管理することで既にあるアセットに影響を与えずにアセットをアップデートしていく事が可能です。

デジタルアセット作成時に一つのHDAファイルを指定することで、複数のアセットを含めることが出来ます。この性質を利用して、アセットのバージョン管理をすることが出来ます。

 

アセットが出来た段階でアーティストに配布して、実際のシーン内で使用するとします。既にシーンで使われているアセットなので、このアセットを変更すると、完成済みのショットに影響を与えかねません。ここで、アセットを異なるバージョンとして新たに作る事で、HDAファイル内部に初期のバージョンのアセットを残しつつ、新しいアセットを定義してどんどんアップデートしていくことが出来ます。

アセットのバージョンを管理するには、デジタルアセット作成時に名前を以下の様に設定します。namespace と version によって差別化できます。namespace と version 両方使ってもいいし、片方だけでも構いません。

[namespace::]node_name[::version]

 

アセットを作ってみる

例えばFont SOPで適当にVersion 1.0というテキストを作成したとします。このテキストはプロシージャルも何もしていません。単純に文字を書いただけです。これを MyText::1.0 という名前でデジタルアセットを作成します。このアセットをアーティストに配布、シーン内で作成、監督からOKまで出たとします。なので、このシーンにはもう変更は加えたくありません。

 

アセットのバージョンアップ

ですが、このデジタルアセットにいろいろと改善点を加えたいとします。元のアセットは既に現場で使われており、変更は加えたくありません。そこで、現バージョンのデジタルアセットを右クリックし、Show in Asset Manager… を選びます。Asset Manager 内でこのアセットを見つけてくれるので、右クリックしてCopy… します。その際にOperator Name のところでバージョンを2.0にして保存してみます。

 

すると、2.0のアセットが別に作成されるのが確認できます。

 

タブメニューからデジタルアセットを呼び出してみると、見た目上は全くわかりませんが、2.0 のアセットを呼び出しています。

 

一応 Edit Operator Type Properties でどのバージョンのアセットなのか確認できます。Toolsタブの中でもどのバージョンのアセットを使用しているのかを確認することができます。

 

2.0 のバージョンのアセットを呼び出したことが確認できたら、アセットの内容を変更してみましょう。テキストのフォントを2.0に変更してみました。アセットのバージョンからプロシージャルに変更しているのではなく、直で入力しています。アセットを変更したら Save Node Type でアセットを保存します。これで、1.0 と 2.0 の異なる2つのアセットができました。

 

これにより Tab キーを押して新しいデジタルアセットを作成するときは 2.0 のアセットが作成され、既にシーン内に存在しているアセットは 1.0 のアセットのままになっています。サンプルファイルに Old_Scene と New_Scene と作ってあるので、Old_Scene のファイルを開いて、1.0 のアセットが使われていること、新しいデジタルアセットを作成した場合は 2.0 のアセットが作成されることを確認してみてください。

 

 

タブで表示されるノード

タブキーを押すとデフォルトで最新のバージョンのノードしか表示されません。ですが、Edit > Preferences > Shelves and TAB Menu で TAB Menu Operator Namespace Filtering で Show All Operators を選択すると、全てのバージョンのノードが表示されるようになります。

 

上の設定により、タブメニューでアセットの全てのバージョンのノードが表示される様になりました。どっちがどっちのバージョンなのか分かりにくいですが、デジタルアセットをアップデートしても古いバージョンのアセットを問題なく使える事がわかるかと思います。

 

同じ名前のノードが複数あるのが嫌な場合は、Edit Operator Type Properties で Label を分かりやすいように変えると、複数のバージョンのアセットを表示した時に分かりやすくなります。