lilToon/Poiyomi/UTS等あらゆるシェーダーの上にlilToonマットキャップを重ねるシェーダー&ツール
- Digital0 JPY

VRChatアバター用に、lilToon・Poiyomi・UTS等のあらゆるシェーダーの上に、lilToonのマットキャップ機能を別マテリアルとして重ねがけできるシェーダーとツールのセットです。 すべて完全無料で配布しており、改変・再配布・商用利用も自由です。マットキャップ画像販売者の方は、本シェーダーやマテリアルを同梱して販売することができます。
■こんな悩みありませんか?
・liltoon以外のマテリアルにliltoonのマットキャップを重ねたい ・マテリアルを買ったつもりがマットキャップで、入れる枠が足りない ・マットキャップ画像を買ったけど、入れる枠が足りない ・既存のマテリアルに手を入れずに、マットキャップだけ追加したい
■何ができるのか
・マットキャップだけのマテリアルを生成し、既存マテリアルの上に重ねるだけで完結 ・元のlilToonマテリアルには手を加えないので、衣装変更や着替えにも影響しない ・ボディのようにマテリアルが一つしかないものであればスロットを追加して入れるだけでOK 同梱ツールで自動でスロットも追加 (マテリアルが複数あるメッシュは最後にあるものにマットキャップ表現を追加) ・マテリアルにマテリアルを重ねるツールを使うことで、各スロットにつきマテリアルを1つ追加、任意の場所は計3つまでマテリアルを重ねられるので、合計6個のマットキャップを重ねられます (liltoonの二つのマットキャップ枠を含む) ・同梱ツールを使うことでノーマルマップ、各種マスク、合成モード等のlilToon設定をワンクリックで継承 ・もちろんマテリアルを直接弄ることも可能
マットキャップについての説明
マットキャップ計算はliltooonのメインノーマルマップ 1st / 2nd:両方がマットキャップに影響します マットキャップ専用カスタムノーマルマップも描写に影響します。 変換ツールでマテリアルを生成する際、元のlilToonマテリアルに設定されているメインノーマルマップ1st/2nd・マットキャップ専用ノーマルマップは自動でコピーされます。 マットキャップのツヤ表現にノーマルマップを使っていた場合 肌の凹凸感をノーマルマップで作り、それをマットキャップで光らせていたケースでは、元のlilToonマテリアル側のノーマルマップ1st/2ndを外しても、MatcapOnly側にコピーされたノーマルマップによって質感がある程度保たれます。元マテリアルを軽量化したい場合などにご活用ください。
再現性について
MatcapOnly + 変換ツールは、lilToon のマットキャップ機能をほぼ再現しています。 ただし、ほぼ再現であり、完全再現ではないこと 合成の仕方によっては漏れがあることを書いておきます。 不具合があったら報告ください
リム/反射のあるアバターでの調整について
リムライト・反射・スペキュラ等を強めに設定したアバターに本シェーダーで作ったマットキャップを重ねると、全体的に白っぽく見えることがあります。これは複数の光沢効果が重なるための自然な現象です。 このようなアバターには、マットキャップマテリアル側の 「光調整モード」 を活用して手動で調整してください。 白みを抑える:全体的な薄白さを軽減 強いツヤを弱める:強い白の上限をフラット化 下限カット:薄く全体に乗る白みを切り捨て 色相維持カット:色付きマットキャップで色味を保ったまま白みを抑える これらを組み合わせて、お好みの見た目に追い込んでください。
パッケージ内容
1. MatcapOnly シェーダー
lilToonのマットキャップ機能を再現したマットキャップ専用シェーダー。 主な機能 ・マットキャップ2枚同時使用(lilToonと同じ仕様) ・4種類の合成モード(通常・加算・スクリーン・乗算) ・マットキャップごとのマスクテクスチャ・カスタムノーマルマップ対応 ・メインノーマルマップ(1st/2nd)対応 ・ライトの明るさ反映、影マスク、裏面マスク等の各種オプション ・パースペクティブ補正・Z軸キャンセル・VR視差対応 ・光調整モード(リムライト等で白みが乗りすぎたときの補正機能) 白みを抑える 強いツヤを弱める 下限カット(弱い光を切り捨て) 色相維持カット(色付きマットキャップ用)
2. lilToon → MatcapOnly Converter(変換ツール)
既存のlilToonマテリアルから、設定をそのまま移したMatcapOnlyマテリアルをワンクリック生成するEditor拡張ツール。 メインテクスチャ・マットキャップ1st/2nd・ノーマルマップ等を自動転送 メッシュ参照を入れるとスロット追加まで自動化(lilToon側のマットキャップOFF含む) 元マテリアルを保護する複製モード搭載 読み取れる全プロパティのプレビュー表示
同梱していないツール
マテリアルにマテリアルを重ねるツール
https://kalon021215.booth.pm/items/8142485 Unityの仕様により通常はメッシュの最後のスロットにしか追加マテリアルを当てられない問題を解決するEditor拡張ツール。 任意のスロットにマテリアルを重ねがけできる 各スロットにマテリアルを2個ずつ、最終スロットなら3個まで設置可能 元のメッシュに手を加えず、複製した新規メッシュアセットで動作 BlendShape・ボーンウェイト・bindpose等を完全保持
使い方
基本フロー
lilToonマテリアルが付いたメッシュを用意 1.「lilToon → MatcapOnly Converter」を起動 2.適用先メッシュ(SkinnedMeshRenderer等)を選択 3.「自動でスロット追加して適用」にチェック 4.「MatcapOnlyマテリアルを生成」ボタンで完了 これで、元のlilToonマテリアルのマットキャップだけがOFFになり、新たに生成されたMatcapOnlyマテリアルが追加スロットに自動で配置されます。
応用
マテリアルを直接指定し、マテリアルから直接抜き出すことも可能 複数のマットキャップを重ねたい場合 タトゥー、日焼け、ツヤなど複数のマットキャップを1つのメッシュに重ねたい場合は、マテリアルにマテリアルを重ねるツールを使ってさらに重ねがけが可能です(操作保証は元のマテリアルを含めて最大マテリアル3個まで)。
仕様上の制限
MatcapOnlyマテリアルを使う場合 ノーマルマップ等を使用するとパフォーマンスがやや重くなります リムライトを多用したアバターでは「光調整モード」を活用してください 合成モード「乗算」について 合成モードを「乗算」に設定したマットキャップは、VRChat等のアバターアップロード時のキャプチャ画像で真っ黒になります。 これは乗算合成の数学的特性によるもので、シェーダー側で修正できません。 ワールド内のアバター本体には通常通り表示されます 影響するのはアップロード画面のサムネイル画像のみです 気になる場合は通常・加算・スクリーンモードでの代替をご検討ください ただ、ワールドによっては不具合が起きる可能性があるので報告ください マテリアルにマテリアルを重ねることを可能にするツールを使う場合 元のメッシュには手を加えず、複製した新規メッシュアセットを生成します アバターをアップロードする際は、複製されたメッシュが対象になります Mesh SettingsのRead/Write Enabledが必要です(通常のVRChatアバターは有効になっています) サポートについて 本パッケージは無料配布のため、個別サポートは限定的となります。バグ報告や質問は受け付けますが、対応が遅れる場合があることをご了承ください。
マットキャップ販売者向けガイド
本パッケージを使うと、ご自身のマットキャップ画像をエンドユーザーが**ドラッグ&ドロップだけで適用できる「ポン入れマテリアル」**として配布できます。本セクションは、マットキャップ画像を販売されている方向けの詳細ガイドです。
■何ができるか
・自作マットキャップ画像とMatcapOnlyマテリアルをセットにして配布できます ・エンドユーザーはアバターのマテリアルの設定を一切触らずに、スロットを追加してマテリアルを入れるだけで使えます ・ノーマルマップ、マスク、合成モード、光調整等の設定もマテリアルに保存された状態で配布されます 「タトゥー」「日焼け」「ツヤ」など設定済みの状態で提供できます
ライセンス MIT License で公開しています。 Copyright (c) 2026 [作者名] ✅ 商用・非商用問わず自由に使用できます ✅ 改変・再配布自由 ✅ 販売物への同梱自由(マットキャップ画像とのセット販売等) ✅ ご自身の作品に組み込んで使用も自由 ⚠ 著作権表示の保持をお願いします マットキャップ販売者の方へ 本シェーダー・マテリアルを使って作成したポン入れマテリアルを、ご自身のマットキャップ画像とセットで販売することは自由です。シェーダー本体・変換ツールの同梱配布も可能です。 ただし、本シェーダーは下記の通り lilToon を参考に実装されているため、lilToon の著作権表示も保持してください。 使用シェーダーについて(lilToonへのクレジット) 本シェーダーのマットキャップ計算ロジックは、lilToon を参考に実装されています。 lilToon: https://github.com/lilxyzw/lilToon Copyright (c) 2020-2024 lilxyzw Licensed under the MIT License lilToon シェーダー本体のソースコードは含まれていませんが、lilCalcMatCapUV 等のマットキャップ計算ロジックを参考に再実装しています。
配布形態の例
A. マテリアルのみ配布(軽量)
・マットキャップ画像 + 設定済み MatcapOnly マテリアル(.mat) のみ同梱 ・エンドユーザーは別途、本パッケージ(無料)の事前導入が必要
B. シェーダー同梱配布(推奨)
・マットキャップ画像 + マテリアル + 本パッケージのシェーダーとツール一式を同梱(選別もれしそうなので、コンバーター込みで全部同梱でいいです) ・エンドユーザーは追加のダウンロード不要、買ったらすぐ使える
マテリアル作成の流れ
1.lilToonマテリアルを用意し、ご自身のマットキャップ画像を設定 2.lilToon上で各種パラメータ(不透明度、マスク、合成モード等)を調整 3.本パッケージの変換ツールで、MatcapOnlyマテリアルを生成 4.必要に応じて光調整モード等の追加設定を施す 5.完成したマテリアルを商品に同梱
必須記載事項
■ 使用シェーダー 本商品には MatcapOnly Shader (MIT License) by [カロン] を使用しています。 本商品には MatcapOnly Shader (MIT License) by [カロン] を同梱しています。 (同梱しない場合は事前に下記をインストールしてください) [https://kalon021215.booth.pm/items/8291066] ■ 元シェーダーへのクレジット MatcapOnly Shader のマットキャップ計算ロジックは、 lilToon (https://github.com/lilxyzw/lilToon) を参考に実装されています。 Copyright (c) 2020-2024 lilxyzw, Licensed under the MIT License

