メインコンテンツまでスキップ

シェーダー設定

lilToon

全パーツに lilToon を使用しています。新規マテリアルを作成する際はこのページの値に合わせてください。

ライティング設定(全パーツ共通値)

Brightness / Lighting(mono) パラメーターと連動します。値がずれると明るさ調整時に新規パーツだけ挙動が異なります。

プロパティ初期値(ラジアル 0)最大値(ラジアル 1)
_LightMinLimit0.051.0
_MonochromeLighting0.51.0
_LightMaxLimit1.0
_lilDirectionalLightStrength1.0
_VertexLightStrength0

ステンシルシステム

ステンシルは、描画時に「ピクセルを通すか弾くか」をバッファの数値で制御する仕組みです。lilToon では以下の2つのプロパティを使います。

プロパティ役割
StencilRef比較に使う参照値(0〜255)
StencilComp比較方法。Always:常に通す(バッファに値を書く)。Equal:バッファ値が Ref と一致するピクセルだけ描画。NotEqual:バッファ値が Ref と一致しないピクセルだけ描画。

3+1では Ref=1(髪抜け用)Ref=2(漫符マスク用) の2系統を使っています。

髪抜け(眉・アイライン)

前髪が眉やアイラインの上に重なっても、眉が透けて見えるようにするシステムです。

  1. 顔メッシュ(SA_BODY_B / SA_BODY_C)が StencilComp: Always で描画され、顔が映るピクセルのステンシルバッファに 1 を書き込む
  2. 前髪メッシュ(SA_HAIR_B)は StencilComp: NotEqual / StencilRef: 1 で描画されるため、バッファに1が書かれたピクセル(=顔の上)では描画をスキップする
  3. 結果として、前髪が顔に重なる部分だけ抜けて眉・アイラインが見える
マテリアル役割StencilRefStencilComp
SA_BODY_B / SA_BODY_C顔(書き込み)1Always
SA_HAIR_B前髪(顔の上を抜く)1NotEqual

新規前髪を追加する場合: マテリアルに StencilComp: NotEqual / StencilRef: 1 を設定してください。設定しないと眉・アイラインが前髪に隠れます。

漫符マスク

あおざめなどの顔エフェクトを顔の肌領域だけに描画するシステムです。

  1. 顔の肌メッシュ(SA_BODY_A)が StencilComp: Always で描画され、肌が映るピクセルのステンシルバッファに 2 を書き込む
  2. 漫符エフェクト(SA_EFFECT_A)は StencilComp: Equal / StencilRef: 2 で描画されるため、バッファに2が書かれたピクセル(=肌の上)にのみ表示される
  3. 結果として、エフェクトが顔の輪郭に沿って自然にマスクされる
マテリアル役割StencilRefStencilComp
SA_BODY_A顔の肌(書き込み)2Always
SA_EFFECT_A漫符エフェクト(肌上のみ描画)2Equal

顔に重ねるエフェクトを追加する場合: StencilComp: Equal / StencilRef: 2 を設定すると、肌領域だけに限定して描画できます。

新規パーツ追加時のチェックリスト

追加するパーツ必要なステンシル設定
前髪・前髪に重なるパーツStencilComp: NotEqual / StencilRef: 1
顔に重ねるエフェクトStencilComp: Equal / StencilRef: 2
通常の衣服・アクセサリ不要(デフォルトのまま)

レンダーキュー

マテリアルRenderQueue備考
SA_BODY_A2000ステンシル書き込み
SA_EFFECT_A2460漫符エフェクト
SA_HAIR_A2500

新規パーツの配置目安:

  • 通常の衣服・アクセサリ:2000 前後
  • 透明・半透明エフェクト:2450〜2490
  • 髪の上に描画したいもの:2500 以上

HINASAKI SFX SHADER

汗・涙・モザイクなどのエフェクトには lilToon ではなく HINASAKI SFX SHADER を使用しています。GrabPass による背景屈折と OpenLit ライティングを備えたカスタムシェーダー群で、マテリアルの「エフェクトモード」プルダウンからシェーダーを切り替えられます。

シェーダー用途
うるうる目・落涙(Teardrop)目の潤み・涙・落下する雫
水滴(Waterdrop)汗など、面全体に流れる水滴
平面モザイク(Mosaic)背景のモザイク処理

うるうる目・落涙(HSFX_Teardrop)

落涙のサンプル

3つのエフェクト層で構成されています。

HSFX_Teardrop インスペクター

雫テクスチャ(落下する雫)

プロパティ説明
雫テクスチャ / Drop Color落ちる雫の形状テクスチャ(白シルエット)とハイライトカラー
フェードマスクアルファチャンネルで雫の消え際フェードを制御するマスク
横サイズ / 縦サイズテクスチャ表示サイズ(1=標準、中心位置はずれない)
雫の透明度エフェクト全体のアルファ。アニメーションでフェードイン/アウト可能

