Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 セルシェーディング系アセットレビュー!

この記事はUnreal Engine 4 (UE4) Advent Calendar 2020 その1日、25日目の記事となります。

qiita.com

今年は技術記事ではありませんが、UE4マーケットプレイスで販売しているセルシェーディング系アセットについて、私が所持しているものを徹底レビューします!

思えばマケプレにもかなりの数のNPR系のアセットが増えましたが、なかなか購入までは至らず、中身が気になっている人もそれなりにいるでしょう。少しでも購入の際の参考になればよいかと思います。

今回レビューするアセットは主にポストプロセスを未使用のものを中心に紹介しています。ポストプロセス系はお手軽ですが、どうしても表現力で一歩落ちるのと数が多いので今回は省くことにしました。その分ひとつひとつのアセットを濃い内容で解説しています。レビューは★の数で評価していますが、最大は★5つとしています。

レビューをするアセットは以下となっておりますので、気になるアセットがあればぜひ購入してみてください。

JIFFYCREW CEL SHADING

www.unrealengine.com

かなり以前から販売されているアセットで、過去にはCartoon Rendering Packという名前で販売されていました。現在では名称が変わり、サンプル用のメッシュも付属されるようになると共に、別途販売されていたアウトラインマテリアルも同梱されるようになりました。

メイン部分の機能としてはディフューズ、スペキュラ、リムライト描画に、AO、Glow、スペキュラによるテクスチャーマップが可能となっています。更に通常のトゥーンマテリアルの他にEyeマテリアル、Hairも用意されています。

色付けはエミッシブカラーで行われており、陰影の基準は専用BPによるディレクショナルライトのベクトルとカラーを用いています。必要最低限のものは全て揃っているなという印象ですね。

f:id:alwei:20201220123843p:plain
ベースマテリアル全体

f:id:alwei:20201220123956p:plain
この手のアセットにしては珍しく女の子のメッシュがサンプルとして用意されていますが、ちょっと不気味かも…

・必要最低限の機能は用意
・別途販売されているアウトラインマテリアルパックも同梱でお得
・Eye、Hairのマテリアルも専用で用意
・ライトは1つのディレクショナルライトしか考慮しない
・ポイントライトやスポットライトやスカイライトは利用できない
・サンプルやドキュメントはそこそこ充実
・最近機能追加の更新はない ※最新の4.26には対応済

個人的な評価
★★★

Advanced Cel Shader Essentials

www.unrealengine.com

これもかなり以前から販売されているアセットで、永続無料版としてAdvanced Cel Shader Liteというアセットが既に存在していますが、こちらは主にポストプロセスを使った実装となっていて、Advanced Cel Shader Essentialsとは実装方法や理念が全く異なっています。

Advanced Cel Shader Essentialsは個別にBPとマテリアルで細かくカスタマイズ可能となっており、ポストではないのでモバイルでも動作します。基本的なセルライティング機能を提供し、スペキュラや光の強弱設定などかなり基本的なものに絞っているという感じがします。アウトラインはありません。

色付けはすべてエミッシブカラーで行われており、配置されているポイントライトやスポットライトを全て考慮します。何よりも凄いのはBP上でライトの距離を計算し、自動的にアクターから近くに存在するライトを4つ登録し、その効果を反映させるようになっています。ただこの計算はGet All Actors of ClassをTick毎に計算するような処理になっていますので、リアルタイム性の高いものにはちょっと使えない雰囲気です。

f:id:alwei:20201220125309p:plain
ベースマテリアル全体

f:id:alwei:20201220125855p:plain
サンプルはおっさんが踊りながらダイナミックライティングされるというちょっと怖い見た目

・必要最小限のセルライティング
・アウトライン機能は用意されていない
・通常のポイント、スポット、ディレクショナルライトを考慮する
・自動的にアクターから近い距離のライトを4つ計算してライティングに反映
・中身が一部ゴチャゴチャしており、不要なものが入ってたり、マテリアルが剥がれていたりする
・シェーディング更新に非常に負荷がかかるようになっており、実用的ではない
・ドキュメントが用意されていない
・最近機能追加の更新はない ※最新の4.26対応済み

個人的な評価
★★

