質問: ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/bf7e43ee272bd31a4d5174c3b74cb427.png) 私はキャンパススケーラーで6:19を基準にして上のようにしているのですが、3:4など6:19に比べ横幅が大きくなった場合にレイアウトが崩れてしまいます。キャンパススケーラーのマッチを1に設定すると、9:18など6:19に比べ縦幅が大きくなった時に同じくレイアウトが崩れてしまいます。 様々なアスペクト比に対応出来るようにするにはどうすれば良いのでしょうか。皆さんの意見を聞いて参考にさせて頂ければと思います。ご教示お願いします。
回答: 個人的にはマッチの基準を「高さ」にして「どんな端末でも高さは変わらない・横幅だけが変わる」という設定にして、 uGUIのアンカーとピボット、LayoutGroupを駆使して頑張って設定しています。 LayoutGroupは結果的にオブジェクトがどんどん増えて負荷増してそうとは思いつつ、かと言って他の方法もなぁ......と悩みつつ試行錯誤してます。 参考:【Unity】uGUIの自動レイアウトが分かりにくいと評判なので解説してみる - テラシュールブログ で、どうしても合わない部分はスクリプトから制御します。 特にGridLayoutGroupはセルの大きさが固定値になってしまうので、現在の画面サイズを参照して1セルの大きさ計算して......とやっていた時もあります。 あと「画面サイズに応じて使用するレイアウトをがらっと変えてしまう(オブジェクトを2種類用意する)」という方法もあるんですが、これもこれで諸々手間が増えるので要検討になるかと思います。 また、私は使ってないですがアセットストアに何か良いアセットが落ちているかもしれません。