超雑訳 The Process of Creating Volumetric-based Materials in Uncharted 4

こんばんみん。Pocolです。
今日は,
[Jiang 2016] Yibing Jiang, “The Process of Creating Volumetric-based Materials in Uncharted 4”, SIGGRAPH 2016 Advances in Real-Time Rendering in Games course.
を読んでみようと思います。
いつもながら誤字・誤訳があるかと思いますので,ご指摘頂ける場合は正しい翻訳例と共に指摘していただけると幸いです。
尚,図は[Jiang 2016]より引用しています。



皆さんこんにちは、ようこそコースへ。
私の名前はYibing Jiangです。Naughty DogのSenior Shading Artistです。アンチャーテッド4のすべてのキャラクターマテリアルの変更を担当し、キャラクターアーティストと協力して、あらゆる状況下で良い最終レンダリング結果を得ることを目指しています。


タイトルから察するに、「アンチャーテッド4」のキャラクターの素材について一般的に語るのではなく、主に布や髪の毛をどのように作成したかに焦点を当てることになります。
また、キャラクターのシェーディングパイプライン構築の初期段階で直面している問題点についてもお話します。
最後に、キャラクター・シェーディング・パイプラインで広く使用されているシェーダー・パッケージを紹介し、それらの例を示します。


キャラクター・シェーディング・パイプラインの開発に着手したのは2012年末だったと記憶しています。
その頃は、PlayStation®4が発売されることがわかっていました。映画のようなゲームを作ることができる “次世代機 “で仕事ができることに興奮していました。


私たちは、次世代機がどのような能力を持っているのか、ある種の期待を持っていました。


先に述べたような高価な機能のほとんどを手に入れることはできません。
ディズニーのBRDFでは、ほとんどのキャラクターマテリアルをカバーできません。


そして、キャラクターのシェーディングに必要なものは何かを真剣に考えるようになりました。


ファブリック・シェーダー・ライブラリの構築











また、ステッチや穴にはUvSet2を使用しました。これらは、布の織り目のパターンと同じ考え方で作られています。


ファブリックシェーダーとレザーシェーダーをゲームに実装した様子を紹介するビデオです。



ファブリックに1つではなく2つの異なる反射モデルを使用しているのは、アーティストがシェーダーの設定に費やす時間を短縮するためです。

このようにして、NPCキャラクターの場合、アーティストがファブリックシェーダーパッケージをオンにしたとします。最初からかなり良いデフォルトの結果を得ることができます。



ヘアシェーダライブラリの構築





これらの方法はいずれもGPUを大量に消費します。髪の毛の見た目のためにゲーム性やデザインを犠牲にすることはできませんでした。

つまり、同じような結果を出すためには、他の方法を見つけなければならなかったのです。


ここでは、緑や青は「大丈夫」を意味しています。
赤は予算オーバーを意味し、濃い赤や黒は極端な予算オーバーを意味します。
つまり、多くのアルファブレンディングカードを用意する余裕がないということです。



カットオフ閾値の考え方はシンプルです。元々の透明度マップの値を調整することで キャラクターが動いていたり、遠くにいても髪の毛が読めるようにすることができるのです。


ヘアシェーダのコストを下げたら、魅力的に見えなくなってしまいました。
当時、多くのアーティストが落胆していましたが、最終的にはチャレンジしてみようと思い、髪が美しく見えない原因を探しました。


それらの問題はすでにありました。しかし、高解像度のアルファブレンドを使用しているときには、それほど明らかではありませんでした。



このステップは、最終的なレンダリングのために必要です。これにより、髪の毛全体が球体のように見えるだけでなく、個々のカードの間でディフューズ、スペキュラ、逆光の散乱が途切れるという問題も解決されました。


髪の毛のテクスチャーを作る際には、バリエーションマップを減らしました。これは、スペキュラと逆光の散乱を分解し、髪の毛を際立たせるものです。
このヘアツールは、キャラクターTDのTyler Thornock氏が作成してくれました。



ファブリックの詳細がわかるセルフシャドーテストの動画


