2016-05-27 20 views
0

私はUnityと初めての間、iPhoneとiPadでよく見えるカメラの端にシンプルなスプライトゲームオブジェクトを配置するのに困っています2つのアスペクト比)。カメラの端にスプライトの位置を設定する(Unity)

例えばこれはiPadでどのように見えるかである(そしてそれがiPhone上で同じように見えるはずです)

enter image description here

そして、これはiPhoneのデバイス(または基本的に他の携帯電話)上でどのように見えるかです。

enter image description here

だから私は、第2の画像上のボールが最初の画像上で同じように見えるだろうことを、何をすべきかが必要ですか?

ありがとうございます!

+0

...あなたがシーンを停止してから我々のコードは、Startメソッドであるとしてカメラのサイズを更新するためのコードのために解像度を変更することを確認し、HUDのようなオブジェクトやいろいろ書いているのですか? –

答えて

0

カメラOrthographicに基づいて、Size 5

サイズスクリーンベース1536×2048(あなたのイメージiPadでのミニ網膜)。 (あなたのイメージとしてX 1920 1080)結果HTC画面で

using UnityEngine; 

    public class ResizeCamera : MonoBehaviour { 

     // Use this for initialization 
     void Start() { 
      float TARGET_WIDTH = 1536.0f; 
      float TARGET_HEIGHT = 2048.0f; 
      float PIXELS_TO_UNITS = 102.4f; // 1:1 ratio of pixels to units 

      float desiredRatio = TARGET_WIDTH/TARGET_HEIGHT; 
      float currentRatio = (float)Screen.width/(float)Screen.height; 

      if(currentRatio >= desiredRatio) 
      { 
       // Our resolution has plenty of width, so we just need to use the height to determine the camera size 
       Camera.main.orthographicSize = TARGET_HEIGHT/4/PIXELS_TO_UNITS; 
      } 
      else 
      { 
       // Our camera needs to zoom out further than just fitting in the height of the image. 
       // Determine how much bigger it needs to be, then apply that to our original algorithm. 
       float differenceInSize = desiredRatio/currentRatio; 
       Camera.main.orthographicSize = TARGET_HEIGHT/4/PIXELS_TO_UNITS * differenceInSize; 
      } 
     } 
    } 

enter image description here

結果のIpadです:ResizeCamera新しいスクリプトクリートとMainCameraで、このスクリップを取り付け

ミニ網膜スクリーン(画像として15636×2048)

enter image description here

... PIXEL_TO_UNITS可変値を変更して、スプライトPixelToUnitsの値に基づいて目的の画面サイズを取得します。この円 Check more here!

関連する問題