非写実的レンダリング

非写実的レンダリング(NPR)とは



非写実的レンダリング(Non-Photorealistic Rendering, NPR)とは、コンピューターグラフィックスにおいて、写真のような写実的な表現(フォトリアリスティックレンダリング)とは異なる、様々な画風や表現を意図したレンダリング手法の総称です。ノンフォトリアリスティックレンダリングとも呼ばれます。

NPRは、写実的なレンダリング以外の全てを含むため、その表現は非常に多岐にわたります。漫画、イラスト、スケッチ、セルアニメテクニカルイラストレーション水彩、油絵、水墨画日本画点描、ドット絵など、様々なアートスタイルをコンピューター上で再現するために、様々な手法が用いられています。

3DCGにおけるNPRレンダリング技法



3DCGにおけるNPRは、レンダリング手法、シェーディング、エッジレンダリングなど、様々な技術を組み合わせることで実現されます。以下に主な手法を解説します。

レンダリング手法


1. 大域照明(グローバルイルミネーション, GI)レンダリング

一般的な物理ベースの大域照明レンダラー(Arnold、V-Ray、Cyclesなど)を使用しても、NPRを実現することができます。ただし、光の増殖を防ぐためにシェーダーエネルギー保存の法則を満たす必要があり、また、ライトベクトルの使用が制限されるため、利用できるシェーディングモデルは限られます。

2. 局所照明(ローカルイルミネーション)レンダリング

RenderMan/REYESや、その互換実装である3DelightのRSLモード、Mental Ray、Maya Software、3ds Max Scanline、Blender Internalなどが対応しています。シェーディング言語としては、RSLシェーダーやMetaSLシェーダーが使用されます。エネルギー保存の法則を満たす必要がないため、多様な非写実的シェーディングモデルを使用できますが、レイトレースの反射回数を増やすとアーティファクトが発生しやすく、反射回数を減らす場合は補助ライトが必要になります。

3. ラスタライズレンダリング

主にゲームエンジンで使用される手法です。シェーディング言語としては、GLSLシェーダーやHLSLシェーダーが使用されます。ラスタライズだけでなく、レイマーチングや画面空間レイトレーシングと組み合わせることもあります。ただし、アーティファクトが発生しやすいという欠点もあります。近年では、DirectX Raytracing (DXR) やVulkanの拡張機能により、リアルタイムレイトレーシングがゲームエンジンにも導入され、ハイブリッドレンダリングが一般的になりつつあります。

4. ベクターレンダリング

Maya VectorやBlenderのFreestyleなどのベクターレンダラーを使用し、エッジレンダリングやベクター画像出力に用いられます。

シェーディング


シェーディングは、光に基づいて色を変化させる技術です。NPRでは、物理的な現象に縛られない自由なシェーディングが行われます。

1. 非現実的なライティング

現実の光の反射や散乱の原理に基づかないシェーディングが用いられることがあります。例えば、ハーフ・ランバート・シェーダーでは、光が物体の内部にまで入り込んで散乱するような表現を行います。また、ライティング結果を二値化や三値化して、セル画のような表現にすることもできます。

2. 直接的な色彩設計

NPRでは、物質の色を直接指定する手法が用いられます。これは、セルアニメにおける色彩設計と同様で、影の色を直接指定したり、輝度に基づいて色を補間したりすることで、イラストのような表現を作り出します。

3. シェーディングモデル

Uberシェーディングモデル: 物理ベースシェーディング (PBS) をNPRに利用することができ、ピクサーやディズニーのアニメーション映画、ゲームでは大乱闘スマッシュブラザーズ SPECIALなどが例として挙げられます。
Dota 2ヒーローシェーダー: ValveのDota 2で使用されているシェーダーで、金属度を導入しつつ、粗さではなくフレネル強度で調整するなどの特徴があります。
GUILTY GEARシェーダー: GUILTY GEAR Xrdで使用された拡張セルシェーダーで、照明制御用テクスチャや頂点カラーによる制御が特徴です。
セルシェーディング: アニメやセルアニメ風のCGでよく使用される手法で、シェーディング結果を主色と影色に変換します。GUILTY GEAR Xrdでは、影の入りやすさを頂点カラーで制御しています。
Gooch shading: テクニカルイラストレーションで用いられる手法で、寒色と暖色を使ってグラデーションを生成します。
ランプシェーダー: 二値化や単純なグラデーションの代わりに任意の傾斜(ランプ)を使用するシェーダーで、より自由な表現が可能です。
Half-Lambert / Wrapped Diffuse シェーディング: 非写実的なライティング手法で、表面下散乱の簡易モデルとして利用されます。Valveのゲームで使用されています。
ハッチングシェーダー: 描画のハッチングを再現するのに使用されます。
ハーフトーンシェーダー: 漫画スクリーントーンを再現します。
ドット絵シェーダー: 古いコンピューターゲームのグラフィックを再現します。
MatCapシェーダー: 法線方向と色をテクスチャで対応させたシェーダーで、モデリングやスカルプトに使用されます。
Unlitシェーダー: 光源の影響を無視するシェーダーで、軽量なためローポリゴンモデルで使用されます。
定型ハイライト: 変形可能なハイライトで、セルシェーディングと組み合わせて使用されます。

エッジレンダリング


NPRでは、エッジや輪郭の線画表現も重要な要素です。

背面法: 一般的なレンダラーでも使用可能で、「GUILTY GEAR Xrd -SIGN-」では太さの制御に頂点カラーを使用しています。
法線パスや深度パスからの輪郭抽出: 法線や深度情報から輪郭線を生成します。
頂点カラーの塗り分けによる輪郭抽出: 頂点カラーを利用して輪郭を抽出します。
View Mapを使う手法: BlenderのFreestyleで使用されている手法です。
レイトレーシングとポストプロセスの組み合わせ: レイトレーシングで鏡面反射と屈折に対応させます。
パスベースの手法: ラインにも物理的な効果を加えます。

シェーディング補助手法


法線編集・法線転写: シェーディングで生じる影の形を単純化するために使用されます。アークシステムワークスセルアニメ風3Dゲームで採用されています。
各キャラクター専用光源: キャラクター毎に光源を設定し、ゲームでは影を切って真下に影を出すこともあります。
カメラ距離毎のテクスチャ: カメラからの距離に応じて解像度の異なるテクスチャを使用します。

カメラ投影


透視投影: 一般的に使用される投影法です。セルアニメでは二点透視図法も利用されます。
平行投影: テクニカルイラストレーションや2.5Dゲームで使用されます。
ハイブリッド投影: 透視投影と平行投影を組み合わせたものです。ストリートファイターシリーズで使用されています。
嘘パース: カメラからの距離によって画角を変化させたり、複数のパースを混在させたりします。
パニーニ投影: 直線を保ちつつ広い視野角にする投影法です。

エフェクト


おばけブラー: アニメの残像表現を再現する手法で、ジオメトリ変形や2D画像を重ねる方法があります。CyberConnect2の『ナルティメットストーム』シリーズや、ブリザード・エンターテイメントの『オーバーウォッチ』で使用されています。
透過光処理: セルアニメの発光表現を再現する際に、ポストエフェクトやコンポジット機能が利用されます。

2DにおけるNPRレンダリング技法



ニューラルネットワークによる画風変換: 画像変換モデルを使用して、画風を変換する技術です。

NPRは、写実的な表現にとらわれず、多様なアートスタイルを表現するための強力なツールです。これらの技術を組み合わせることで、オリジナリティ溢れるビジュアルを作り出すことができます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。