Unity Toon Shaderをはじめる
Unity Toon Shader(UTS) は、プロフェッショナルなセルシェーディングのためのプロパティを大量に提供しています。このページでは、基本的なセルシェーディングのためのキーが何であるかを順を追って学びます。
簡単なセルシェーディングを行うために必要となる作業:
- 少なくとも1つのディレクショナルライトがシーン内にあることを確認する。
- セルシェーディング用のマテリアルを作成し、適切なシェーダーパスを設定する。
- 基本となる3つのカラーを設定する。
- キャラクターのタッチを決定する。
- アウトラインを設定する。
上の事柄を習得した後に、以下を確認してみてください。:
シーンにディレクショナルライトを配置する
セルシェーディングを動作させるために、シーン内に少なくとも1つのディレクショナルライト を配置します。
新規マテリアルを作成しUnity Toon Shaderを適用する
マテリアルの作成から始めます。
キャラクターに新しいマテリアルを設定する |
---|
マテリアルに適切なシェーダーを選択します。
Unity Toon Shader(UTS) には Built-in Render Pipeline、URP、HDRP のすべてのレンダーパイプライン用のシェーダが含まれていますので、プロジェクトに設定したレンダーパイプライン向けに、適切なシェーダを選択する必要があります。
レンダリングパイプライン | シェーダーパス | テッセレーションシェーダーパス |
---|---|---|
Built-in Render Pipeline | Toon (Built-in) | ToonTessellation (Built-in) |
URP | Universal Render Pipeline/Toon | 利用できません |
HDRP | HDRP/Toon | HDRP/ToonTessellation |
Universal Render Pipeline/Toonの適用 |
---|
通常のシェーディングのようにディレクショナルライトが影響していないのがわかると思います。これは、UTSがアーティストの意図に応じて、ライティングの反応を制御しているためです。UTS では、ディレクショナルライトの色がマテリアルに影響を与えるかどうかを詳細に制御することができます。Scene Light Effectiveness Settings を参照してください。しかし、このセクションを学ぶ間は、ライトカラーを 白 に設定することを推奨します。
基本となる3つのカラーを設定する
UTSの最も基本的な機能は、影がかからない領域用の基本色マップ(Base Map) 、 薄めの影がかかる領域用の1影色マップ(1st shading map) 、 濃いめの影がかかる領域用の2影色マップ(2nd shading map) の3つの領域にメッシュを塗り分けることです。Three Color Map and Control Map Settings は、この基本的な設定を制御するためのプロパティを提供します。基本的なセルシェーディングの場合、 基本色マップ と 1影色マップ の2つのマップがうまく機能します。
基本色マップと1影色マップをマテリアルに適用 |
---|
2つのテクスチャーの違いは、色調です。このサンプルでは、2種類のテクスチャを適用しています。しかし、1つのテクスチャで、異なる色調を適用することも可能です。
A: 基本色マップ | B: 1影色マップ |
---|---|
基本3色に塗り分けた境界部分を調整する
イメージのタッチは、作品のスタイルを決定する最も重要な要素のひとつです。Shading Steps and Feather Settings は、各色に塗り分けた境界の位置と、それらが明確に分離されているか、またはブレンドされているかを調整する手段を提供します。まず、 Base Color Step を調整して、 1影色マップ(上の暗いほうのテクスチャ) を表示してやります。
Base Color Stepの調整 |
---|
上では、 基本色マップ と 1影色マップ の境界がくっきりと分離されています。 Base Shading Feather を調整することで、境界のぼかし具合がコントロールできることを確認してみてください。時には、境界がブレンドされているほうが好ましい場合もあります。
Base Shading Featherの調整 |
---|
アウトラインを設定する
アウトラインもアニメーションのタッチを決定する重要な要素です。アウトライン境界の色は背景に近いものにするか、くっきりと区別できるように設定する必要があります。またその太さもアニメーションのスタイルに影響します。Outline Settings は、それらを制御するためのプロパティを提供します。
淡いカラーで細めのアウトライン |
---|
濃いカラーで太めのアウトライン |
---|
高度なテクニック
さて、基本的なセルシェーディングを学びましたね。しかし、プロ向けのセルシェーディングでは、もっと多くの処理が必要になることがあります。このコーナーでは、いくつかのテクニックを学びます。
目の周りのアウトラインを消す
もう一度、上のキャラクターの顔を見てください。キャラクターの目の周りにアウトラインがあるために、イメージが損なわれているのがわかると思います。UTS ではこの問題を解決するために、Outline Width Map を提供しています。そのマップを適用することで、メッシュのあらゆる部分のアウトラインの太さを満足いくまでコントロールすることができます。
Outline Widthマップを適用する |
---|
髪にツヤを与える
それでもなお、人によっては立体感の欠けた平板なイメージに感じるかもしれませんね。 髪のハイライト は、アニメ制作では一般的な表現です。 Angel Ring(天使の輪) やマテリアルキャプチャ(MatCap/マットキャップ) といった機能は、より髪のツヤに特化しています。今回は、髪にMatCapを適用してみましょう。別のマテリアルを作成し、その中にMatCap map を設定します。
MatCapマップを髪に適用する |
---|
プロフェッショナル向けのセルシェーディングを実現するための、さらなるオプションについて
また、最近のアニメ/ゲーム制作においてセルシェーディングを使う場合、以下のような要素が必須となっています。このページをマスターした後は、ぜひこれらを試してみてください。