

Unity Remote 4でAndroidで実機再生しましたが、Unityでは画面は横長だったのに  
Androidでは縦長になっています。その際、画面が横幅縮小され解像度が下がるのですが  
これは実機再生しながら調整するのが好ましいということですか？  
また、Androidの端末によって解像度、API？も違うのでそれぞれの端末に合わせる方法  
はありますか？

また大きいサイズ（769×1000)のような画像を解像度を落とさずに小さく表示するには  
カメラの位置を移動する必要がありますか？


CC BY-SA 3.0
2015-09-09T02:41:04.827
16411
2015-09-11T00:16:05.077
2015-09-09T05:39:55.663
7290
9268
question
android c# unity3d
Androidの端末ごとの解像度


僕の方では UI
のButtonが画面にあるとして、そのButtonの幅がある割合(表示幅の50%)になるように解像度を変更する、という自作のスクリプトを用意しています。

[ScreenSizeKeeper.cs](https://github.com/yasokada/unity-150825-TELChecker/blob/master/Assets/ScreenSizeKeeper.cs)

[code]

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    
    public class ScreenSizeKeeper : MonoBehaviour {
    
        public Button myButton; // set UI>Button whose width is used as standard
    
        bool isRunningOnAndroid() {
            return (Application.platform == RuntimePlatform.Android);
        }
    
        void Start () {
            if (isRunningOnAndroid () == false) {
                return;
            }
            float aspect = (float)Screen.height / (float)Screen.width;
            float buttonRatio = 0.5f; // 50%
            int buttonWidth = (int)myButton.GetComponent<RectTransform> ().rect.width;
            float newWidth, newHeight;
    
            newWidth = buttonWidth / buttonRatio;
            newHeight = newWidth * aspect;
    
            Screen.SetResolution ((int)newWidth, (int)newHeight, false);
        }   
    }
    
[/code]

上記スクリプトをEmptyなGameObject(名前: ScreenSizeKeeper)に関連付けして画面解像度を調整しています。

VerticalとHorizontalの切替は考慮されていません。


CC BY-SA 3.0
2015-09-09T06:11:11.770
16424
2015-09-09T06:11:11.770
4840
16411
answer


Unity Remote
4はGameViewの画面を端末に転送します。なので、横長の画面を縦長の端末へ転送すると端末が縦長になります。なので横長の画面をUnity
Remoteで再生したい場合は、端末を回して横長にする必要があると思います。  
基本的にGameViewの解像度を引き延ばすので、レイアウトを確認したい場合はGameViewも端末のレイアウト（解像度ではなくアスペクト比）と同じものにするか、端末へ転送するのが良い気がします。


CC BY-SA 3.0
2015-09-11T00:16:05.077
16489
2015-09-11T00:16:05.077
8492
16411
answer