テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

自動で品質を最適化 AutoQualityChooser

今日参加したUnity勉強会で、中々面白いアセットを発見したので紹介

unity勉強会(草加駅前第3回)
http://atnd.org/events/31203

■Auto Quality Chooser

Auto Quality Chooserは、実行中のパフォーマンスを監視してクォリティを調整するアセットらいし。正確に言えば、FPSやビデオメモリを監視してクォリティを上下させる仕組みっぽい。

Auto Quality Chooser
http://u3d.as/content/kris-krej/auto-quality-chooser/30H

使い方は簡単、Audio Quality Chooserコンポーネントを適当なゲームオブジェクトにアタッチして、Min Acceptable Framerateに維持したいFPSの目標値を入れるだけ。後はうまい具合にフレームレートを維持できるクォリティに設定してくれる。

スクリーンショット 2012-09-01 22.51.45

これをWEG市川クエストで作った激重ゲームに突っ込んでみると、オブジェクトの少ないステージはクォリティGoodで進むが、物が増えてくるとクォリティをFastに再設定してFPSを維持していた。

スクリーンショット 2012-09-01 23.01.46

なおAuto Quality Chooserには標準でDontDestroyOnLoad属性を設定していないので、必要なシーン毎に設定するか、全シーン共通のゲームオブジェクトにアタッチしておく必要がありそう。

■クォリティが下がるの意味

ただしクォリティ影やテクスチャのクォリティや動的ライトの数の制限等に影響が出る。つまりユーザーから見た画面のクォリティが落ちるので、シーンによっては使用を控えるのが無難かもしれない。(例えばFastestは動的なライトの個数が0になり、テクスチャ解像度を半分に設定してしまう)

下の画像では、クォリティを下げた結果オブジェクト毎の境目が見えてしまっている。
スクリーンショット 2012-09-01 23.42.56

[Unity3D]ライトを複数置いた時の問題
http://terasur.blog.fc2.com/blog-entry-158.html
ちなみに、テクスチャ解像度は多分mipmapから低解像度の画像を取得してるので、mipmapを切ればテクスチャ解像度の低下は避けられるかもしれない。その辺りは「クォリティ+アプリサイズ+メモリ使用量」と「実行速度」のトレードオフになると思うので、上手く設定する必要がありそう。

勉強会内での「面白いアセット探そうZE」的な流れで探したけど、このテーマは中々面白いと思う。「Unityのアセットをこの場で使ってみて皆で情報共有」的な勉強会とか無いかな。