はじめに
「あれ?なんかいつもと違う…」URP(Universal Render Pipeline)に移行したら、お気に入りのlilToonシェーダーで輪郭線が表示されなくなってる!ってこと、ありませんか?私はつい最近まで盛大にハマってました!ゲーム制作が一向に進みません…(涙)
原因を調べてみたら、意外と簡単な設定で解決できるみたいなんです。この記事では、URP環境でlilToonの輪郭線を表示させるための、超簡単な対処法を、画像付きで分かりやすく解説します。「シェーダー?なにそれ美味しいの?」ってレベルの初心者さんでも大丈夫!安心して読み進めてくださいね!
この記事を読めば、あなたもすぐに輪郭線のある、可愛いキャラクターをURP環境で表示できるようになりますよ!
このメモで解決できること
- URP環境でlilToonの輪郭線が表示されない問題を解決できる
- lilToonのマテリアル設定を変更する方法がわかる
- 輪郭線表示に関する公式情報を確認できる
原因はRender Queue?
どうやら、URP環境だと、lilToonのデフォルト設定では輪郭線がうまく表示されないことがあるみたいなんです。原因の一つとして考えられるのが、マテリアルのRender Queueの設定。
Render Queueってなんぞや?って話ですよね。簡単に言うと、Unityがオブジェクトをどの順番で描画するかを決める設定のことです。この順番が適切でないと、輪郭線が他のオブジェクトに隠れてしまったりして、見えなくなっちゃうことがあるんです。
今回の問題は、Render Queueの設定を調整することで解決できることが多いみたいです。
具体的な対処方法
お待たせしました!具体的な対処方法を解説していきます。手順はたったの2ステップ!超簡単です。
ステップ1:マテリアルを選択
まずは、輪郭線を表示させたいlilToonのマテリアルを、UnityのProjectウィンドウから選択してください。
ステップ2:Render QueueをTransparentに設定
マテリアルを選択したら、Inspectorウィンドウに詳細が表示されます。その中から、Shaderの項目を探してください(lilToon Shaderになっているはずです)。
Shaderの項目を開いたら、Render Queueという項目があるはずです。初期設定ではBackgroundとかになっているかもしれません。このRender Queueの値を、Transparentに変更してください。

もしくは、lilToon作者様のコメントにあるように、Gitで直接設定する方法もあります。Render QueueをTransparentにすると、解決するそうです!
https://github.com/lilxyzw/lilToon/issues/54#issuecomment-1304429107
はい、これだけ!簡単でしょ?
設定が終わったら、SceneビューやGameビューで確認してみてください。輪郭線が表示されていれば成功です!やったね!
もし、まだ表示されない場合は、以下の点を確認してみてください。
- 使用しているlilToonのバージョンが最新であるか
- URPの設定が正しく行われているか(URPがプロジェクトにインストールされ、GraphicsSettingsに設定されているか)
- 他のオブジェクトが輪郭線を隠していないか
さらに深掘り:それでもダメなら?
上記の方法で解決しない場合、Shaderの設定を直接編集する必要があるかもしれません。lilToonのShaderには、輪郭線の太さや色などを調整できるパラメータが用意されています。これらのパラメータを調整することで、より理想的な輪郭線を実現できる可能性があります。
Shaderの編集はちょっとハードルが高いかもしれませんが、lilToonの公式ドキュメントや、他のユーザーが作成したチュートリアルなどを参考に、ぜひチャレンジしてみてください!
おわりに
というわけで、URP環境でlilToonの輪郭線を表示させる方法について解説しました。Render Queueの設定をTransparentにするだけで、意外と簡単に解決できることが多いので、ぜひ試してみてくださいね!
シェーダーって、本当に奥が深いですよね…!私もまだまだ勉強中の身ですが、一緒に頑張っていきましょう!先輩シニアエンジニアに電源コード抜かれちゃいますね。(震え)
この記事が、あなたのUnityライフのお役に立てれば嬉しいです!それでは、また別の記事でお会いしましょう!
動作確認バージョン:Unity 2022.3.x, lilToon 1.4.0

