Unityでカメラに映るゲームオブジェクトを滑らかに表示する

今回はスタンダードアセットのAntialiasingを使ってカメラに描画されるゲームオブジェクトを滑らかに表示してみたいと思います。

ゲーム内で使用するゲームオブジェクトはあくまで近似的に形を作っているだけなのでオブジェクトの傾斜部分は隙間が出来てしまいます。

Antialiasingを使うとこのギザギザを目立たなくして表示する事が出来ます。

スポンサーリンク

アンチエイリアスとは

アンチエイリアスとはなんでしょうか?

それがわかりやすくなるようにWindowsのペイントで線を描いて見ていきます。

通常の線

↑のように近似的に線を表示していますが、小さいドットに色がついて線を表現しているのでドットが荒くなると隙間がギザギザになります。

拡大した線、ギザギザが目立つ

↑が線を拡大した状態です。

より鮮明にギザギザが目立ちますね。

アンチエイリアスはこのギザギザを目立たなくする為の処理です。

ギザギザになっている部分に線と周りの色との中間色を使いギザギザを目立たなくします。

アンチエイリアス処理を施す

わたくしが手動で施したアンチエイリアス処理なので全然正確に処理をしていません・・・・・(^_^;)

とりあえず↑のような感じでギザギザを目立たなくさせます。

アンチエイリアスをした線

通常のサイズで表示すると↑のようにギザギザが多少目立たなくなります。

わたくしの能力がなさすぎて全然変わってないような感じですね・・・・(-_-)

このギザギザを目立たなくするのがアンチエイリアス処理ですね。

Antialiasingを使う

アンチエイリアスが何かはわかったので、実際に使ってみましょう。

使い方は簡単で、カメラのインスペクタでAdd Component→Image Effects→Other→Antialiasingを選択します。

Antialiasingのインスペクタ

Techniqueはアンチエイリアスのアルゴリズムを選択出来ます。

カメラにAntialiasingを取り付けるだけで描画されるゲームオブジェクトにアンチエイリアスがされ滑らかな表示になります。

実際にAntialiasingスクリプトのオン・オフをしてカメラに映るゲームオブジェクトがどう変わるか確認してみましょう。

アンチエイリアスの効果

アンチエイリアスが有効な方はキャラクターやCubeで作った坂などが滑らかに表示されていますね。

終わりに

Antialiasingを使うと表示が滑らかになります。

ですが、滑らかに表示する為の処理が発生する以上はその分処理に時間がかかったり、

アンチエイリアスをかけた事によりなめらかというよりぼかされた印象になってしまう事もあるのでその辺も考慮する必要がありそうですね。

カメラが複数あるなら描画対象によってアンチエイリアスのオン・オフを切り替えるという事も出来るのかも?

参考サイト

Unityマニュアル-アンチエイリアス-

スポンサーリンク

記事をシェアして頂ける方はこちら

フォローして頂くとやる気が出ます