アバター向けシェーダーの定番として使われているlilToonの作者・lil氏(@lil_xyzw)が、PBRの手法とNPRの手法を組み合わせた新しいキャラクター向けシェーダー「NonToon」をGitHubで公開しています。最新版は2026年7月14日リリースの0.1.3で、ライセンスはZlibです。ただし作者自身が開発中であり仕様が大幅に変更される可能性があると明記しているため、現時点では様子を見ながら触るものとして紹介します。
lilToonは2020年12月の公開から5年以上更新が続いているMITライセンスのシェーダーで、公式ドキュメントに「lilToonを用いた制作物の配布手順について」という項目が用意されているほど、他の制作者の配布物の土台になっています。その作者が、本体を最小限に保つという逆方向の設計で新しく作り直しているのが今回のNonToonです。
NonToonとは
NonToonは、Unity向けのキャラクター表現用シェーダーです。インストールはVPM(VRChat Package Manager)から行います。リポジトリが作成されたのは2026年7月11日で、そこから0.1.0〜0.1.3が短期間で公開されました。
名前のとおり「単なるトゥーンではない」方向を狙っており、PBRベースのライティングとNPRの表現を組み合わせる点が特徴とされています。

キャラクター表現に絞った機能
READMEに挙げられている主な機能は次のとおりです。
- 不透明、カットアウト、ディザ、半透明、ファー
- 各機能のマスクとして使える共有マスクテクスチャ
- ノーマルマップ
- 影のオフセット
- アウトライン(頂点カラーによって太さや奥へのオフセットが可能)
- RGBAでマスク可能な4つのディテールテクスチャ・ノーマルマップ
- スペキュラー
- 瞳の発光などに使える明るさのブースト
- リムシェード
- Rampテクスチャによる陰影表現
- SDFテクスチャ
- 加算マットキャップ・乗算マットキャップ
- 異方性反射を応用したヘアスペキュラー
- リムライト
- 距離フェード
- ステンシル
モジュールを足して拡張する設計
NonToonは、モジュール型シェーダーシステム「Shader Core」を使っています。モジュールをインストールするだけで機能を拡張でき、本体の機能もほとんどがモジュールとして定義されているため、それらを別のシェーダーで利用することもできるとされています。
この設計は、後述の「機能を増やさない」という方針と対になっています。
あえて対応しないと明言している点
READMEには「対応しないこと」が理由付きで書かれており、ツールの性格がよく分かります。
- ドキュメントは日本語のみ。 機械翻訳で十分読める上、作者が英語ドキュメントを書く場合も機械翻訳を使うため品質がほとんど変わらないため
- 機能追加はキャラクター表現に必須に近いものに限る。 ほとんど使われない機能であふれるのを防ぎ、本体を最小限に保つため。代わりにモジュールで拡張していく
- プラットフォーム固有の機能には対応しない。 こちらもモジュールで対応する
- アウトラインの太さをマスクテクスチャで制御することには対応しない。 頂点単位の処理は頂点データで行われるべきという考えから。代わりにlilOutlineSmootherでテクスチャを頂点カラーに焼き込める
詳しくはNonToon(GitHub)をご覧ください。
管理人のひとこと
VRChat周辺は仕事で触る領域ではないものの、以前から興味があって追いかけている界隈です。Unity側の作業をほとんどしない立場から見ても、READMEの「対応しないこと」に理由まで添えて線を引いているのが印象に残りました。本体を小さく保ってモジュールで足していく方針は、機能が増えるほど設定項目が膨らんで扱いづらくなるトゥーン系シェーダーへの回答になっていると思います。異方性反射を応用したヘアスペキュラーや、頂点カラーでアウトラインの太さを制御する仕組みは、DCC側でどうデータを作っておくかに直結するので、Blenderや3ds Maxで素材を用意する立場からも読み方があるところです。ただ作者自身が開発中で仕様変更の可能性を明記しているので、進行中の案件に入れるのはまだ早いという印象です。同じくVRChat周辺で公開されたSiroinoSotaiと合わせて、この界隈の土台づくりが厚くなってきているのを感じます。



コメント