チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第85回:「SHOTGUNを考える」その3 何か変更したときの影響範囲を知ろう!

2020.10.09

  • Maya
  • Shotgun
  • コラム
  • チュートリアル
  • 学生・初心者
「SHOTGUNを考える」その3 何か変更したときの影響範囲を知ろう!

前々回前回とShotgunのエンティティがどういうものか、色々いじりながら挙動を見てきました。
これまでで重要だったポイントはこんな感じです。

「エンティティはサイトの下に平たく存在している」
「フィルタリングして、欲しいエンティティを見つける」
「いろいろな情報がエンティティとして記録されている」

エンティティにはフィールドがあります。今回はこのフィールドの挙動を見るところから始めていきましょう。

フィールド追加の影響範囲

「エンティティはサイト下に平たく存在」ということは、どのプロジェクトであれ、エンティティにアクセスできるということです。みな同じエンティティを見て、使っています。そのためエンティティにフィールドを追加すると、他のプロジェクトでもフィールドが増えます。

例えば「Signal」というプロジェクトでAssetエンティティのページを開き、「FieldForSignalProject」というフィールドを追加します。

「FieldForSignalProject」というフィールドを追加

Nextボタンを押すと、次のようなダイアログが出ます。

ダイアログ

これは、変更をすべてのプロジェクトに適用するか、現在のプロジェクトに適用するかを選ぶダイアログです。エンティティはサイト下にあるため、Assetに「FiledForSignalProject」フィールドを追加すると、基本的には他のプロジェクトのAssetにも同じフィールドが出るようになります。

慣れないと、影響範囲が大きくて嫌だなと思われるかもしれませんが、一つの変更でたくさんのプロジェクトを更新できるので便利です。

「Only the current project」にすると現在のプロジェクトに適用します。一見すると、フィールドを今のプロジェクトのAssetにだけ追加するように思えますが、実際には「他のプロジェクトで非表示にしておく」ということになります。

図解するとこんな感じです。

図解

Signalプロジェクト内のAssetにフィールドを追加すると、サイトのAssetエンティティにフィールドが追加されます。
フィールドを追加するときのダイアログで、すべてのプロジェクトに適用するようにすれば、他のプロジェクトでもこのフィールドが有効になります。現在のプロジェクトにのみ適用すると、他のプロジェクトでは無効になります。

別のプロジェクトでAssetページを開き「Fields > Manage Asset Fields…」を選ぶと、上の図の目のアイコンの画面が出てきます。目をオンにすると、そのプロジェクトでもフィールドが使えるようになります。

このように「何か追加するとサイト全体で追加される」「不要であれば無効化する」という仕組みが、Shotgunでは至る所に出てきます。この挙動や感覚を知ることで、Shotgunが手に取るようにわかるようになります。

フィールドを追加するときにどうやって管理する?

自分が属しているプロジェクトで、「Assetにこのフィールドがいるので追加しよう!」と追加すると、他のプロジェクトでも同じフィールドが使える状態になります。

ということは、他のプロジェクトの状況を知らなければ、実は既に同じようなフィールドがあるのに知らずに増やしてしまうということになるかもしれません。

増えても、まあ、使っても使わなくてもよいわけですから、気にしないということでもよいですが…あとから「このフィールドとこのフィールドは似ているけど、使い道の違いってなに?」と混乱の元になるかもしれませんので、出来ればフィールドを追加する人を出来る限り絞り、どういうフィールドがあって、何に使われているかよく把握しておくとよいです。

ここからはいくつか例を挙げて、変更の影響範囲がプロジェクトごとなのかサイト全体なのか、見ていきましょう!

カスタムエンティティを追加すると、それはプロジェクトごと?サイト全体?

カスタムエンティティを追加すると、エンティティですので、サイト全体で使用できるようになります。

プロジェクトごとにカスタムエンティティの有効/無効を切り替えるには「Project Actions > Tracking Settings」を開きます。

Project Actions > Tracking Settings

次のような画面が出ます。トラッキング設定とはなんぞや?つまり、そのプロジェクトでどのエンティティを追跡(トラッキング)するか設定できます。

