みなさんこんにちは。年末に、「そういえば今まで基板のエッチングはやってみたことがなかったなぁ」ということに気づいたので、冬休みの自由研究として、自分で回路の設計から基板のエッチング、実装までをやってみました。たまにこういうハードウェアゴリゴリなことをやると、パソコンや電子回路もイチからつくっている人がいて、その人たちの努力のおかげでとても安定して使いやすい環境が手に入るんだということが実感できます。当たり前のことなのに、普段パソコン上で動くソフトウェアばっかり相手にしていると、うっかり忘れがちなんですよね。
そんなわけで一度基板をつくったら火がついてしまって、今は工作機械が欲しい病にかかっています。「3Dプリンタとか、レーザーカッターとか、バンドソーとか色々欲しいな~、むしろ工作をするための工場が欲しいな~」と妄想を広げる毎日です。前回3Dプリンタ欲しい病にかかったのが2月だったので、大体1年周期でかかる持病みたいなものですね。
※現在、当社パイプラインツールはWindowsのみの対応となっています。ご了承ください。
TEXT_痴山紘史 / Hiroshi Chiyama(日本CGサービス)
EDIT_尾形美幸 / Miyuki Ogata(CGWORLD)
成果物の品質について考える
前回までで、アセットを作成してプロジェクトを完了するまでの一通りのながれを解説しました。「これでプロジェクトを順調に進めることができるぞ!!」と言えれば良いのですが、世の中なかなかそんなに簡単に話が進まないものです。いくらアセットをきちんと管理して、作業工程も整理して、成果物をチェックするための体制を整えたと言っても、肝心の成果物の品質が安定しなければチェックとリテイクが増えるだけで作業が進みません。そこで今回は、各段階で作成される成果物の品質を担保することについて考えていきます。
ひとくちに「チェックの結果発生するリテイク」と言っても、様々なものがあります。1つは、作品を良くするために必要なリテイクです。これは前向きなリテイクと言えます。一方、成果物が事前に指定した仕様を満たしていなかったためにおこるリテイクもあります。これは何ら有用な成果を得ることができないため、後ろ向きなリテイクと言えます。
それでも、チェック時に判明してその場で修正できるならまだマシなケースと言えます。ときには、ワークフローの前半で起きたミスが後半になって大きな問題に発展することもあります。例えば、モデルを全て四角ポリゴンでつくらなければいけない案件だったのに、三角ポリゴンが混入しており、チェック時に見逃され、ショット作業を行なっているときにレンダリングエラーが多発してしまうようなケースです。こうなると元の原因に戻ってきちんと対応することが難しくなってしまい、何とかごまかしながら逃げ切ることになります。
さらに難しいのが外注先に作業を依頼する場合です。発注する際にがんばって仕様書をつくり、相手に念入りに説明をして仕事を依頼したとしても、仕様をきちんと守ってもらうことはかなり難しいです。仕事をきちんと進めようとすればするほど指示は細かくなり、仕様書の分量が多くなっていきますが、その反面作業をする現場で詳細を把握することが困難になって、結局「何となく」で作成された成果物が上がってきてしまいます。「何となく」でつくられているので問題が多く、そのチェックとフィードバックに時間と手間を取られてしまいます。このような場合、何度か同じやり取りを繰り返した後、結局社内で調整することになるでしょう。
成果物の品質を維持するには?
前述のような問題に対応するためには、どうしたら良いのでしょうか? まずは、成果物の品質を2つに分けて考えます。1つが、作品として成立させ、より良くするための品質です。これを美的品質と呼びましょう。もう1つが、作品をつくるための仕組みを維持するためのデータの品質です。これをデータ品質と呼びましょう。美的品質に関してはアーティストが考える部分なので今回は議論しません。皆さんの情熱と才能でより良いものをつくってください。今回は、データ品質に注目します。
映像制作はとても複雑な作業で、ソフトウェアの仕様やバグに関する十分な知識も必要です。それらの知識や経験を全て書き出し、仕様書としてまとめるだけで膨大な資料になってしまいます。しかし、こうしてできた資料はそもそも背景を知らないと何故これが必用なのかわからないことが多い上に、美的品質に関わるところではないためデザイナーさんの興味は薄いです。結果、「何かメンドクサイ仕事を投げられたなぁ」と思われて守られなくなります。私だって、「納品前にはボタンAを押してからダイアログを閉じて、再びダイアログを開いてもう1回ボタンAを押してください。全部のシーンで」なんて言われたら守れる自信はありません。
また、アセット作成者にとっては負担になる作業でも、整理しておくとショット作業での効率が格段に変わってくるケースも多々あります。こうなると話はややこしくなってきて、アセットを作成する人から見れば自分に関係ないところで起きている問題なので、積極的に対応するモチベーションが生まれにくいです。
さらに、モデラ―が超精密なアセットをつくり、監督からの評判がとても良く、OKが出たのでショット作業で使い始めたらメモリを消費しすぎてレンダリングが回らなくなってしまうというケースもよくあります。ショット側で問題が発覚しても、アセットは監督からのOKが出てしまっているため、引き返すことができず、仕方ないからショットチームが必死で対応することになります。問題のアセットがたった1つだったとしても、数百ショットで使用される場合は、その全てで対応が必要になります。
もうひとつのよくあるケースは、新人さんが新たにプロジェクトに参加した場合です。膨大な資料を渡されても全てを把握することは難しく、最低限守るべきルールを確認するだけでも手一杯になってしまいます。そんな状況なので、作成された成果物にはミスがたくさんありますし、それ以外でも普通ならやらないようなミスが含まれていたりします。このようなデータをベテランが毎回1つ1つ確認するのはとても手間がかかる上、作業時間がどんどん削られていく原因になります。
こういった問題に対応するにはどうしたら良いでしょうか。1つはスタッフの教育を充実させ、全体のレベルアップを図ることでしょう。もう1つは、必要な仕様を整理し、誰でもいつでも手軽に成果物の品質を確認できるようにすることです。ただし、仕様書の作成ではこのうちの一部しか達成することができません。もう一工夫必要です。
誰でもいつでも手軽に成果物の品質を確認できるようにするには?
いくら膨大な仕様書をまとめても、それが活かされなければ作成者の自己満足にすぎません。もう一歩進んで、チェックするための仕組みを用意しましょう。
仕様書の内容を整理し、小さな個別のチェック項目に分解します。例えば、
・多角形ポリゴンが存在しないか
・テスクチャファイルは存在するか
・使用しているテクスチャのファイル名は命名規則に沿っているか
・ノードに日本語名が使用されていないか
といった内容です。このチェック項目はそれぞれ Yes / No で答えられるようにするのがキモです。Yes / No で答えられない仕様が存在する場合は仕様が曖昧なので見直します。チェック項目のリストができたら、それをチェックするためのプログラムを用意します。項目1つ1つをプラグインとしてつくり、まとめて実行できるような仕組みを用意するのが良いでしょう。当社ではこのための仕組みとして、SceneCheckerというシーンチェックツール(下図)を用意しています。
アーティストは作業のキリが良いときにチェックツールを実行することで、自分が作成したデータの品質をチェックできます。また、プログラム化されているので毎回短時間で全ての項目のチェックが完了します。定期的にチェッカーにかけることで、たとえ問題が混入しても早い段階でそれを知ることができますし、データ品質が保証されているため、レビューを受けるときには美的品質の向上に注力できます。また、アーティストは自分の作業のデータ品質に対して頻繁にフィードバックを得ることができるので、データ品質を上げるための経験をたくさん積むことができます。
ここで肝心なのは、"誰でもいつでも手軽に成果物の品質を確認できるようにする" ことです。そのため、チェッカーはチェッカー、パブリッシュツールはパブリッシュツールで別々に用意することをお勧めします。パブリッシュツールにチェッカーを含めておき、パブリッシュ時にチェックをかけるだけの仕組みにすると、最後の最後の段階で一気に問題が発覚することになるので、あまり良い方法ではないかなという気がします。もちろんパブリッシュ時に品質を担保することも大事なので、チェックはするのですが、それと同時に、少し作業をしたらチェック、もう少し作業をしたらチェックという体制をつくることが大事です。
ツールを使ったチェックの注意点
初めてツールを使ったチェックをする体制を導入すると、モリモリとエラーが報告されて心が折れそうになります。今までは見えなかっただけで、これだけ地雷が埋まっており、それが可視化されたのだと前向きに捉えて慣れていく必要があります。また、一気にチェック項目を増やすと挫折する可能性が高くなるので、最初は重要な項目を厳選してチェックするようにして、慣れたら徐々に項目を増やしていくという工夫も必要です。
また、チェックを通ったデータでも、OKが出るレベルになっているとは限らないことも認識しておく必要があります。あくまでも、プロジェクトのルールのうち、チェッカーでチェック可能な部分に問題がないことを確認できただけです。学校のテストで言うならばギリギリ赤点は越えられたというレベルですね。むしろ、チェックツールを使って見つかるような問題が残っているシーンデータは人に見せることのできるレベルですらないということです。
これらの注意点は、スタッフ全員の共通認識にしておく必要があります。
もう一歩進んだ運用
チェックツールが整備できたら、社内のみならず、外注先にも仕様書と一緒にチェックや納品物を作成するためのツールを配布するという選択肢も考えられます。ツールを使ったチェックが通ることを納品の最低ラインとすることで、凡ミスによる無駄なやり取りを減らすことができます。この場合、事前に検討しておくべき事柄が色々ありますが、ここまでできると仕事を外注する際のストレスの多くを減らせるようになります。ちなみに当社では、外注先でデータのチェックと納品用パッケージを作成するためのツール(下図)を用意しています。
このツールは先ほどのSceneCheckerとちがい、どこでも動作する必要があるため、PyblishとMEDICをベースにしています。ただ、これをやろうとすると配布したツールが先方で動かなかった場合のサポートをどうするか? という問題が出てくるのが悩ましいところです。また、外注先がさらにその先の外注先に発注している場合のツール管理をどうするか等々、色々悩ましい問題も出てくるので、ツールを配布する場合はこれらのサポートコストも念頭に入れておく必要があります。
まとめ
今回は作成したデータの品質管理について考えていきました。映像をつくる場合、最終的にはデータがグチャグチャでもなんとか画像をつくって納品できれば仕事が終わるので、作成したデータの品質に関しては二の次三の次になってしまいがちです。しかし、低い品質のデータをつくったために後続の作業者に多大な迷惑をかけることになったり、半年後に作業を再開することになって自分が酷い目を見たりすることがないよう、品質を担保することはとても大事です。そして、こういった単純かつ膨大な作業はコンピュータが得意とすることです。一度に環境を整えるのはとても大変なので、少しずつチェック項目を増やしていくようにしましょう。
第31回の公開は、2021年2月を予定しております。
プロフィール