<2>SHOTGUN APIによる機能拡張
片山敏春氏(東京映像制作部・テクニカルスーパーバイザー)
続いてはテクニカルスーパーバイザー 片山敏春氏が登壇し、SHOTGUN API(機能拡張)と活用事例について紹介。SHOTGUN APIは、shotgun上のCreate、Read、Update、Deleteの操作をPython Scriptから行えるもので、このAPIを活用してDMLでは様々な自動化に取り組んでいるという。
APIを使用すると、アーティストがSHOTGUNに動画をアップする際、同時にSHOTGUNのフィールドに動画の説明、IN/OUT、フレームレート、ファイルサーバへのパス、SHOTGUN内でのリンク設定などを付与することができる。成果物をツールに通すことによって、データが適切にSHOTGUN DMLサーバーに蓄積されるようにしているというわけだ。
同様に、Mayaからのアセットデータを、アセット情報やサムネイル等の情報を伴って自動でSHOTGUNに蓄積していくことも可能。大量のアセットでもミスなく確実に入力できる点がメリットである他、「データの破損がどの時点で起きたのか」などの作業履歴を時系列で確認できるため、データトラッキングも容易だ。また、その他のAPI活用方法として、Replyの自動書き出しの事例が紹介された。
先述のClient Review Siteを用いてクライアントとやり取りをする際、成果物に対してダイレクトにメッセージ(Note)を受け取ることができるが、それを踏まえて「どういったフィードバックをしているのかリストにまとめてほしい」という要望があった。そこで、NoteとリンクするReplyをCSVに落とし込むためにAPIを使用。Noteだけでも1,000〜2,000ほどあり、制作進行スタッフが手動で行うと丸一日かかるような作業が2時間ほどに短縮されたという。
続いては、「SHOTGUN Eventsを利用したEntityのステータス自動変更と、Task Dependencyに基づいたタスクステータス自動変更の事例」が紹介された。SHOTGUN Eventsとは、ユーザーがSHOTGUN上で何らかの更新をしたとき、それがトリガーとなってイベントが発動するしくみのこと。例えば、モデルのステータスを変更すると、次のリギングのイベントが自動変更されるというもので、「ステータスの変更漏れやミスがなくなり、アセットが膨大になればなるほど恩恵を受ける機能だと思います」と片山氏は語る。
次に紹介されたのは、SHOTGUN上で右クリックしたときに現れるコンテクストメニューをカスタマイズし、自前のツール上でアクションさせることが可能な「Action Menu Item」。カスタム部分を実行すると、「SHOTGUNからショット情報を取得→Mayaではなくバックグラウンドでアニメーションシーンを開く→Alembicを出しレンダリング用のシーンデータに読み込み→Cubeにレンダリング情報を送信→レンダリングシーケンスに落とし込み」という流れが自動的に行われる。アーティストにとって手間のかかる作業が、SHOTGUNからワンクリックで行うことが可能となっており、人為的ミスや工数の大幅な削減が可能となっている。
また、プロジェクト管理以外の事例についても紹介された。まず「いつ誰が使ったか、いつ誰が更新したか」というトラッキングができる機能では、PCスペックや使用者を管理する「Workstation」、アプリケーションやプラグインのライセンス管理、ログをチケットに蓄積してエラー等を探る「Tool Log」が用意されている他、プロジェクトが終了した後も参考にしたい動画を、ソートして容易に閲覧ができるように管理する「Shared Reference」にも言及された。
DMLは今後、リアルタイムエンジンを使用した映像制作とそれらのプロジェクト管理の強化およびSHOTGUNとの連携の強化を図っていくという。また、SHOTGUNをハブとしたパイプラインサポートも行なっていきたいとのことだ。「弊社で既に取り組んでいて、 実績があるものについては何かアドバイスができるかもしれないので、どうぞお気軽にご連絡ください」と締めくくり、講演は終了した。