この記事の3行まとめ
ユニティ・テクノロジーズ・ジャパンは、『ジャギーを滑らかに! MSAA の原理と使い方 【Unity】』と題した動画をYouTubeにて公開しました。
MSAA を使ってジャギーを滑らかに!古典的なアンチエイリアシング技術ですが、まだまだ使える場面はあります。仕組みを理解して使いこなしていきましょう。 #Unity https://t.co/naXaRV3nac pic.twitter.com/pT3DVfUeGw
— ユニティ・テクノロジーズ・ジャパン (@unity_japan) November 6, 2023
動画では、UnityのURPに用意されている4つのアンチエイリアシング手法の1つ「MSAA」を解説しています。
アンチエイリアシングとは、文字や画像を表示するときの輪郭に見られるギザギザ「ジャギー」を目立たなくさせること。MSAAは、ピクセル毎のサンプル数を増やすことで解像度を変化させることなく輪郭を滑らかに描画させます。
x4のMSAAでは、1ピクセル毎に4点の判定を行いますが、フラグメントシェーダー(※)を行うのは中央の1点のみとなります。このため、MSAAでは輪郭の描画だけが滑らかになり、解像度は上がりません。解像度を上げてレンダリングするスーパーサンプリングと比べると、シェーダーの処理負荷に大きな違いがあり、MSAAの方が低いコストでアンチエイリアシングを行えます。
※ 通常、オブジェクトの画面上すべてのピクセルで実行する、各ピクセルの色の計算と出力を行うプログラム
動画の中盤では、MSAAの弱点を紹介。大きな弱点として挙げられたのが、G-Bufferを使ってシェーディングを行う「Deferred Shading」に対応していないということです。最近のAAAタイトルにおいて、Deferred Shadingやそれに類するレンダリング方式が標準的なものになっているなか、MSAAでは使用することができないことが指摘されました。
他にも、ピクセル毎に複数のサンプル情報を保持することによるメモリ使用量の増加や、Alpha Clippingとの相性の悪さという弱点が存在。後者の弱点に対して、Unityでは、Alpha-to-Coverage機能によって、Alpha Clippingによる輪郭も滑らかに描画できるとのこと。
動画の最後に、iOSデバイスやAppleシリコンのGPUにおいて、MSAAにさまざまな利点があることを紹介し、特にモバイル向けのアプリケーション開発でMSAAの利用価値が出てくるとして動画を締めくくっています。
動画本編はこちらをご確認ください。
ジャギーを滑らかに! MSAA の原理と使い方 【Unity】