テラシュールブログ

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

Unityでアスペクト比率を固定する

n番煎じですが、Unity/基本形/025 画面のアスペクト比を固定にするUnity そのアスペクト比を固定するぞ・・・っ! を参考にアスペクト比率を固定するスクリプトを作成した。他と違うのは、背景を塗りつぶすようのカメラの配置を自動化している点だけです。後は実行しなくても確認できる所とか。

ちなみに背景を何らかの方法で塗りつぶさない場合、デバイスやプラットフォームによって点滅したり、別の場所にレンダリングした内容が表示されたり、最後に描画した内容が残ったりします。基本的に塗りつぶすが吉です。


アスペクト比
縦・横どちらに伸びても大きさを維持する
再生中に画面比率を変更した場合、対応まで若干のタイムラグがある

これと、Unityのカメラ描画範囲を常に表示させる を組み合わせるのは思ってたより便利でした。また、これUnityでドット絵の1ドット単位移動を組み合わせる事で、画面左下の座標を(x:0, y:0)として右上は想定スクリーン座標の(width, height)という、想定スクリーン座標ベースの座標指定が可能になりそうです(その際はスプライトの中心座標を左下・右上等にしておくと便利です)。

スクリーンショット 2014-07-11 3.45.37
左下を(0,0)とした上で、想定解像度と画像を一致させた



どうも色々と調べた感じ、カメラを複数置いても負荷はそこまで上がらないらしく、公式2Dチュートリアルでやってるようにスプライトを配置するよりカメラ2つ置いた方が高速化なーとの結論に至りました。あれ置くの若干面倒ですし。

uGUI(4.6以降のGUI)でアスペクト比を固定する場合はこちら

uGUIのアスペクト比を固定する(修正版) - テラシュールブログ