2012/02/05

ゲーム開発現場でリニアワークフローを導入したときの話

(打つのめんどくさいので以降LWFとします)

最近CG業界で徐々に広まりつつある話題のLWFを、
ゲーム開発現場で導入してもらったときの話です。

利点とかの話は他の方もまとめてくださっているので、
今回はあんまりほかで見たことが無い導入事例にしぼって書いてみます。

開発中のものなので、参考になる画像が全く無く出せなくてすいません。

LWFについての参考文献はこちら(注:登録が必要です)
[CEDEC]リニア空間と物理的に正しいライティング





1、まず決定権を握っている人にアタック!
なんせ一回聞いただけではまず良く分からないこの概念、
現場よりも先にアートリーダーを丸め込んでに興味を持ってもらわないことには
このミッションの成功は難しいです。

とはいえここに関しては、以前から
海外のギアーズとかアンチャーとか凄いグラフィックな有名タイトルは
もうみんなやってますよー、今やらないとマスターごろにはもっと引き離されますよー
という話をちょいちょいしていたおかげか、
すでに興味を持ってくれていたようで、そのままディレクター、プログラマーへと
とんとんと話が通っていきました。

(実際にやってるのか裏付けが取れていないタイトルも挙げていたのは置いておくw



2、シェーダーとポストエフェクトの対応に奔走
LWFを最小単位で考えると、必須なのは以下のふたつです。
その辺を担当しているプログラマさんに相談しました。



  ①シェーダーに送るテクスチャをデガンマする
今回の例では、エンジンの都合でアーティストが
DCC上で任意設定出来る方式にしたのですが…

  ・利点:うーん…(ノ∀`)
  ・欠点:人的ミスが多発 → チェックツールが火を吹くよ!

利点が無かったというのは、任意切り替えが必要なケース(※)
結果的にほとんど無く、ならば決め打ちシェーダで良かったなと。
イレギュラーはテクスチャ側で事前補正で対応出来ますし。

なのでカラーにチェック入れ忘れでビカビカ発光したり、
ノーマルマップにチェックが入っていてとんでもない表示になったり、
といったエラー対応に呼ばれることが頻発する事態に…。
(しかも締め切り前に限って起きるんだよな…)

※:テクスチャがリニアかガンマか作業方法で別れるのは、
  反射率と反射カラーを1枚でやってたスペキュラぐらいでした



  ②モニターに出力する直前でガンマ補正かける
シェーダーで正しく計算された結果はリニアの暗い絵のままですので、
人の目に見やすい絵にするため、ガンマカーブをかける
ポストエフェクトを実装してもらいます。

で、ポストエフェクトは最後にかけるものですので、
ガンマ2.2のカーブを与えなくても問題ありません。

絵としてはきれいなんですが、コンポジット前の生データみたいな
味気無さを感じることもあるので、お好みで調整すると良いと思います。

この例ではコントラストが良い感じに引き締まった1.8としていました。



3、アーティストさんのフローに組み込んでもらう
いきなりLWFの小難しい話をしてしまうと (∩゚Д゚) アーアー キコエナーイ ってなるので
ゆるーく大筋を説明して、これとこれとこれはチェックいれておいてね!
となるべく既存のフローの邪魔にならないようにしました。
ミスがあればおかしな絵になるよということは分かってもらえたかと思います。

ボタン一発の全自動ツールなどでもサポートしました。



4、質感表現をよりリアルに!
LWFの環境がそろうと、マテリアルを物理的に正しく設定出来れば
ほんとに実物みたいに出てくれます。

作りたい材質 + 反射率 で検索するといろいろ出てきます。
カラーマップ → 拡散反射率
スペキュラまたはリフレクションは 鏡面反射率/正反射率 という
表記になっていることが多いです。

詳しいフローは最初に書いた参考文献にたっぷり記載されていますので
参考にしてみて下さい。


…で、計測値を調べると作業の助けになるしフォトリアルになりますよっていうのは
これまでの積み重ねがあるので当然みんなやってもらえるわけではないです。

そこで驚いたのが、ベテランの人ともなるとそんな値から作らずとも
許容誤差レベルの明度でテクスチャを作っちゃっていたこと!( Д ) ゜゜ポーン

経験に勝るものは無いのか…と思い知りました。

結局は最終的にモニタに出た結果が良くないことにはダメですので
明らかに変な感じでない限りはお任せすることにしました。



5、導入してみて思ったこと
これをすれば良くなる!ということも、難しくて誰も付いてきてくれなのでは
意味がありません。TAのエゴではいけないんですよね。。

なるべく負担に思われないフローに抑えたり、ある程度勝手にやってくれる
ツールなどで補ってあげることが重要なのかなと思います。

この導入作戦を決行したときは、ただのキャラモデラーで
TA業は勝手にやっていただけなので、実務に追われて
フローにまでくどくど口を出してるヒマがなかったのもありますが…。

プロジェクト全体ですごい前向きに取り組んでいるところの話も聞くので
どんどん導入事例が増えてCG業界全体で盛り上がればいいなと思います。



ということで、長々とお付き合いありがとうございました。

せっかくCG臭くない絵にしたのに、クライアントからもっとギラギラさせてよ言われた話とか
とあるハードのハードウェアデガンマカーブがガチャガチャとか、
いろいろあるのですが、そんな泥沼な話はやめときますw


あくまで導入事例のひとつとしてお楽しみください。

0 件のコメント:

コメントを投稿