困ったアスペクト比
AndroidのアプリをUnityで開発するにあたって面倒なのがアスペクト比の対応。
いろんなメーカーが作ってるので9:16だったり5:8だったり・・・
ですが調べてみたら大体メジャーどころは5種類程度。これくらいだったら何とかなるだろうと思ってたのですが・・・
ここにきてまさかの問題が発生。
つい昨日、6年くらい使ってきたガラケーからようやくスマホに換えました。
初めてスマホを自分が持つことになるし、最新のものはスペックを使いこなせる気がしないので昨年夏モデルのArrows A 202Fを選択。
今回換えたスマホの解像度は1080*1920。最近のだと一般的なHD画質の9:16のやつですね。
もうちょいサイズ小さいのにしとけばよかったかなぁ、とも思いましたがまあいいや。
今開発してるアプリの話に戻ります。
もともと9:16をベースに作っていたので特にこの辺をいじることがなくても大丈夫だろうと思いきや・・・
なんか表示がおかしい。
カメラ(ゲームを描画する範囲)から端末のアスペクト比に合わせて範囲を絞る手法を取っているのですがどうも絞れてない感じでした。
画面のサイズになんか違和感があるなーと思ってスクリーンサイズを調べたところ・・・
width : 1080
height : 1776
・・・ん?
heightが1920になるかと思いきや1776と表示されました。
この差144の犯人はAndroid端末ではおなじみの戻るボタン、ホームボタン、メニューボタンがあるナビゲーションバーの部分でした。
202Fは画面の一部分をナビゲーションバーに使っていて、アプリを表示する範囲が9:16のアスペクト比では無かったのです・・・
計算した結果、135:222
すっげー微妙なアスペクト比・・・
この辺りも端末によって微妙に変わってきそうなのでいよいよアスペクト比ごとの個別対応ではやりきれない感じです。
うまいとこ計算方法考えなければ・・・