今回はスタンダードアセットのAntialiasingを使ってカメラに描画されるゲームオブジェクトを滑らかに表示してみたいと思います。
ゲーム内で使用するゲームオブジェクトはあくまで近似的に形を作っているだけなのでオブジェクトの傾斜部分は隙間が出来てしまいます。
Antialiasingを使うとこのギザギザを目立たなくして表示する事が出来ます。
アンチエイリアスとは
アンチエイリアスとはなんでしょうか?
それがわかりやすくなるようにWindowsのペイントで線を描いて見ていきます。
↑のように近似的に線を表示していますが、小さいドットに色がついて線を表現しているのでドットが荒くなると隙間がギザギザになります。
↑が線を拡大した状態です。
より鮮明にギザギザが目立ちますね。
アンチエイリアスはこのギザギザを目立たなくする為の処理です。
ギザギザになっている部分に線と周りの色との中間色を使いギザギザを目立たなくします。
わたくしが手動で施したアンチエイリアス処理なので全然正確に処理をしていません・・・・・(^_^;)
とりあえず↑のような感じでギザギザを目立たなくさせます。
通常のサイズで表示すると↑のようにギザギザが多少目立たなくなります。
わたくしの能力がなさすぎて全然変わってないような感じですね・・・・(-_-)
このギザギザを目立たなくするのがアンチエイリアス処理ですね。
Antialiasingを使う
アンチエイリアスが何かはわかったので、実際に使ってみましょう。
使い方は簡単で、カメラのインスペクタでAdd Component→Image Effects→Other→Antialiasingを選択します。
Techniqueはアンチエイリアスのアルゴリズムを選択出来ます。
カメラにAntialiasingを取り付けるだけで描画されるゲームオブジェクトにアンチエイリアスがされ滑らかな表示になります。
実際にAntialiasingスクリプトのオン・オフをしてカメラに映るゲームオブジェクトがどう変わるか確認してみましょう。
アンチエイリアスが有効な方はキャラクターやCubeで作った坂などが滑らかに表示されていますね。
終わりに
Antialiasingを使うと表示が滑らかになります。
ですが、滑らかに表示する為の処理が発生する以上はその分処理に時間がかかったり、
アンチエイリアスをかけた事によりなめらかというよりぼかされた印象になってしまう事もあるのでその辺も考慮する必要がありそうですね。
カメラが複数あるなら描画対象によってアンチエイリアスのオン・オフを切り替えるという事も出来るのかも?