👀 11. 目の設定
目はライティングのロジックや使用するテクスチャが他の部位と大きく異なるため、ASP では目専用の Shader として ASP/Eye を用意しています。
ASP/Eye Shader には、次のような目向けの機能があります。
選択可能なフラットライティング
瞳孔の Parallax Mapping によるくぼみ表現
眼球の MatCap Reflection
視点に応じて回転する追加の眼球 Highlight マップ
このページでは、ASP/Eye の各機能と設定方法を順番に紹介します。
1. ASP/Eye Shader を使う
現在のマテリアルの Shader を
ASP/Eyeに設定します。他の Shader の property や keyword が残らないように、右上の
...からResetを実行してください。これで現在のマテリアルの keyword / property が Shader の初期値に戻ります。


2. 目の Renderer の Shadow Casting を無効にする
アニメ調キャラクターでは、目の Renderer の Shadow Casting は無効にするのが一般的です。目が影を落とす設定になっていると、顔や首の周辺に低品質な影が出やすくなります。
3. ライティングのフラット化
Diffuse / Lighting Behaviour カテゴリでは、ASP/Eye Shader に 2 種類のライティングモードがあります。1 つは従来の Lambert Lighting、もう 1 つはマテリアル全体の各ピクセルが同じ明暗変化をする Flat Lighting です。Lambert は立体感が強すぎるため、アニメ調のキャラクターには Flat Lighting の方が向いていることが多く、デフォルトでも Flat Lighting が選択されています。
Flat Lighting を選択している場合は、Darkest Flat Color を設定できます。この値は 逆光 時に Flat Lighting モードで物体がどのような色で見えるかを表します(順光時はオブジェクト自身の色と Main Light の色が合成された結果になります)。

💡 注意: 動画内の青い矢印は
ASP Character PanelComponent の正面方向です。キャラクターのASP Character Panelは必ず正しく設定してください(青い矢印 = キャラクター object の正面)。これが正しくないと Flat Lighting の計算が正しく行われません。
4. UV 展開済みの目の Mesh とテクスチャを準備する
以下では、このキャラクターの目を例として説明します。

このキャラクターモデルでは、白目 と 虹彩 + 瞳孔 が 2 つの Mesh に分かれています。この部分の Material / UV は、必要に応じて各自のワークフローに合わせて調整してください。
後で設定する MatCap Map や、光 / 視点に応じて回転する Highlight Map を扱いやすくするため、目の UV は MatCap 向けのレイアウトで展開することをおすすめします(虹彩部分が上下左右の 4 辺に接する形)。

5. 目の Parallax Mapping
UV の調整が終わったら、次の手順で設定します。
虹彩 + 瞳孔 用に、瞳孔を中心とした円形グラデーションの mask を作成します。
Enable Parallax Effectをtrueにします。作成した mask を
Pupil Maskに設定します。好みに合わせて
Parallax Heightを調整します。
これで、瞳孔にくぼんだような表現を与えられます。

💡 眼球 Mesh の瞳孔部分がモデリング段階で既にくぼんでいる場合は、追加で Parallax Effect を使う必要はありません。
6. 眼球の MatCap Reflection
MatCap テクスチャを使うと、スタイライズされた環境反射を表現できます。MatCap テクスチャは一般に以下のような形になっています。先に眼球の UV を端に合わせたレイアウトにしておいたのは、この MatCap をそのまま適用しやすくするためです。

6-1. 球形法線マップで MatCap の見え方を補正する
MatCap テクスチャを MatCap Reflection Map に設定すると、角度に応じた変化が十分に出ないことがあります。これは、MatCap が平坦すぎる Mesh では効果を発揮しにくいためです。この場合は、球形の法線マップを使って見え方を補正できます。

また、Mask MatCap Reflection By Pupil Mask を有効にすると、Albedo / Pupil / Emission カテゴリ内の Pupil Mask を使って MatCap 反射の強さを制御できます。
球形法線マップを設定したら、Reflection Strength を調整して MatCap の明るさを決めます。最終的には次のような MatCap 表現になります。
💡 手描きの MatCap テクスチャを使えば、さらにセルルックに近い表現も作れます。
7. Top-Layer Highlight Map
最後に、目の最上層にハイライトを追加できます。このハイライトマップは MatCap に近い仕組みで、どちらも Emission の一種です。違いは回転角度を追加で設定できる点です。Shader 内では現在の Half Vector(光方向と視線ベクトルの半ベクトル)に応じてハイライトが回転します。

💡 Darken Emission Along Light Direction を有効にすると、逆光の度合いに応じて
Color Tintの強さが弱まります。
Highlight 設定後の効果は以下のとおりです。
8. Bloom と Screen Space Lens Flare の後処理
ASP/Eye Shader では、MatCap も Highlight もパラメータで HDR の発光強度を調整できます。Bloom や Screen Space Lens Flare の後処理と組み合わせることで、次のような表現が可能です。
⏭️ 次のページへ 〰️ 14. スクリーンスペースアウトライン(輪郭線)の使い方