Unity2D カメラのサイズと解像度

2次元カメラ、単位座標、単位換算

2D ゲームでは平行投影カメラを使用できます.この種のカメラでは、画面の半分の高さを意味するサイズ (orthographicSize) を設定する必要がありますが、単位はピクセルではなく単位座標、つまりピクセルから単位に変換された座標です。たとえば、画面の高さが 640 でピクセル単位が 100 の場合、正投影サイズは 640/2/100 = 3.2 
単位座標となります.これは統一された座標であることは理解しています.実際の意味は気にせずに提供してください.ゲームのさまざまなコンポーネントで使用される統一された座標。対応するスプライトのサイズも、ピクセルから単位への単位座標に変換でき、各スプライトを個別に設定できます。これは、追加の調整パラメーターをリソースに追加することと同じです。 
カムレアのサイズを設定すると、実際には表示領域のサイズが制御されます. サイズが大きいほど、表示される世界が大きくなります. もちろん、実際の画面はそれだけ大きいため、世界のスプライトはそれに応じて縮小されます. もちろん, モバイルデバイスの画面サイズは多様であるため, このサイズをどのように設定するかは, 多重解像度適応のための戦略です. 例えば, サイズを特定の値に設定することは, 高さ固定モードと等価です.アスペクト比が異なると、表示される幅が異なり、幅に応じて表示されるコンテンツを調整する必要があります(ただし、適応の問題は基本的にUIの問題であり、UnityのGUIには適応戦略が付属しているため、基本的にはそうではありません問題はもちろん、まだ検討が必要です(本来は1画面で表示される予定だったゲームレベルなど、非GUI部分の適応は画面から切り取ることができません)。もう 1 つの例は、固定の設計解像度幅を設定し、縦画面のゲームにより適した固定幅モードに属する縦横比からカメラ サイズを計算することです。

カメラのユニット ユニット サイズを計算するために使用されるコード: 

var camera = camera_obj.GetComponent (); 
float orthographicSize = camera.orthographicSize; 
float アスペクト比 = Screen.width * 1.0f / Screen.height;

float cameraHeight = orthographicSize * 2;
float cameraWidth = cameraHeight * aspectRatio;
Debug.Log ("camera size in unit=" + cameraWidth + "," + cameraHeight);

スプライト ユニット ユニット サイズのコードを取得: 
Vector2 spriteSize = sprite_obj.GetComponent ().sprite.bounds.size;

元のリンク: https://blog.csdn.net/n5/article/details/50083205

おすすめ

転載: blog.csdn.net/weixin_43705303/article/details/103456854