この記事は KLab Creative Advent Calendar 2018 の 3日目の記事になります。
はじめまして。ノベです。
クリエイティブ部におけるSHOTGUNの導入推進・制作ワークフロー整備を担当しています。
SHOTGUNはCG・映像制作における、タスク、スケジュール(進捗状況)などを一元管理できるツールです。
元々は映像業界で多く使われていましたが、近年ではコンシューマ/ソーシャルゲーム開発で用いる企業も増えてきているようです。御多分に漏れず、弊社でも社内の標準ツールとして導入を進めています。
私自身もこれまでRedmine、JIRA、Backlogなど、ゲーム開発において多岐にわたるツールを使ってきましたが、進捗管理/素材管理ツールであるSHOTGUNはカスタマイズ性も高く、非常に奥の深いツールだと感じます。
本日は、弊社での一般的な事例とはすこし異なった設計をした際の、SHOTGUNの画面構築に至るまでの考え方や作業の流れについて書こうと思います。
かなりSHOTGUNの中身に偏った内容になりますが、興味のある方はお目通しいただけると幸いです。
Unityのバージョンアップに伴う、3Dまわりの表示差分確認のための動画ライブラリ/チェック機構をSHOTGUNで作成しました。
2019年8月までにAndroidアプリの64bit対応を義務化する方針をGoogleが発表したため、
弊社各タイトルでも、Unity2018へのバージョンアップがマストとなりました。
現在、社内の各タイトルにおいて、順次対応を進めている状況です。
しかしながら、このバージョンアップ対応においてクリティカルな問題となるのが
描画方法が変更されることで起こる「3Dまわりの表示崩れ」です。
今回は、その問題に直面したとあるタイトル担当、12/20の執筆者だーやまさんより、
表示崩れについて、ほぼ全キャラ分確認したい
精査用の全キャラ分の動画書き出しはタイトル側で行う
上記の動画をすべてチェックした後、修正の要不応を判断したうえで、各セクションごとに担当者を決めて修正作業を進める、という流れにおいて、すべての進捗を一元管理したい
以上をSHOTGUN上でうまいこと実現できないか?という相談を受け、それに適した構成を考えました。
結果として、当タイトルだけでなく、弊社の別タイトルでの同一作業においても流用可能な構造になったのではと思います。
(当ブログを書いている間、さっそく別タイトルでもこちらの機構を流用しました・・)
構成を検討するにあたり、タイトル側へざっとヒアリングを行ったところ
あがってきた要件は以下の3つでした。
こんな感じの見た目にしたい、という具体的なオーダーがあった
(スプレッドシートでつくった表をタイトル側からいただきました)
動画精査後、各セクション(エフェクト、モデル、モーション、サウンド、開発)における修正作業の着手順はルール化できない
(先行タスクが完了になったら後続タスクを着手する、としている弊社の既存タスクテンプレートの仕組みを流用するのは無理そう)
キャラ数は数百体~。1キャラあたりの動画の種類は最大で7つのバリエーションが存在する。SHOTGUN側に検証動画をアップロードする際のタイトル側の工数も減らしたい
・・と以上の要件が出そろったところで、以降の順で作業を進めていきました。
必要な表示項目などに漏れがないか
どのようなフローで作業を行うのか
など、さらに詳細なヒアリングを実施しました。
今回画面を設計するにあたって、もっとも工数をかけた部分がここでした。最初にフローをガチっと定義したうえで、SHOTGUN側の画面の構想を練ります。
通常のイラスト作成などであれば「ラフ⇒線画⇒着彩・・」といった具合に工程ごとにタスクを生成し、上流工程から順に「完了」としていく手段を取ります。
しかしながら、先述のとおり「修正作業の着手順はルール化できない」と判断したため、修正作業を行うであろう各セクション(エフェクト、モデル、モーション、サウンド、開発)ごとに、動画の最大バリエーション数=7つのタスクを生成することにしました。完成したタスクテンプレートは以下のような形です。
画面デザインについては、「この形式が使いやすいのでは」という観点で数パターンの表示サンプルを作ったうえで、実際にタイトル側から意見をもらいながらすり合わせを行いました。イメージの可視化、大事です。
動画を流し込む枠が準備できても、数百体前後のキャラ×最大で7つの動画バリエーション=数千本前後の動画データを人力でアップロードするのはあまりにも無理ゲーすぎたので、開発さんの手を借りました。急な差し込みだったにもかかわらず、Pythonで自動化の仕組みを作ってくださいました。敏腕・・!
開発さんと連携を取りつつ、タスクテンプレートの調整などを随時行いました。
タイトル独自で書き換えられない部分(ステータスのフィールドの中身など、全タイトル共通で使用しているもの)を使用せざるを得なかったため
ステータスを変更する人
ステータスが示す、タスクの実施者
などを定義し、作業者がスムーズに取り掛かれるよう運用ルールを決めました。
動画の確認と精査がとてもスムーズ
プレビュー機能からチェック、進捗管理などが一つのシステム上で実施できるのはとても便利です。
データベース構造なので、見た目をあとからカスタマイズできるのが便利
SHOTGUNでは、フィルタリングやグルーピングを駆使することで、抽出条件を変えたりページデザインを容易に変更することが可能です。
作業者の残タスク状況や、ステータスやキャラ、レアリティごとにソートしたりと、見た目をタイトル側の好みに変えられるのは管理者・作業者のどちらにもメリットが大きいと思いました。
サムネイルを挟んだ場合、スプレッドシートのように行を揃えることが難しい
SHOTGUNの仕様上、サムネイルの入ったパイプラインと隣り合うタスクのセル幅を合わせることができず、若干見た目が気持ち悪い感じになってしまいました。
妥協案として、パイプラインごとにタスク名を表示することで対応しています。
全社共通の仕組みをつかった部分については融通が利かない
前述した部分と重複しますが、タスクに紐づくステータスなどは社内の全タイトルが共通で使用している部分であるため、ルールを定義してそれに合わせるよう対応をお願いしました。
タイトルごとにカスタマイズして作りたいところですが、SHOTGUNを全タイトル分管理する側として、正直なところあまり煩雑化したくない部分です。
最初にオーダーをいただいた際はどう構築しようかと悩みましたが、結果としてチェック機構としての使い勝手はもちろん、汎用性の高い形で実現できたのではと思います。
社内のUnity2018アップデートを控えているタイトルの皆さまも、是非この仕組みをお役立ていただければと思います。
以上、お読みいただきありがとうございました!
KLab Creative Advent Calendar 2018 の 4日目は、kanayaさんです。
よろしくお願いいたします。
KLabのクリエイターがゲームを制作・運営で培った技術やノウハウを発信します。
合わせて読みたい
KLabのクリエイターがゲームを制作・運営で培った技術やノウハウを発信します。