髪の毛の同じものを試しました。事前に計算されているので、レンダリング時間を気にする必要はありませんでした。
半透明のアルファマップを使って、影の情報を焼き付けることができました。髪の毛の影の深さを示す、なかなか良い結果が得られました。


さまざまな光の環境を考慮したリファレンスを取りました。参考画像を見ると、髪の毛の影にはライトの向きが重要な役割を果たしている場合があることや、シーンによっては照明の状況がかなりフラットであることがわかります。
ほとんどの照明シーンで、焼きあがった影がリアルに読めるようにするには、その中間地点を探さなければなりません。


そのために、すべてのライトを5つのグループに分けました。
これにより、光の方向性を影の焼き込みに反映させる際の問題が少なくなります。また、ベイクドシャドウの情報がよりソフトになり、光の方向が読みにくくなります。


あと少しだったと感じています。しかし、先に述べたように、タイトなスケジュールの中で、『アンチャーテッド4』の指向性事前計算済みシャドウマップを出荷することができませんでした。
今後も引き続き作業を続け、次回は期待できるものを皆さんにお見せできるようにしたいと思います。






インゲームシャドウとベイクドシャドウを単純に掛け合わせると、とてもフラットな仕上がりになってしまいます。
これではとても出荷できません。






ヘア上のスキャッター


物理ベースのヘアシェーディングモデルでは、光がヘアファイバーを通過することで、Single Reflection(R)、Double Transmission(TT)、Transmission-Reflection-Transsmission(TRT)などの効果が得られます。
しかし、物理ベースのヘアーシェーディングモデルの方向に深入りするのではなく。私たちは、GPUコストを非常に低く抑えながら、プレイヤーに髪の毛の散らばりを感じさせる方法を採用することにしました。
そのため、群衆シーンやマルチプレイヤーのキャラクターにも余裕を持って対応することができます。





バリエーションマップは、スキャッターとスペキュラーを分解し、髪の毛のディテールを表現するために使用されます。


高解像度のテクスチャーマップではなく、タイル状のノイズパターンを使ってスペキュラーバリエーションをブレークダウンします。


散乱光と鏡面光のバリエーションは、髪の毛の最終的な外観にとって非常に重要であることがわかっています。
そこで、同じタイル状のノイズをバリエーションマスクのテクスチャとして使用してテストしてみましたが、髪の流れとは100%一致しませんでした。その結果、実際にはエラーはそれほど明白ではないことがわかりました。NPCやマルチプレイヤーのキャラクターにはこれで十分です。


最後にシェーダーパッケージについて説明します。シェーダーパッケージはキャラクターシェーディングのパイプラインで広く使われています。


dynamic wear と tear packageのsnow shaderの動画。


長編アニメーションのシェーディング・パイプラインにインスパイアされたものです。映画制作の現場では、シェーディングアーティストが様々なサーフェイスマテリアルの研究を行い、クランチが始まる前にパッケージを構築していました。
アーティストがパッケージを作ってしまえば、他のアーティストはいくつかのスライダーを調整するだけで、簡単に好きなマテリアルを手に入れることができます。
また、制作中、シェーディングアーティストは他のアーティストからフィードバックを得て、パッケージを更新することができました。そのパッケージを使用しているすべてのマテリアルも更新されます。






最も貴重な教訓は、ゲームを出荷することと、リアルタイムのデモを作ることは全く違うということでした。

ゲーム性とスムーズなフレームレートが常に最優先されます。私たちのゲームには、群衆、パーティクル、複雑な環境など、フレームレートを低下させるものがたくさんあります。
綺麗な映像にこだわるのではなく、キャラクターのコストを常に削減する必要がありました。

このような厳しい制限の中で、ちゃんとしたものが作れるのか、何度も希望を失ったことがあります。
幸いなことに、私たちにはあらゆる種類のクリエイティブなアイデアを持った素晴らしいチームがあり、いつもお互いに助け合っています。このチームの一員であることは大変名誉なことですし、このような難しいプロジェクトに取り組むことは大変勉強になります。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください