kumak1’s blog

kumak1のイラストや技術ログ

Unity の SSAA アセット2つを比べてみた

SSAA とは

アンチエイリアスの技法のうちのひとつです。 Unity で現在よく使われているのが、SSAA と FXAA ですね。

そもそもアンチエイリアスってなんやねんって方はこちらを。

docs.unity3d.com

計算方法にどんな違いがあるか気になる方はこちらを参照するとなんとなくわかるでしょう。

ascii.jp

要は見た目をなんだかいい感じにしてくれるやつです。

SSAA をなんでえらんだの

別に「こっちが絶対に良い、完全上位互換だ!」みたいなのはありません。 作りたい画絵によって適した技術を使う必要があるだけです。 んまぁ、SSAA と FXAA の比較があるので、バーをスライドして比較してみたらわかりやすいかと。

GeForce.com Rise of the Tomb Raider Anti-Aliasing Interactive Comparison: SSAA 4x vs. FXAA - Example #001

SSAA : 木の枝といった、細い線を綺麗に映したい際に効果を発揮。 FXAA : 髪についた雪といった、明暗はっきりした箇所がよりナチュラル。

で、今回なぜ SSAA を選んだのかというと、アニメっぽい表現(線画があってフラット)を3Dモデルで表現して見たいからですね。http://ascii.jp/elem/000/000/746/746002

アセットについて

Unity のアセットストアには良さそうなのが2つあったので試して見ます。 イイね! 的なものは、古くから公開されていることもあり、Super Sampling SSAA が大差をつけて勝っています。

結論からいうと、 Super Sampling SSAA よりも MadGoat SSAA の方が優れていました。。 処理負荷についてはサンプルで利用した Scene が軽量・SSAOなど他高負荷処理と組み合わせていないので、厳密にベンチマークはとれなかった。。 のですが、わかりやすい課題点が見えたので調査を終えてしまいました。

問題1 GUIレンダリングがズレる

テスト用 Scene として用いたのは、Rewired という入力管理アセットのサンプル Scene CustomControllersTouch です。

ノーマル f:id:kumak1:20170530010403p:plain

Super Sampling SSAA f:id:kumak1:20170530010459p:plain

MadGoat SSAA f:id:kumak1:20170530010542p:plain

なんやらおかしな感じになっている

問題点2 エコシステムが・・

Super Sampling SSAA の最終更新日は 2016/2/29、公式フォーラム上でもバグ報告があがるものの、対応される気配はありません・・ (MadGoat SSAA をすすめる記述さえある・・)

https://forum.unity3d.com/threads/released-flowfire-super-sampling-ssaa-visually-best-anti-aliasing.332628/page-5

MadGoat SSAA の最終更新日は 2017/5/16、作者も(まだ?)意欲的で交流がすすんでいます。Unity の次期バージョン 2017 もサポートが明言されているのは嬉しい。

https://forum.unity3d.com/threads/released-madgoat-ssaa-and-resolution-scaling.462860/

問題点3 Unity 5.6.1 で動作しない

なぜか Unity 2017 β では動いていますが、色々アヤシイ・・

結論

私は MadGoat SSAA を使っていこう