Anime Toon Shading

www.unrealengine.com

こちらは少し前から販売されたアセットです。名前の通り非常にセルアニメ的なシェーディングが可能となっています。作者はGRAVITY DAZEドラゴンボールファイターズを参考にアセットを制作してた言っているように、かなりの高機能を持っているアセットとなっています。

非常に細かい機能が用意されており、基礎的なセルライティングやスペキュラ、アウトラインまでしっかりとサポートしつつ、制御用パラメーターもわかりやすく豊富に用意されています。アウトラインはシェルメソッド(日本では背面法と呼ぶ)で実装されています。またマットキャップと異方性を利用した目や髪に対して利用可能な機能も用意されています。

色付けはエミッシブカラーで行われます。ライティングは専用BPのポイントライトによるダイナミックライトを受けることができます。スポットライトは非対応。ディレクショナルライトはメインとは別にBP化されたものを用意しており、ライトの更新頻度を変更することも可能です。更に管理用アクターが用意されており、各アクターはBP上からインターフェースを経由してライティングの更新を呼び出すことがで効率的にライトの変化を享受することが可能になっています。

f:id:alwei:20201220140145p:plain
ベースマテリアル全体

f:id:alwei:20201220140255p:plain
サンプルは非常にわかりやすく、具体的な見た目がどうなっているのかわかりやすい

・十分な機能が用意されている
・アウトラインはシェルメソッド(背面法)だが、太さはカメラ距離は考慮しない
・専用BPポイントライトで動的ライティングサポート
・管理用アクターが更新を管理しており、各アクターで更新を通知する必要がある
・パフォーマンスが考慮されており、非常に高速に動作する
・非常にわかりやすいドキュメントとサンプルが用意されている
・最近機能追加の更新はない ※4.26対応済み

個人的な評価
★★★★

Cel-Shader & Outline

www.unrealengine.com

こちらは今年でたばかりの比較的新しいアセットです。名前は非常にシンプルですが、とても強力な機能を持っており、他のアセットには持っていない特徴をいくつか持っており、特にセルシェーディングとしての機能に特化しています。

基礎的なセルライティングは勿論、スペキュラやフレネルによるリムライト、各種テクスチャーマップによる閾値による陰影箇所の制御が可能です。アウトラインもテクスチャーによる太さの制御が可能となっており、カメラ距離に応じて太さが自動調整されます。更にアウトラインにテクスチャーノイズを入れる機能もあります。

色付けはベースカラーとエミッシブカラー両方を使うことが可能で、専用BPによるポイントライト、スポットライト、ディレクショナルライトに対応が可能で、独自でエリアライト、シャドウライトという機能も持っています。エリアライトは範囲内を1つの色で塗りつぶし、シャドウライトは影の部分にのみ影響するという特殊なライトです。これらのライトは最大8つまで追加可能となっており、パフォーマンスが許せば独自に追加も可能です。これら全てがUE4の組み込みライトと共存可能となっているので、セルシェーディングを行いつつ、UE4ライトの恩恵を受けることが可能です。

f:id:alwei:20201220144748p:plain
ベースマテリアル全体 ※ただし処理はほぼMF_MergeCelLightChannels

f:id:alwei:20201220144840p:plain
サンプルはひとつひとつにわかりやすいテキストが配置されているので、何をやっているのか理解しやすい

・セルシェーディングに特化した高度な機能
・アウトラインはシェルメソッド(背面法)で、太さはカメラ距離を考慮し、テクスチャーで制御可能
・ライト用の専用BPによる動的ライティングサポート
・エリアライトとシャドウライトという独自ライト
・パフォーマンスも考慮されており、ライトチャンネルの数次第で変動
・動画によるチュートリアルと、最低限のドキュメントとわかりやすいサンプル
・機能追加の更新はないが、期待はできる

個人的な評価
★★★★

Cel Shading +

www.unrealengine.com

こちらは去年でたアセットとなり、名前からもわかるようにセルシェーディングに特化していますが、名前に"+"とつくだけあって非常に強力な機能を持ったアセットとなっています。ゼルダの伝説 風のタクトのようなシェーディングがゲームで再現できると説明にも書かれています。

