Topic 2 自社開発シェーダによる幅広い質感表現
デザイナーの使い勝手を考えた高機能シェーダ
レンダリングには当初mental rayが想定されていたが、ライティング・コンポジット側からの要望で、Arnoldを新規に導入した。その結果、標準シェーダでは対応できないことがあるなど問題が起こったため、オリジナルシェーダ群が開発されることとなった。
本作では、使用されたシェーダのうち約90%以上が自社で開発されたものである。担当した大垣真二氏は、約1年の時間をかけて、たったひとりで開発にあたった。当初は全て物理ベースレンダリングで進めることが検討されていたが、後にキャラクターの表現力を増すために、瞳にキャッチライトを加える、虹彩をぼかすなど、アニメテイストに寄せるような工夫がなされた。特に、猫独特の尖った虹彩の表現が自由にできるよう工夫されたEyeシェーダ(olmEye)は、その後も汎用的に使用できるよう、デザイナーの意見を採り入れながら改良を重ねた。これまで使用していた複雑なシェーダネットワークを駆使したものは動作が重かったため、パッケージ化することで高速化を図ったという。
そのほか、毛の根元から毛先までのパラメータを制御するolmRoot2Tipシェーダも開発された。毛のシェーディングモデルは2011年に発表されたWeta Digitalのモデルを実装したものであるが、olmRoot2Tipと組み合わせることで少ないパラメータながら毛先だけ傷んだような質感を作り出すことができるなど、幅広い表現が可能になっている。
全てのサーフェスシェーダには、コンポジットの手間を軽減させるために、Per Light AOVsが実装されている。詳しくはライティング&コンポジットの項で後述するが、これを使用することで各ライトからの照明計算が別々の画像として保存可能となる。各ライトの色、強さを後から変更することができるため、再レンダリングの手間を大幅に削減することができ、制作時間の短縮に大きく貢献した。
olmEyeシェーダ
キャッチライトとコースティクス(集光模様)。キャッチライトも、テクスチャを使用して任意の形状をとらせることができる
パラメータを調整することで、これ以上の瞳のパターンを作成することが可能である
中でも注目してほしいのが「Catness(猫らしさ)」パラメータだ。どれだけ瞳孔が猫らしく尖っているかを表現する
描画は2種類の円を用いて行われた。瞳孔に相当する楕円の細さ(短軸の長さ)を大きな2つの円を使って定義し、さらにその端の尖り具合を、先ほどの2つの円が重なる内側に、さらに接する2つの円を置くことで描画している。円のみで構成されているため、外側はシームレスに繋がって見える
また、このシェーダでは、シェーダネットワークも従来のものと比べ、ここまでシンプルにできる
毛の傷みを表現するolmRoot2Tipシェーダ
olmWaveシェーダによる水の表現
このような水の表現も新たに作成したシェーダで行なっている。波の描画には、海洋工学などの論文も参考にしている