雫の設定(緑線)

プロパティ説明
X位置雫の横方向基準位置。デバッグモード緑線で確認しながら調整
横ランダム幅X座標のランダムなばらつき幅。大きいほど左右に広くばらける
揺れ周波数落下中の左右への揺れ周波数。大きいほど細かく揺れる
揺れ幅落下中の左右への揺れ幅。大きいほど大きく揺れる

涙テクスチャ(目頭に溜まる涙)

プロパティ説明
涙テクスチャ / Tear Color目頭に溜まる涙の形状テクスチャとハイライトカラー
ノイズテクスチャ屈折ノイズとうるうるエフェクトに共用するノイズ
横サイズ / 縦サイズテクスチャ表示サイズ
涙の透明度アニメーションでフェードイン/アウト可能

涙の設定(黄線)

プロパティ説明
X位置涙の横方向位置。デバッグモード黄線で確認
Y位置涙の縦方向位置。うるうるエフェクトの基準Yにもなる
ノイズサイズ屈折ノイズのUVスケール。大きいほど粒が細かくなる
ノイズ速度ノイズスクロール速度。0.1〜0.3程度を推奨
ノイズ強度屈折ノイズの強さ。大きくしすぎると不自然になる

うるうるテクスチャ・設定(青線)

プロパティ説明
うるうるマスクアルファチャンネルでうるうる効果の適用範囲を制御するマスク
Y位置(TearYに加算)うるうるエフェクトの開始Y座標。涙のY位置に加算して決まる
ノイズサイズ / 速度うるうる効果に使用するノイズのUVスケールとスクロール速度
うるうる強度光沢効果の強さ。0=無効 / 1.0=最大
ノイズ距離補正(m)カメラ距離によるノイズサイズ自動補正の基準距離
うるうるフェード屈折歪みの影響度。アニメーションでフェードイン/アウト可能

エフェクト全体設定

プロパティ説明
テクスチャ強度雫・涙ハイライトの明るさ。0=非表示 / 1.0=最大
屈折強度背景の屈折(歪み)の強さ
落下速度雫落下アニメーションの速度(0.01〜3)

水滴(HSFX_Waterdrop)

水滴のサンプル

面全体にグリッド状に配置される水滴エフェクトです。

HSFX_Waterdrop インスペクター

水滴テクスチャ

プロパティ説明
水滴テクスチャ / Drop Color水滴の形状テクスチャ(白シルエット)とハイライトカラー
マスクテクスチャ水滴に重ねる屈折ノイズ用マスク
フェードマスクエフェクトの表示領域マスク(白=全表示 / 黒=非表示)
横サイズ / 縦サイズテクスチャ表示サイズ
水滴の透明度アニメーションでフェードイン/アウト可能

UV設定

プロパティ説明
グリッドサイズUV空間の水滴行数。大きいほど縦に多く並ぶ
グリッド幅UV空間の水滴列数。大きいほど横に多く並ぶ

水滴の設定(緑線)・ノイズ設定・エフェクト全体設定

Teardropの雫設定・ノイズ設定・エフェクト全体設定と同じ項目です。


平面モザイク(HSFX_Mosaic)

モザイクのサンプル

メッシュが映す背景をモザイク処理するシェーダーです。プロパティは1つのみです。

HSFX_Mosaic インスペクター
プロパティ説明
モザイク強度(_MosaicPercentageモザイクブロックの大きさ。0=モザイクなし(鮮明) / 1=最大モザイク

カメラからの距離と視野角(FOV)に応じてブロックサイズが自動補正されるため、遠くからでも均一なモザイクに見えます。カメラがメッシュの外にいる場合は表面に、内部にいる場合は裏面全体にモザイクが適用されます。


デバッグモード(グリッドモード)

Teardrop・Waterdrop 共通。位置調整用の補助線を表示します。

モード表示
None通常表示(デフォルト)
Transparent補助線のみ(背景透過)
Black補助線のみ(黒背景)

補助線の色:緑=雫の範囲、黄=涙の位置、青=うるうるの境界

警告

None 以外の状態でアップロードするとゲーム内にもグリッドが表示されます。アップロード前に必ず None に戻してください。


OpenLit ライティング設定

Teardrop・Waterdrop は lilToon と同じ OpenLit ライブラリを使用しています。新規マテリアル作成時は本体と同じ値に揃えてください。

プロパティ説明
_LightMinLimit0.05暗い環境での最低輝度
_LightMaxLimit1.0明るい環境での上限輝度
_MonochromeLighting0カラーライトをグレースケールで適用(1.0=モノクロ)
_VertexLightStrength0近傍ポイントライトの影響強度
_AsUnlit01.0にするとライティングを無視して一定の明るさで表示