読者です 読者をやめる 読者になる 読者になる

チラ裏Unity

主にUnityについての備忘録ですが誰か様の為になれば

NGUIのUIRootについて

UIRootのプロパティ概略

  • Scaling Style : 拡縮
    • PixelPerfect : 基本的にそのまま表示する
    • FixedSize : 解像度の縦幅に合わせて表示する
    • FixedSizeOnMobiles : モバイル*1ならFixedSize、モバイル以外はPixelPerfect
  • Manual Height : FixedSizeでのみ参照
  • Minimum Height : PixelPerfectでのみ参照
  • Maximum Height : PixelPerfectでのみ参照

 

前提条件として

  • NGUI2.7
  • UIPanelの中心に追加した画像(UISprite)の表示のされ方を確認

 

PixelPerfectを設定した場合

  • 基本的に拡縮せず画面の解像度でそのまま表示する
    • 解像度より小さい画像はそのまま小さく表示される
    • 解像度より大きい画像は解像度で切り取られて表示される
  • 例外的に拡縮して表示する
    • 解像度の縦幅がMinimum Heightより小さい場合は、Minimum Heightが解像度の縦幅に合わせて表示されるよう拡縮される
    • 解像度の縦幅がMaximum Heightより大きい場合は、Maximum Heightが解像度の縦幅に合わせて表示されるよう拡縮される

 

FixedSizeを設定した場合

  • Manual Heightが解像度の縦幅に合わせて表示されるよう拡縮される

 

まとめ

  • 同じアスペクト比のモバイルを前提とした複数解像度対応であれば、画面サイズに合わせて動的に拡縮する以下の組み合わせが良さそうだと感じました
    • Scaling Style = FixedSize
    • Manual Height = 基準にする縦幅

 

*1:iPhoneまたはAndroid