他のアセットと同様、基礎的なセルシェーディングを提供しますが、全体的に非常に綺麗な陰影がでやすくなっており、グラデーション部分も非常に滑らかで見えます。ノーマルマップを使うことで、更に陰影を綺麗に見せることが可能です。ただしリムライトやアウトラインを制御する機能はありません。

色付けはベースカラーとエミッシブカラーの両方を使い、専用BPによりポイントライト、スポットライト、ディレクショナルライト、スカイライトに対応可能です。しかも配置可能なライト数が他より圧倒的に多く、スポットライトが60個、ポイントライトだけで最大100個配置が可能です。更にUE4組み込みライトと共存が可能で、各BPライトがオリジナルのライトの効果を残したまま、独自にシェーディングを行うといったことが可能です。

f:id:alwei:20201220151842p:plain
ベースマテリアル全体 ※大部分はMF_CS_Shader内部

f:id:alwei:20201220151938p:plain
全て同じスタティックメッシュだが効果がわかりやすいサンプル

・セルシェーディングに特化した高度な機能
・アウトライン機能は用意されていない
・一番多くの種類のライトを専用BPにより動的ライティングサポート
・オリジナルのUE4ライトの効果を残した独自シェーディング可能
・大量のライトを配置可能ながらもパフォーマンスも十分に考慮
・ドキュメントはないが、サンプルレベルと丁寧なノードコメントが十分にあり理解しやすい
・機能追加の更新はないが、期待はできる

個人的な評価
★★★★

Cartoon Cel Shader

www.unrealengine.com

こちらはトゥーンでセルシェーダーというなんとも豪華な名前ですが、他のアセット以上に強力で多彩な表現力を持っているアセットとなっています。他のアセットとの違いはPBRも真面目に扱いつつ、しっかりとセルシェーディングもやっているところです。

基礎的なセルシェーディングはもちろん、リムライト、パターン、インライン、ヘアスペキュラ、キューブマップなど機能が満載で、アウトライン(シェルメソッド)もしっかりと用意されています。そのどれもが非常に綺麗にレンダリングされており、ビジュアル面でのクオリティは圧倒的といったところです。

色付けはベースカラーとエミッシブカラーを用いて、専用BPによりディレクショナルライトとスカイライト、そしてポイントライトをサポートします。ポイントライトは上限が25個までになっています。そしてUE4組み込みライトとも共存が可能となっていますので、PBRの絵も考慮したままライティングをつけていくことが可能です。他のアセットよりも圧倒的に印象に残るような絵作りが比較的簡単に出せるようになっているのが強みでしょう。

f:id:alwei:20201220154912p:plain
ベースマテリアル

f:id:alwei:20201220154959p:plain
サンプルは多彩で、全く違う内容のレベルが4種類用意されている

・PBR+セルシェーディングで多彩で高度な機能
・アウトラインはシェルメソッド(背面法)で、太さもカメラ距離を考慮
・専用BPのディレクショナルライトとスカイライトで動的ライティングサポート
・ポイントライトは25個までセルシェーディングに利用可能
UE4組み込みライトと共存が可能でパフォーマンスも良好
・ドキュメントはないが、サンプルレベルが非常にわかりやすい
・少し前に大幅な更新があったので今後も期待できる

個人的な評価
★★★★★

まとめ

というわけで一気に6アセットのレビューをしてみました。これだけアセットが増えていくと購入するのはなかなか躊躇しますし、中身を確認していくのも大変です。私自身はまだまだアセットを持っていますが、今回購入したものは今でも勉強がてらよく中身を覗いているものばかりです。

必要であればこれらのアセットを自力で解析し、改造して自前のゲームに組み込んでいくのもいいですし、特に改造なくそのまま使いたいという人もいるでしょう。個人的にそのまま使うということであれば、以下のような順番でお勧めです。

Cartoon Cel Shader > Cel Shading + = Cel-Shader & Outline = Anime Toon Shading > JIFFYCREW CEL SHADING >>> Advanced Cel Shader Essentials

ぜひ参考にしてみてください!!というわけで今年のUE4 Advent Calendarもおつかれさまでした~!また来年も会いましょう!