CEDEC+KYUSHU 2017レポート:グランツーリスモSPORTにおけるクルマの魅せ方とテクニカルアーティストの基礎
まず,GTSPORTは同社にとって,その表現や開発体制に対してチャレンジングなタイトルだったという。まず,同社がPlayStation 4で手がける初めての作品(そう言われればそうだった)であること,さらに物理ベースレンダリングであることなど,これまでとは違った開発体制が必要となる。
最終的にはワークフローから作り直されており,そんな環境でアーティストはどうGTSPORTを作っていったかという話である。
ちょっと考えてみると,物理ベースレンダリングというのは,実際のマテリアルの物性的なパラメータからシェーダが駆動されるので,アーティストの技でリアリズムを追求するような余地はあまり残されていないようにも思われる。実写品質=フォトリアリティを追求しているなら,物理ベースレンダリングと実際のマテリアルに忠実な素材設定,現実に忠実なライティングを志向する以外に道はないだろう。アーティストの関わり方も変わってくると思われる。そんな状況で同社のアーティストチームはなにを目指したのだろうか?
それは,クルマをより綺麗に見せることであるという。
たとえば写真の撮り方でもライティングは重要になる。単に実物に限りなく近づけた映像を作るというのではなく,アーティストが作り上げたクルマのモデルを最大限魅力的に見せるという方向での努力が行われているわけだ。自分の感性で全体に色を塗っていた画家の仕事から,イメージどおりに仕上げるためのライティングや焼き込みを研究する写真家の仕事という側面が強くなったイメージになるのだろうか。
物理ベースレンダリングやHDRを導入すると,これまでの環境マッピングはIBL(Image Based Lighting)という名の光源として扱われる。GI(Global Illumination)表現ではオブジェクトを柔らかく陰影付けしてくれるありがたいものなのだが,クルマのようなシャープな質感のオブジェクトに対してはデメリットをもたらしかねない要素でもある。
講演ではGTSPORTの開発チームは,素材や演出意図に応じたライティングコントロールすることでディテールや質感表現を補っていることが紹介された。
素材別にライティングの特徴が説明され,具体的なライティングの方針が示された。
まず金属パーツだ。金属といってもいろいろあるだろうが,グリルなどに使われる鏡面仕上げの部品は周りからの映り込みがあって初めて形状が際立つ素材だ。専用の光源を使ってこれをサポートする。
ボディ部は通常,光沢のある塗装面となっており,ライトによる陰影と映り込みで曲面が表現される。
タイヤや樹脂などはそれ自体が質感を持った素材なので凝ったことはしていないようだが,適度な照度のラインティングが重要だという。
実際のライティングとしては,まずメインライト。屋外なら太陽がこれに相当するのだろう。屋内なら最も強い光源になるのだろうか。メインライトは全体の照明と鋭いハイライトを生成する。そして金属パーツ用演出ライトで光沢を補い,さらにエフェクト用ライトで光の足りないところを補助するのだという。スライドでは,エフェクトライトはナンバープレートなどの見せたいところを照らすのに使われていることが分かる。
実写映画でも自然の光源以外にさまざまな補助光源を利用して撮影が行われているが,それもすべてキャラクターなどをより魅力的に写すためでもある。同様な「魅せる」ライティングがリアルタイムゲームでも導入されているわけだ。
なお,これらの補助光はボディの形状に依存するので,車種ごとに設定する必要があるという。車種ごとに手設定となるとかなりの手間だが,それぞれを一番カッコよく見せるには個別設定しかないのだろう。
続いて同社の新しいワークフローについてだ。なお,同社はワイドカラー対応とHDR対応を合わせたものをTrue HDRと呼んでいる。
まずはワイドカラー関連の話だ。一般的に使われているSRGBよりも広い色空間を扱うワイドカラーだが,GTSPORTでは,Rec.2020という規格が採用されている。これは現在ある規格では一番広い部類の規格であり,業務用を含めて完全に対応したディスプレイ製品が存在しないことでも知られている。
日ごろ,色数が足りないと感じることはほとんどなく,ワイドカラーに対応したテレビもほとんど普及していない状況では,正しい色でレンダリングしても正しく表示されることはほぼ期待できない。さらに言えば,現時点では作り手側のディスプレイでも正しくは発色できない。そんな状況でわざわざワイドカラーを導入する意味はあるだろうか。
それでもワイドカラーに対応する意味はあると松栄氏は語る。理由の主なところは,偽色の発生が少なくなることだ。
レンダリングされた画像に対してさまざまな処理を加えていくと少しおかしな色になることがあるのだという。途中で彩度などが飽和してアーティストのイメージとだんだんずれていくのだそうだ。それがワイドカラー対応では出なくなる。こういうのは従来,「目合わせ」で補正していたそうなのだが,そういった手間がかからなくなることで効率化が図れる。また,おかしな色が出なくなるというのは,ワイドカラー対応テレビがなくても享受できるメリットである。
そのような環境光の状態と,その場所の風景そのものをモデリングした「Scapes」というものを同社では多用しているという。ゲーム内でも写真撮影モードとして知られているものだが,リアルな光源環境が再現されたロケーション設定のことである。
これでいろんな場所を3Dの情景で作成しておき,作成したクルマを置いてさまざまな角度から検証するような用途にも使われているとのことで,すでに1000以上のScapesが作られていると松栄氏は語っていた。GI環境では多くのオブジェクトが光源として機能するほか,前述のようにGTSPORTではエフェクト用に恣意的に加えられたライトも利用されている。かなり複雑なライティングが行われているわけだが,それだけにおかしな絵になったときに問題がどこにあるのかを切り出すことも難しくなっているという。そこで,さまざまなライティング環境をそろえたScapesを使うことで,検証が行いやすくなるというわけだ。
HDRでレンダリングされた映像は,HDRに対応していないテレビに出力する際には,適切なトーンマッピングを施される。トーンマッピングは色調を変えたりする際にも使用されるが,HDRだとそれだけでなくレンダリング後に行われるさまざまな加工の際にも高精度で演算が行われるので破綻が発生せず,調整幅が広く取れるという。こういったことからHDRでの処理にはメリットがあるとのことだ。
テクニカルアーティストとはどんな仕事か
そもそもテクニカルアーティスト(Technical Artist:以下TA)とは何か?
ゲーム会社でのアーティストというのは,絵を描いたり,3Dモデルを作ったり,デモ映像を作ったりといった名前のとおり,芸術的な仕事をしている。一方で,プログラムを作っているエンジニアは主に理系の人となる。こういった芸術肌の人たちと理系の人たちでは専門分野が大きく違うので,それぞれの概念に落とし込んで説明ができる人が必要となるのはなんとなく分かるだろう。両者の間を取り持つ「橋渡し役」がTAの役割となるという。絵描き側の都合とエンジニア側の都合の両方を理解できる人で,立ち位置としては「技術の分かるアーティスト」といったところだろうか。
- グラフィックス仕様の策定
- アセットパイプラインの構築
- トラブルシューティング
- クオリティとパフォーマンスの調整
- 教育
などが挙げられた。マネジメントとサポートが主だろうか。各種ツールでの自動化を進めるなど,アーティストに,より効率的な働き方を提供することが大きな目的の一つとなっているため,ツール周りの整備や教育,ドキュメント作成などもなども職分に含まれている。
そのうえで,どのようなアセットが必要になり,どのような仕様で揃えなければならないのか,どのようなツールを使うのかなどをTAが決めていく。新しいツールなどを導入するのであれば,そのマニュアルを整備したり教育も必要になるだろう。
作成中のアセットに関するようなバグや異常動作などもTA(だけではないだろうが)が原因を切り分けていく。その過程でパフォーマンスが上がらなければ仕様の見直しや再調整なども行われることになる。
さらっと仕様変更への対応なども述べられていたが,この講演に限らず,各社とも仕様変更は「当然ある」というスタンスだったのが印象的だった。ゲーム開発では避けがたいものとして対応されていることが分かる。
ちなみに,CEDECのGTSPORTの講演では,開発初期にはワイドカラーなどは取り入れられていなかったということが明らかにされている(参考URL)。最終的にTrueHDRのワークフローで作られたということは,当然,全アセットが作り直されたということを意味しているわけだ。そのレベルの仕様変更もありうるのだ。
また,ゲームで処理落ちなどの問題が発生したとき,その原因の多くはアートアセットにあるという。適切なLOD(Level of Detail)が設定されているか,テクスチャが大きすぎないか,シェーダが多すぎないかといった項目をチェックするのもTAの仕事となる。富田氏は,開発中のゲームは常に変動していると語った。日々パフォーマンスをチェックしておくことで,どこが問題なのかを見つけやすくなるとのことだ。
では,どんな人がTAに向いているのか? 富田氏は次のスライドを示して「作業を効率化したい」という思いを強く抱いている人だとした。やはり一般的なアーティストとは少し求められる資質は変わってくる。
また,このあたりについてはYouTubeで公開されているGDCでのインタビュー動画を見ることを勧めていた。これは世界各国の著名なTAにいくつかの同じ質問をしたものとなっており,インタビュー項目には,なぜTAになったのか,TAとして最大の仕事はどの作品かなどの興味深いものが含まれている。TAを目指す人には参考になることも多いだろう。
どのスクリプト言語を使うべきかについては,もうPython1択だという。Mayaをはじめ多くのグラフィックスツールのスクリプトに採用されているほか,機械学習などでも多用されているので,これを覚えておけば食いっぱぐれはないというわけだ。
Python学習の参考書としては,実に多くのものがあるなかで富田氏が勧めていたのは,田中賢一郎著「Pythonゲームプログラミング」だった。ポイントの一つはpygameを扱っていることだという。pygameはPython用のゲームライブラリだが,ゲームを作るだけでなく,グラフィックスの画面表示機能などはPythonでサポートツールを作成する際にも非常に有用とのこと。
スクリプト中でmaya.cmdsというのをインポートすれば,maya内のオブジェクトにアクセスできるようになるという。それで作られたのがブロック崩しだった。ごく簡単にデモが行われたが,確かにmaya上でブロック崩しが動いていた。
maya以外にもHoudiniなど多くのツールがPythonをサポートしており,Pythonの習得はゲームのアセット作成で無駄になることはない。