募集要項

  • ■ボイスの募集は終了しました。

    非常に沢山のご応募ありがとうございました!

     結果はこちら
2017年12月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

« ホーム画面のUIについて考えてみよう!@Unityアクション | トップページ | DrawCallネタ »

2012年6月27日 (水)

Unity そのアスペクト比を固定するぞ・・・っ!

はい、アスペクト比です。いわゆる画面比率ですね。

UI描く前にこの問題を解決しておこうかと思ったので、
仮素材より先にこちらを調べる事にしました。
メニュー周りを作成するにあたって、
スマホは機種毎に比率が違いすぎて、
UIを全て対応できるように作るのが非常にシンドイ
のでなんとかしたいのですヽ(;´Д`)ノ

iPhone  ⇒3:2
iPad     ⇒4:3
Android ⇒16:9(が多い

簡単にいえば、↓のような弊害を回避するためです。

1

数が少なければUI毎に個別の処理をしつつ
作れば対応できなくもないですが、
数が多くなってくると正直死ねます;y=ー( ゚д゚)・∵.

なので、とりあえずメインターゲットとして考えているiPhoneのサイズに合わせて
作る事にしました。
※範囲外は黒帯にする予定。

Unity側の処理としてはシンプルで、
カメラのRectを画面サイズに応じて可変させてあげればOKです。
ただ、複数のカメラを使用している場合は注意が必要です。
NGUIとか使ってると、通常カメラ、2DUIカメラ、3DUIカメラ+αとかあると思うので(´▽`*)
カメラとは別に表示しているGUI等もあれば注意要注意!

----------------------------------------------------
例:以下のスクリプトをカメラに追加

void Awake () {
  Camera cam = gameObject.GetComponent<Camera>();
  float baseAspect = 640f/960f;
  float nowAspect = (float)Screen.height/(float)Screen.width;
  float changeAspect;
 
  if(baseAspect>nowAspect){   
   changeAspect = nowAspect/baseAspect;
   cam.rect=new Rect((1-changeAspect)*0.5f,0,changeAspect,1);
  }else{
   changeAspect = baseAspect/nowAspect;
   cam.rect=new Rect(0,(1-changeAspect)*0.5f,1,changeAspect);
  }
  Destroy(this);
}
----------------------------------------------------

元のアス比に比べて横に長い場合と縦に長い場合で処理を分けてます。
これで一旦心配事は解決?な感じです。


------------------------------------------------------

« ホーム画面のUIについて考えてみよう!@Unityアクション | トップページ | DrawCallネタ »

Unityアクションゲーム製作」カテゴリの記事

コメント

カラスさん

たびたび、コメント失礼します。

この記事、たいへん助かりました。

恥ずかしながら、手元のアンドロイド実機でしかテストできてなくて、各アスペクト比の対応もれていたんです。

最近、iOS版にとりかかったり、アマゾンのAppstoreに登録してみて、発覚しました。

アマゾンのAppstoreは、KindleFireなどのタブレットは対応できてませんよと、親切に結果をメールで通知してくれたのでした。

とにかく、本記事のおかげで最小限の手間で、Unityでできる全てのアスペクト比に対応できました。

本当にありがとうございました。

長文失礼しました。

>マルソさん

前の記事が役にたったようで良かったです。
端末毎のチェックは個人レベルだとハードル高いですよね・・・。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1500357/45950458

この記事へのトラックバック一覧です: Unity そのアスペクト比を固定するぞ・・・っ!:

« ホーム画面のUIについて考えてみよう!@Unityアクション | トップページ | DrawCallネタ »

Twitter等

  • にほんブログ村 ゲームブログ ゲーム制作へ

メールフォーム

  • 直接コンタクト取りたい方はこちらからどうぞ

サイト内検索
ココログ最強検索 by 暴想