G-Child 2020/05/13 13:00

【Unity】ユニバーサルレンダーパイプラインでのトゥーン表現

今日は少しだけUnityの技術的なお話をするね。

とはいえ、難しい話は自分もよくわからないから、できるだけかみ砕いて軽めに
説明するよ。
あと、この記事で使用したデータは、超・無料プランの会員向けに公開しとく
から、興味があったら会員登録よろしくね。

ユニバーサルレンダーパイプラインって何よ

そもそもレンダーパイプラインってのは、入力となるポリゴンデータを
レンダリングして出力するまでの一連の工程を指すのね。

昔のUnityはシェーダーやポストエフェクト周りについては、ユーザー製の
アセット任せだったんだ。
けど、それだとUntiy自体バージョンアップやアセット制作者の都合で
アセットの開発が終了してしまう事も多々あり、それを利用して開発していた
開発者に大ダメージなんて事もあったのね。

Unity 2019.3からは、そのレンダーパイプラインが最先端向けとそれ以外に
統合されたんだ。
ユニバーサルレンダーパイプラインは、比較的ハイエンドからローエンドまで
幅広いコンソールに最適化されいるみたい。
もっと詳しく知りたい人は下のリンクから色々辿ってね。

ユニバーサルレンダーパイプライン

これ使うと何か良い事ある?デメリットは?

ポストエフェクトとシェーダーの組み合わせによる対処不能な問題を
回避できるのは大きいね。
ユーザー製ポストエフェクト同士だと、スタック順で結果が変わる事も
あったし……

最先端向けAAA品質を求めなければ、とりあえずコレを選んでおけば
良いという気楽さも良いね。
あと、今後はこれがデフォルトのレンダリングオプションになるって
言っているけど、はてさてどうなる事やら。

じゃあ、良い事尽くしかと言うと、現状そうでもない。
それこそが本日の本題にも繋がるんだけど、
シェーダーが全然足りてない。

Unity側は、シェーダーグラフっていう馬鹿でもシェーダーが書ける
”気になれる”機能を付けたからそれで解決してねって言っているけど、
それなら既存シェーダーを自動コンバートしてくれる機能の方が
有難かったかもしれない……

トゥーンシェーダは使えないの?

広く世に出回っているユーザー製の高性能トゥーンシェーダーは
“現状”使えなかったよ。

  • ユニティちゃんトゥーンシェーダ
  • Toony Colors Pro 2

これらはインポートしてマテリアルにシェーダーを割り当てても、
他の非対応シェーダーと同様に無残な紫一色になってしまった。

じゃあ、どうすればいいのか、対策案は以下の三つ。
1.トゥーン表現かユニバーサルレンダーパイプラインのどちらかを諦める
2.高性能トゥーンシェーダー側が対応してくれるまで待つ
3.自分で何とかしてみる

正直、焦らなくても待ってりゃすぐに色々と出てくるとは思うのだけど、
せっかくだし今回は「自分で何とかしてみる」を選んでみよう。

トゥーンシェーダーを何とかしてみる

何とかと言っても1から全部手探りで作る必要はないよね。
ちょっと調べれば、色々なチュートリアルやら資料が出てくるから、
それらを活用すれば良いのよ。
んでもって、今回参考にさせてもらったのは以下のサイトね。

トゥーン表現について
アウトラインについて

どちらも英語のサイトだけど、グーグル先生に翻訳してもらえれば十分
理解できると思う。
上記サイトの手順通りにやってみた結果がこちらの画像。

どうかな?正直アウトラインの品質はお世辞にも良いとは言えないけど、
ポストエフェクトを使う案はちょっと抵抗あったので、今回はシンプルな
法線方向へ太らせる古典的な方法をチョイスしたよ。

超・無料プランの会員向けに、実際のファイルをアップしておくので、
興味がある人はそちらからダウンロードしてみてね。


今回はできるだけ難しく感じさせないようにUnityのお話をしてみたけど
どうだったかな。
需要がありそうだったら、今後も続けてみるよ。

長文にお付き合いしてくれて、ありがとうね。

フォロワー以上限定無料

トゥーンシェーダー配布中

無料

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索