シェーダー設定
lilToon
全パーツに lilToon を使用しています。新規マテリアルを作成する際はこのページの値に合わせてください。
ライティング設定(全パーツ共通値)
Brightness / Lighting(mono) パラメーターと連動します。値がずれると明るさ調整時に新規パーツだけ挙動が異なります。
| プロパティ | 初期値(ラジアル 0) | 最大値(ラジアル 1) |
|---|---|---|
_LightMinLimit | 0.05 | 1.0 |
_MonochromeLighting | 0.5 | 1.0 |
_LightMaxLimit | 1.0 | — |
_lilDirectionalLightStrength | 1.0 | — |
_VertexLightStrength | 0 | — |
ステンシルシステム
ステンシルは、描画時に「ピクセルを通すか弾くか」をバッファの数値で制御する仕組みです。lilToon では以下の2つのプロパティを使います。
| プロパティ | 役割 |
|---|---|
| StencilRef | 比較に使う参照値(0〜255) |
| StencilComp | 比較方法。Always:常に通す(バッファに値を書く)。Equal:バッファ値が Ref と一致するピクセルだけ描画。NotEqual:バッファ値が Ref と一致しないピクセルだけ描画。 |
3+1では Ref=1(髪抜け用) と Ref=2(漫符マスク用) の2系統を使っています。
髪抜け(眉・アイライン)
前髪が眉やアイラインの上に重なっても、眉が透けて見えるようにするシステムです。
- 顔メッシュ(SA_BODY_B / SA_BODY_C)が
StencilComp: Alwaysで描画され、顔が映るピクセルのステンシルバッファに 1 を書き込む - 前髪メッシュ(SA_HAIR_B)は
StencilComp: NotEqual / StencilRef: 1で描画されるため、バッファに1が書かれたピクセル(=顔の上)では描画をスキップする - 結果として、前髪が顔に重なる部分だけ抜けて眉・アイラインが見える
| マテリアル | 役割 | StencilRef | StencilComp |
|---|---|---|---|
| SA_BODY_B / SA_BODY_C | 顔(書き込み) | 1 | Always |
| SA_HAIR_B | 前髪(顔の上を抜く) | 1 | NotEqual |
新規前髪を追加する場合: マテリアルに StencilComp: NotEqual / StencilRef: 1 を設定してください。設定しないと眉・アイラインが前髪に隠れます。
漫符マスク
あおざめなどの顔エフェクトを顔の肌領域だけに描画するシステムです。
- 顔の肌メッシュ(SA_BODY_A)が
StencilComp: Alwaysで描画され、肌が映るピクセルのステンシルバッファに 2 を書き込む - 漫符エフェクト(SA_EFFECT_A)は
StencilComp: Equal / StencilRef: 2で描画されるため、バッファに2が書かれたピクセル(=肌の上)にのみ表示される - 結果として、エフェクトが顔の輪郭に沿って自然にマスクされる
| マテリアル | 役割 | StencilRef | StencilComp |
|---|---|---|---|
| SA_BODY_A | 顔の肌(書き込み) | 2 | Always |
| SA_EFFECT_A | 漫符エフェクト(肌上のみ描画) | 2 | Equal |
顔に重ねるエフェクトを追加する場合: StencilComp: Equal / StencilRef: 2 を設定すると、肌領域だけに限定して描画できます。
新規パーツ追加時のチェックリスト
| 追加するパーツ | 必要なステンシル設定 |
|---|---|
| 前髪・前髪に重なるパーツ | StencilComp: NotEqual / StencilRef: 1 |
| 顔に重ねるエフェクト | StencilComp: Equal / StencilRef: 2 |
| 通常の衣服・アクセサリ | 不要(デフォルトのまま) |
レンダーキュー
| マテリアル | RenderQueue | 備考 |
|---|---|---|
| SA_BODY_A | 2000 | ステンシル書き込み |
| SA_EFFECT_A | 2460 | 漫符エフェクト |
| SA_HAIR_A | 2500 | 髪 |
新規パーツの配置目安:
- 通常の衣服・アクセサリ:2000 前後
- 透明・半透明エフェクト:2450〜2490
- 髪の上に描画したいもの:2500 以上
HINASAKI SFX SHADER
汗・涙・モザイクなどのエフェクトには lilToon ではなく HINASAKI SFX SHADER を使用しています。GrabPass による背景屈折と OpenLit ライティングを備えたカスタムシェーダー群で、マテリアルの「エフェクトモード」プルダウンからシェーダーを切り替えられます。
| シェーダー | 用途 |
|---|---|
| うるうる目・落涙(Teardrop) | 目の潤み・涙・落下する雫 |
| 水滴(Waterdrop) | 汗など、面全体に流れる水滴 |
| 平面モザイク(Mosaic) | 背景のモザイク処理 |
うるうる目・落涙(HSFX_Teardrop)
3つのエフェクト層で構成されています。
雫テクスチャ(落下する雫)
| プロパティ | 説明 |
|---|---|
| 雫テクスチャ / 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)
面全体にグリッド状に配置される水滴エフェクトです。
水滴テクスチャ
| プロパティ | 説明 |
|---|---|
| 水滴テクスチャ / Drop Color | 水滴の形状テクスチャ(白シルエット)とハイライトカラー |
| マスクテクスチャ | 水滴に重ねる屈折ノイズ用マスク |
| フェードマスク | エフェクトの表示領域マスク(白=全表示 / 黒=非表示) |
| 横サイズ / 縦サイズ | テクスチャ表示サイズ |
| 水滴の透明度 | アニメーションでフェードイン/アウト可能 |
UV設定
| プロパティ | 説明 |
|---|---|
| グリッドサイズ | UV空間の水滴行数。大きいほど縦に多く並ぶ |
| グリッド幅 | UV空間の水滴列数。大きいほど横に多く並ぶ |
水滴の設定(緑線)・ノイズ設定・エフェクト全体設定
Teardropの雫設定・ノイズ設定・エフェクト全体設定と同じ項目です。
平面モザイク(HSFX_Mosaic)
メッシュが映す背景をモザイク処理するシェーダーです。プロパティは1つのみです。
| プロパティ | 説明 |
|---|---|
モザイク強度(_MosaicPercentage) | モザイクブロックの大きさ。0=モザイクなし(鮮明) / 1=最大モザイク |
カメラからの距離と視野角(FOV)に応じてブロックサイズが自動補正されるため、遠くからでも均一なモザイクに見えます。カメラがメッシュの外にいる場合は表面に、内部にいる場合は裏面全体にモザイクが適用されます。
デバッグモード(グリッドモード)
Teardrop・Waterdrop 共通。位置調整用の補助線を表示します。
| モード | 表示 |
|---|---|
| None | 通常表示(デフォルト) |
| Transparent | 補助線のみ(背景透過) |
| Black | 補助線のみ(黒背景) |
補助線の色:緑=雫の範囲、黄=涙の位置、青=うるうるの境界
None 以外の状態でアップロードするとゲーム内にもグリッドが表示されます。アップロード前に必ず None に戻してください。
OpenLit ライティング設定
Teardrop・Waterdrop は lilToon と同じ OpenLit ライブラリを使用しています。新規マテリアル作成時は本体と同じ値に揃えてください。
| プロパティ | 値 | 説明 |
|---|---|---|
_LightMinLimit | 0.05 | 暗い環境での最低輝度 |
_LightMaxLimit | 1.0 | 明るい環境での上限輝度 |
_MonochromeLighting | 0 | カラーライトをグレースケールで適用(1.0=モノクロ) |
_VertexLightStrength | 0 | 近傍ポイントライトの影響強度 |
_AsUnlit | 0 | 1.0にするとライティングを無視して一定の明るさで表示 |