MRが楽しい

MRやVRについて学習したことを書き残す

多機能かつ軽量なトゥーンシェーダ「lilToon」をHoloLens2で試す

本日はシェーダのお試し枠です。
多機能かつ軽量なトゥーンシェーダ「lilToon」を HoloLens2 で試してみました。
f:id:bluebirdofoz:20220321142753j:plain

lilTonn

lil 氏が開発している多機能かつ軽量なトゥーンシェーダです。
booth.pm

アバターを用いたサービス(VRChat等)向けに開発したシェーダーで以下のような特徴があります。
● 簡単(プリセットからワンクリック設定&自作プリセットの保存、色調補正機能による色替え&テクスチャ書き出し)
● 美麗(白飛び防止、水中などでの透け防止、アンチエイリアスシェーディング)
● 軽量(エディタが自動でシェーダーを書き換えて機能をオンオフ)
● 長期間、様々な環境で利用可能(Unity2017~2021、BRP/LWRP/URP/HDRP)
● Unityの全ライティングに対応しStandardShaderに近い明るさに

lilTonn は使用する機能に合わせてシェーダが最適化されます。
このため、機能に合わせて最小限の構成の軽量なトゥーンシェーダとして利用することができます。

シェーダのダウンロードとインポート

以下のページから lilToon シェーダをダウンロードできます。
booth.pm
f:id:bluebirdofoz:20220321142824j:plain

より詳細な仕様やソースコードは以下の GitHub から確認することもできます。
github.com

ダウンロードした lilToon_X.X.XX.zip ファイルを解凍します。
unitypackage ファイルが含まれているので lilToon を使用したい Unity プロジェクトにインポートします。
f:id:bluebirdofoz:20220321142839j:plain

lilToonの設定

lilToon をインポートしたらマテリアルの[Shader]プルダウンを開き、[lilToon]を選択します。
これでマテリアルに lilToon を利用できます。
f:id:bluebirdofoz:20220321142847j:plain

デフォルトでは最小の機能構成になっています。
必要な機能にはチェックを入れて有効化する必要があります。
f:id:bluebirdofoz:20220321142856j:plain

今回は影と輪郭線を設定してみました。
f:id:bluebirdofoz:20220321142905j:plain

HoloLens2上での動作確認

プロジェクトをビルドして HoloLens2 にデプロイしました。
以下の通り、HoloLens2 上でトゥーンレンダリングの表現が行えました。
f:id:bluebirdofoz:20220321142914j:plain

シングルパスインスタンスレンダリングにも対応しているようで、特に手を加えることなく両目での描画が行われていました。
また以前試したユニティちゃんトゥーンシェーダーに比べて軽量なようで、より高い FPS が得られました。
bluebirdofoz.hatenablog.com