[Unity5.5] 2Dゲーム開発用に画面サイズを設定する

これまでiOSアプリ開発はSwiftとSpriteKitでやっていましたが、マルチプラットフォーム対応したくてUnityを使い始めました。
Unityは3Dを使ったARアプリ開発でしか使った事ありませんでしたが、2Dのアプリ開発も超らくちん〜でした。Swiftで時間をかけていた作業が、Unityだと一瞬です!
そんな訳で、Unityによる2Dゲーム開発について勉強しながら書いていこうと思います。まずは、2Dゲーム開発用に画面サイズ設定するところから。

 

UnityはSpriteKitとは画面サイズの概念が異なる

まず、Unityには画面サイズというものをピクセル単位で設定する機能がありません。3D空間をカメラで写した範囲がそのまま画面になり、表示するデバイス解像度に合わせて描画されます。

SpriteKitだと、SKSceneのサイズを使用する端末に合わせてピクセルで設定できましたが、Unityの場合は画面サイズを1980×1080に設定して、そこに1920×1080の画像を配置したらぴったりフィットするという様な直接的な設定ではできません。では、画面サイズを設定して、画像をドットバイドットで表示したい場合はどうするのか? 意外と解説してるサイトが見つからなくて、ちょっと困りました。

 

Unity2Dで、任意の画面サイズに設定する方法

今回は、フルHD(1920×1080)のスマホを縦にして遊ぶゲームを想定して設定してみます。

画面比率の設定

まず最初に、画面比率の設定をします。
画面比率の設定は、Gameプレビュータブのところにあります。
フルHDの画面比率は16:9です。
今回はスマホを縦にして遊ぶゲームを作成するので、iPhone5 Tall (9:16)を選びます。

001

 

カメラの設定

カメラを2D設定にします。
Unity3DとUnity2Dの違いは、カメラのProjectionの設定がPerspectiveかOrthographic(平行投影)かの違いだけです。ざっくり言うと、Projectionは遠近感アリ、Orthographicは遠近感ナシです。

カメラを選択して、Inspectorタブを開きます。
ProjectionをOrthographicにします。

次に、Sizeを設定します。
このSizeに設定するのは、ターゲットとなる画面サイズの縦解像度を半分にしたサイズです。
フルHD端末を縦にした場合、縦解像度は1920ですので、半分の960にします。

002

 

画像の設定

最後に、画像をドットバイドットで表示する様に設定します。

Projectウインドウから画像を選択して、Inspectorタブを開きます。
Pixel Per Unitを1にします。これは、Unityのワールド単位に対してピクセルを何倍表示にするかという設定です。この設定をする事で、Unityのワールド単位に対してドットバイドットで表示できるようになります。つまり、Unityワールド単位の1が画像の1pxと同じ大きさになるという事です。

003

 

以上で、1920×1080を縦にした画面サイズの設定ができました。