Tracking settings

例えばAssetの右にマイナスアイコンが出ています。これを押すと、このプロジェクトからAssetエンティティが消え、メニューに出なくなります。
消えるといってもデータが削除されるわけではありません。先ほどフィールドを追加したときと同じように、単に「無効」になっているだけですので、データは変わらず残っています。(もともとデータベースでは「削除」することはかなり難しいので、大抵無効化され、見えないようになります。)

もしエンティティを追加したいなら、HIDDENの項目にあるエンティティをプラスアイコンで追加します。

エンティティを追加したいなら、HIDDENの項目にあるエンティティをプラスアイコンで追加

エンティティの階層設定

Tracking Settingsの画面では、「Hierarchy」という設定があります。これ、何に影響するか、どう設定するかわかりにくいと思いますので、ついでに紹介しちゃいます。

エンティティによっては、このHierarchyに出てくる内容が変わりますし、設定するとどこに反映されるかよくわからないかもしれません。関係性は次の図のようになります。

関係性

Hierarchyは、そのエンティティのページを表示したときに左上に表示される、階層構造のような表示を設定するものです。エンティティはサイト下に平たく存在しているため、本来階層構造がないです。でも階層構造で表示して辿れると使いやすいので、ここでどういう階層構造で見せるか選べるようになっています。

選べる階層構造は、エンティティのフィールドから自動で作られます。

エンティティの階層とは、「エンティティの情報や、エンティティ同士のリンクをどういう順で並べるか」ということです。

例えばこのAssetでは、TypeというListフィールドがあり、このTypeの子としてAssetを表示することが出来ます。他にもLinkタイプのフィールドを追加すると、そのLinkの子として表示することが出来ます。フィールドの種類によって、Hierarchyに出てくる内容が変わります。

階層の見た目が変わるだけですので、実際にデータが変わるわけではありませんのでご安心ください。

パイプラインステップはプロジェクトごと?サイト全体?

Assetページを開き「Pipeline > Manage Asset Pipeline」を選ぶと次の表示が出ます。

Pipeline > Manage Asset Pipelineを選ぶ

段々とパターンに気づいてきましたでしょうか…。
何かしら管理画面を出して、プラス・マイナスボタンや、目のアイコンが出てきた場合、それはサイト全体に作るけど、プロジェクトごとに有効・無効が選べる、ということなのです!

パイプラインステップも目のアイコンが出てきますので、サイト全体に作成されるものです。どこかのプロジェクトでパイプラインステップを作ると、他のプロジェクトでも使用できるようになります。

あとは、Shotgun内のあらゆるところで、同じことの繰り返しです。

ちょっと戻って、先ほどのTracking Settingsを見てみると、AssetエンティティにStatusesという項目があります。選ぶと次のように目が表示されます。

選ぶと目が表示される

…ということは、このステータスもサイト全体で追加され、プロジェクトごとに有効・無効を選ぶスタイルであることがわかります。

まとめ

今回のポイントは、エンティティにフィールドを追加すると、すべてのプロジェクトでフィールドが追加されるところでした。(フィールドを有効にするかどうかはプロジェクトごとに設定出来る)

3回に渡って紹介したShotgunのエンティティ周りについては、とりあえずこれでお開きです。細かい話はいろいろありますが、この内容が腑に落ちれば、Shotgunの半分以上が理解できています!

今回重要だったところを含め、ぜひ覚えておいて欲しいことをまとめるとこんな感じです。
「エンティティはサイトの下に平たく存在している」
「フィルタリングして、欲しいエンティティを見つける」
「いろいろな情報がエンティティとして記録されている」
「エンティティやフィールド等は、何か追加するとサイト全体に追加され、プロジェクトごとに有効無効を選べる」
「管理画面でプラス・マイナス・目のアイコンが出てきたら、それはサイト全体に追加され、プロジェクトごとに有効無効を選べるものである」

これで皆さんは手に取るようにShotgunを操れるはずです!!

Maya Learning Channel
製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。