この記事の3行まとめ
2023年8月10日(木)、セガの技術ブログ「SEGA TECH BLOG」にて、『NGS』『PSO2』のトゥーン表現を解説した記事「『PSO2 ニュージェネシス』におけるトゥーン表示対応について」が公開されました。
【#セガ技術ブログ 更新】CGにおいて、アニメ風、広くは漫画やイラスト風の作画でレンダリングする手法「トゥーンレンダリング」をご存じですか?
『PSO2 ニュージェネシス』におけるトゥーン表示対応について解説します。https://t.co/MSnKYZ7YSe #NGS #PSO2NGS #SEGATECHBLOG pic.twitter.com/unCShnAc8Z
— セガ公式アカウント🦔 (@SEGA_OFFICIAL) August 10, 2023
【#セガ技術ブログ 更新】CGにおいて、アニメ風、広くは漫画やイラスト風の作画でレンダリングする手法「トゥーンレンダリング」をご存じですか?
『PSO2 ニュージェネシス』におけるトゥーン表示対応について解説します。https://t.co/MSnKYZ7YSe #NGS #PSO2NGS #SEGATECHBLOG pic.twitter.com/unCShnAc8Z
— セガ公式アカウント🦔 (@SEGA_OFFICIAL) August 10, 2023
トゥーンレンダリングを想定していないモデルデータでの工夫
『NGS』ではトゥーンレンダリングを想定したモデルデータを作成していなかったため、一部の実装では一般的な手法とは異なり、その方法について同記事で解説されています。
本作でトゥーン表示する際は、ディファードレンダリングのGBufferから取得した情報を使用しています。『NGS』のレンダリングシステムは、不透明の描画には「ディファードレンダリング」、半透明・カットイン画面の描画には「フォワードレンダリング」が用いられています。
カットイン画面とは、本作においてチャット画面やショップでのプレビューで使われている画面を指しています。
これまでの処理ではフォワードレンダリングを用いていたため、GBufferの情報を出力していませんでした。トゥーン表現を適用するにあたり、フォワードレンダリングの結果だけでなく法線、マテリアル情報などを含めたGBufferを出力するように変更したといいます。
ランプテクスチャの追加が難しいモデルデータへの対応
拡散反射光(陰影)は、ランプテクスチャ(※)を用いて表現する方法が一般的です。しかし『NGS』では既存のモデルデータとの兼ね合いなどの理由から、ランプテクスチャを使用せずに、用意した一律のパラメーターの値を元に陰影を計算して表現します。
※ ランプテクスチャとは、色の段階を設定したテクスチャ。本作では、陰影をアニメのような表現に近づけるために使用されている
上記の陰影付けの方法では、例えば肌の色が暗いキャラクターでは意図しない陰影描画が発生するため、鏡面反射光(スペキュラ)に対しても一律のパラメーターを用意して、3段階の陰影をもってトゥーン表現を実現しています。
アウトライン表現
『NGS』は、GBufferの深度、法線、マテリアルの情報を元に「顔と毛髪以外は法線によるアウトラインを使用する」「毛髪のみ、マテリアルによるアウトラインを使用する」など、パーツごとに異なる方法でアウトラインを描画しています。
また、『PSO2』では「フォトンマフラー」など不透明と半透明を組み合わせたパーツが用いられています。この場合、アウトラインは半透明部分を無視し、不透明部分に沿った不自然な描画がされてしまいます。
その対策として、半透明部分を表すアルファマスクを作成。これにより、半透明部分にアウトライン描画されないよう対応しています。
その他、トゥーン表現に対応するために施したモデルの調整手法などの詳細は、こちらをご確認ください。
SEGA TECH BLOG「『PSO2 ニュージェネシス』におけるトゥーン表示対応について」