Unity2D 画面の大きさや四隅の座標をワールド座標で取得する方法
0.0 はじめに
画面端の四隅のポイント(画面左下や右上の位置)や画面のサイズをワールド座標で取得するための方法を記載しています。
1.0 画面四隅の座標の取得方法
1.1 CameraのViewportToWorldPointの利用
Camera.main.ViewportToWorldPoint()を使うと画面端をワールド座標で取得できます。引数が(0,0)で左下、(1,1)で右上を指定できます。
👍ポイント
Viewport(ビューポート)はカメラで表示されている画面の領域をx座標、y座標を0から1で表しています。左下が(0,0)、右上が(1,1)となります。
Debug.Log("画面の左下の座標は " + Camera.main.ViewportToWorldPoint(Vector2.zero) + " です");
Debug.Log("画面の右上の座標は " + Camera.main.ViewportToWorldPoint(Vector2.one) + " です");
1.2 Screen.WidthとScreen.Heightの利用
Screen.WidthとScreen.Heightを使用して画面四隅のスクリーン座標を取得できます。
その座標をScreenToWorldPointメソッドを使ってワールド座標に変換します。
Camera.main.ScreenToWorldPoint()は引数にスクリーン座標をとり、これをワールド座標に変換するメソッドです。
👍ポイント
画面四隅のスクリーン座標はそれぞれ、
左下 (0,0)
右下 (Screen.Width, 0)
左上 (0, Screen.Height)
右上 (Screen.Width, Screen.Height)
となります。
Debug.Log("画面の左下の座標は " + Camera.main.ScreenToWorldPoint(new Vector2(0,0)));
Debug.Log("画面の右上の座標は " + Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height)));
👍ポイント
Camera.main.ScreenToWorldPoint()を使って取得したワールド座標は
2.0 画面サイズの取得方法
2.1 Orthographicの利用
カメラのProjectionがOrthographicのときはCamera.main.orthographicSizeで画面の縦方向のサイズの半分の長さをワールド座標で取得できます。縦サイズが取得できればアスペクト比から横サイズは取得できます。
👍ポイント
カメラのProjectionがOrthographicのときはカメラからの奥行きに関わらずワールド座標は一定となります。
Debug.Log("画面のアスペクト比(横幅 / 縦幅)は " + 2160 / 1080 + " です");
Debug.Log("画面の縦のサイズは " + Camera.main.orthographicSize * 2 + " です");
Debug.Log("画面の横のサイズは " + Camera.main.orthographicSize * 2 * 2160 / 1080 + " です");
Author And Source
この問題について(Unity2D 画面の大きさや四隅の座標をワールド座標で取得する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/No2DGameNoLife/items/b0241e24f6c299bcbfba著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .