LoginSignup
11
17

More than 5 years have passed since last update.

Unity備忘録、STG制作1:画面サイズの検討

Last updated at Posted at 2018-01-07

※この記事は2年前くらい(2016年)に、当時在籍していた某社内で投稿したものの、誰一人として活用する人間がいなかったため、記事を全部引き上げ、個人的に再掲載してみることにしました。著作権を会社に渡した覚えは無いし、そんな規約も無かったので、まあ大丈夫でしょう。

UnityのVersion:5.3.5f1

背景

以前に個人製作でWEBブラウザ上で遊べるシューティングゲーム(以下、縦シューとする)を作成したが、これをスマホに移植したいと思っている。

作品公開URL:
http://unitygameuploader.jpn.org/game/5899.html
※当時(Unity4.6)はWebPlayer形式で作成したが、Unity5.4以降ではWebPlayerは非対応となった(確かセキュリティ脆弱性という理由で)。ブラウザによっては動作しないので注意です(少なくともIE11では動作する。Google Cromeでは動作しない)。

というわけで、スマホに移植する上でのHow Toを記載していく。
今回は画面サイズ設定を中心に記載する。

画面サイズの設定

初期設定だとアスペクト比しか項目がない。
img01.png

Build Settingでターゲット機器(今回はスマホなのでAndroid)を選択してSwitch Platformする。
img02.png

Androidにすることで、Android用の画面設定ができるようになった。今回は縦シューなのでWXGA Portrait(800x1280)にする。
※解像度で選択できるようになったが、実際にはこれもアスペクト比設定である。
img03.png

カメラの設定

今回はこの64x64の画像を表示させる。
img07.png

何も考えずに画像を登録して表示させようとすると、こんなことになるでしょう。
img04.png

所々で画素が欠けていたり、縮尺がおかしいのが分かります。これはカメラ設定が画面解像度と一致してないからです。

参考サイト:
http://megamin.jp/?p=1430

さて、想定する画面はWXGA Portrait(800x1280)ですが、2Dゲームでこの解像度のゲームを作ろうとすると、画像データサイズがとんでもないことになってしまいます。
上記URLを参考に、
 ・64×64 のスプライトを 400×640 の解像度に見立てたスクリーンに描画する
 ・実際の解像度は 800×1280 とする
と定義し、半分の解像度で画面作成することにします。
つまり64×64 の画像が横に6.25個、縦に10個描画できるようにします。

まず登録画像については以下の通りに設定します。
img05.png
Pixels Per Unit = 64 は、1メートルあたり64ピクセルという意味です。
Unityでは1メートルは座標1つ分の扱いとなります。

カメラ設定は下記画像の赤枠の通りにします。
img06.png
Size = 5 という設定は、縦方向が10メートルという意味になります。

以上の設定で、画面の縦方向に64x64の画像が10個まで並べられるようになったはずです。

動作確認

PC上ではこんな感じになります(一部のみ抜粋)。
前よりはましになったが、まだ画素が欠けて見えるのは今回使用しているPC上ではWXGA Portrait(800x1280)を表現できないので、画面そのものが縮小されているためです。
(※画像紛失しました^^;)

で、こちらがスマホの画面(原寸大)。バッチリですね。
img08.png

以上

11
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
17