夜更かし工房

稼げるクリエーターになりたい方へ有益な情報をお届け!

Unityで制作したゲームを公開するために必要な設定「Player Settings」を徹底解説(Android版)

f:id:nightowlgames0314:20161012002307j:plain

Player Settingsって何?

Player Settingsとは、Untiy で制作したゲームをビルドする最終的な段階で、ゲームに必要なさまざまなオプションを設定するための機能です。いくつかの設定はビルド対象に依存しない共通のものですが、ほとんどの設定はプラットフォーム固有になります。 

Player Settings の使い方

f:id:nightowlgames0314:20161012025838p:plain

Unity を開いて画面上部のメニューから Edit > Project Settings > Player を選びます。

f:id:nightowlgames0314:20161012031134p:plain

画面右部に Player Settings の設定画面が現れました。まずはプラットフォーム共通の設定を入力します(①)。次にプラットフォームを切り替えて(②)、プラットフォーム固有の設定を入力していきます(③)。

f:id:nightowlgames0314:20161012032301p:plain

今回はAndroid版の設定をするので②のタブの中からドロイド君のマークを選択してください。③にAndroid版のための設定項目が出現します。

Player Settings の設定項目

プラットフォーム共通の設定

Cross-Platform Setting

f:id:nightowlgames0314:20161012033136p:plain

【Company Name】

会社名を入力します。個人の場合は適当で構いません。これはプレファレンスファイルを探すために使われます。プレファレンスファイルとは、アプリの設定情報やプレイヤーのスコア情報のようなアプリごとの情報を保存するために端末側に生成されるファイルのことです。

【Product Name】

製品名を入力します。Company Nameと同じくプレファレンスファイルを探すために使われます。アプリ起動中のメニューバーにはこの名前が表示されます。アプリ名をローカライズするための設定をしていない場合はここに設定したデフォルト名が表示されます。 

【Defatablet Icon】

デフォルトのアイコンです。プラットフォームごとにアイコンを設定することでデフォルトのアイコンを上書きすることもできます。

【Defatablet Cursor】

カーソル画像です。今回はAndroid版の設定なので必要ありません。

【Cursor HotSpot】

クリック位置の調節です。デフォルトの設定ではカーソル画像の左上を0,0としています。今回はAndroid版の設定なので必要ありません。

プラットフォーム固有の設定

Resolution and Presentation

スクリーン解像度や、デフォルト表示をフルスクリーンモードにするかなどの表示に関する設定です。

f:id:nightowlgames0314:20161012050647p:plain

【Default Orientation】

ゲーム画面の向きを固定するかの設定をします。このオプションによって、Portrait(ホームボタンが下側にある通常の状態)、Portrait Upside Down(ホームボタンが上側にある逆さまの状態)、Landscape Left(ホームボタンが右側にある状態)、Landscape Right(ホームボタンが左側にある状態)、Auto Rotation(画面の向きを固定しない)を指定することができます。

【Allowed Orientations for Auto Rotation】

このオプションは Default Orientation が Auto Rotation に設定されている場合のみ表示されます。端末の持ち方に寄って自動的に縦横の向きを切り替える場合に、どの向きを許可するかを指定します。

【Use 32-bit Display Buffer】

一般的な映画では、1秒間に24枚の画像を切替えていくことによって、動きのある映像を作り出します。この一枚一枚の画像のことをフレーム (Frame)と呼びます。コンピューターの世界にも、同じようにフレームの概念があります。ただしコンピューターの場合は、単に記録された画像を切替えていくのではなく、リアルタイムにソフトウェアが生成した画像を切り替えていくことになります。映画と比較するとコンピューターにおけるフレームの切り替え頻度はかなり高く設定されていて、表示装置とソフトウェアの仕様によりますが、だいたい1秒間に60フレーム、あるいは50フレーム、30フレームなどが一般的です。特にゲームにおいては1秒間に60フレームが一般的です。

上述したようにゲームで画面に表示される内容は、映画のように予め用意された画像を切り替えるのではなく、リアルタイムで生成した画像を切り替え続けて表示しています。ですので、次の画面を表示したい時に、次の画面がまだ生成されていなくて画面がちらつくという不具合が発生する可能性があります。それを防ぐ為にディスプレイバッファはあります。バッファというのはデータを一時的に保存する領域のことです。

つまりディスプレイバッファとは、コンピュータのメモリの中で、一画面分の表示状態を丸ごと保存しておく領域のことです。画面に何かを描画する際にはまずディスプレイバッファの内容を書き換え、一定のタイミングでディスプレイバッファの内容がディスプレイ等の表示装置に送信されて表示内容が更新されます。

ここの項目はディスプレイバッファを32bit色(デフォルトは16bit)で作成する場合に指定します。これは画面に表示される色数が変わります。16bitは黒から白までを、65,536(2の16乗)の階調に分けた画像になります。32bitは黒から白までを16,777,216(2の32乗)の階調に分けた画像になります。16bitの方が扱うデータ量が少ないので処理速度は32bitより早くなります。しかし16bitではグラデーションなどで階調がなめらかに出ず縞模様のようになることもあります。

縞模様が見えたり、アルファを必要とするイメージエフェクトを使用する場合にはこの項目はONにしましょう。

【Disable Depth and Stencil】

デプスバッファおよびステンシルバッファを無効にするかどうかの設定です。有効であれば必要に応じてピクセル単位で描画する、描画しないということが出来るようになります。

デプスバッファとは、カメラで撮影したモデルまでのZ距離を判定するためのバッファです。3Dは概ね、ピクセルシェーダーで色を塗る際にDepth(深度)の判定を行い手前のモデルのみを描画しています。そうする事で、モデルの奥にあるカメラから見えないモデルの描画をピクセル単位でスキップすることができます。

ステンシルバッファとは、物体の重ね合わせなどにより描画しなくても良い領域を判定するためのバッファです。描画する際にステンシルバッファを参照し、画面には映らない無駄な描画をピクセル単位でスキップすることができます。

【Show Loading Indicator】

シーンをロードするときに表示されるデータ読み込み中のインジゲーター(ローディング表示)の種類を選べます。Don’t Show、Large、Inversed Large、Small、Inversed Small の中から選べます。

Icon

f:id:nightowlgames0314:20161012145625p:plain

【Override for Android

上述したプラットフォーム共通の設定項目で指定したデフォルトのアイコンをそのまま使用するかです。Android のアイコンをデフォルトアイコンから変更したい場合はここで設定します。各サイズの異なるアイコンサイズを適切な場所へとドラッグしてください。

【Enable Android Banner】

Android T.V のビルドで、カスタムバナーを有効にします。

Splash Image

スプラッシュスクリーンで使用する画像を指定できます。スプラッシュスクリーン(スプラッシュ画面)とは、アプリを開いてから起動が完了するまでのつなぎとして表示される画像のことです。Untiyで制作されたアプリにはデフォルトではUntiyのロゴが表記されたスプラッシュ画面が強制で表示されるようになっています。これを変更することはUnity Personal Edition(無料版)では許可されておらず、Unity Professional Edition(有料版)のみがこの設定項目を編集する事ができます。

f:id:nightowlgames0314:20161012150715p:plain

Virtual Reality Splash Screen】

VRのアプリケーションで、 Android のスプラッシュスクリーンに使われるテクスチャを指定します。

Android Splash Screen】

Android のスプラッシュスクリーンとして使用するテクスチャを指定します。スプラッシュスクリーン用画像の標準的なサイズは 320x480 です。

【Splash Scaling】

バイスの画面に合わせてスケーリングするスプラッシュ画像を指定します。このオプションは、Center (スケールダウンのみ)、Scale to Fit (レターボックス)、Scale to Fill (短い方に合わせ長い方を切り取る) の中から選べます。

Other Settings

難しそうな設定が多数ありますが、Google Play Storeに公開するための重要な設定はIdentification(識別)になります。それ以外はデフォルトのままで構いません。

f:id:nightowlgames0314:20161012152305p:plain

Rendering

描画に関する設定をします。

Identification

アプリに割り当てられるIDに関連する情報を設定するためのものです。この項目は省略することはできません。必ず設定する必要があります。

【Bundle Identifier】

Bundle Identifierというのは、アプリケーションの実行形式のコードや使用するリソースを収容した階層構造になったディレクトリをバンドル(Bundle)と呼び、そのバンドルを一意に特定する文字列のことをBundle Identifierと呼びます。つまり他のアプリと区別する為の識別子のことなので、他のアプリのBundle Identifierとかぶらない内容を入力する必要があります。上述したプラットフォーム共通の項目で「Company Name」と「Product Name」の設定は既に終わっていると思いますがcom.[Company Name].[Product Name]のようにCompany NameとProduct Nameに従って作るのが一般的です。ここがデフォルトのままだとビルドに失敗するので必ず変更して下さい。

【Version】

Google Play Store でユーザーに表示されるバージョンです。バージョンは、ドットで区切られた(例えば4.3.2)数字を含む文字列の一般的なフォーマットで指定します。これは、iOSAndroid 間で共有されます。

【Bundle Version Code】

ユーザーには表示されないバージョン番号です。他より新しいバージョンかどうかを判断するためだけに使われます。整数で指定して、アプリを更新する際に必ず変更する必要があります。初公開時は1で、アプリのアップデートをするたびに1ずつ数を増やしていきます。

【Minimum API Level】

Android のどのバージョン以降を対象にするかです。実際にサポートできるかどうかは別問題です。使用しているAPIに合わせて決めます。良く分からない場合はデフォルトのままで大丈夫です。

Configuration

アプリが必要とする各種機能の設定を行うためのものです。例えばインターネットやファイルアクセスの許可、Android TVやAdnroid Gameの対応など、アプリ固有の設定がまとめられています。

Optimization

アプリ最適化に関する諸設定がまとめられています。  

Publishing Settings

対象プラットフォームをAndroidに設定してビルドを実行するとAPKファイルが作成されます。APKファイルとはファイル形式の一つで、Andoroidアプリケーションを格納するためのものです。スマートフォンタブレット端末などに用いられているAndroid OSはAPKファイルを読み込んで内部のソフトウェアを端末にインストールする機能があり、あなたが開発したAndroidアプリもAPKファイルの形で配布する必要があります。APKファイルには、プログラム、設定、画像、開発者の身元を示すデジタル証明書などが含まれています。この項目ではAPKファイルに必ず含めなければならない開発者の身元を示すデジタル証明書を追加するための作業をします。

f:id:nightowlgames0314:20161012170040p:plain

Keystore

開発者の身元を示すデジタル証明書をまだ作成していなければ新しく作ります。

1.「Create New KeyStore」にチェックをします。
2.「Browse Keustore」ボタンを押下して保存場所とファイル名を決めます。

3.「Keystore password」にパスワードを入力します。パスワードを忘れると公開したアプリのバージョンアップができなくなりますので、必ずどこかに保存しておきましょう。

4.「Confirm password」に確認のため再度パスワードを入力します。

パスワードを入力します。

Key

上記の作業でデジタル証明書のファイルの保存場所とファイル名を指定しました。ここではファイルを作成するための作業をします。

f:id:nightowlgames0314:20161012172152p:plain

Aliasから「Create a new key」を選択します。Unsigned(debug)のままにするとGoogle Play Store のアップロードでデジタル証明書が無いため弾かれます。

f:id:nightowlgames0314:20161012172510p:plain

【Alias】

デジタル証明書の名前
【Password】

パスワード
【Confirm】

パスワードの確認
【Validty(year)】

証明書の有効期限(最大1000年)

上記のみでもKeyは作成できます。必要に応じて下記項目も設定しましょう。

【First and Last Name】

開発者の名前
【Organizational Unit】

所属部署
【Organization】

組織名
【City or Locality】

所在地
【State or Provience】

都道府県
【Country Code(XX)】

国別コード(日本の場合は「jp」)

最後に「Create Key」ボタンを押下してデジタル証明書を作成します。key を作成すると、先ほど Create New Keystore をチェックしていたところが Use Existing Keystore に変わります。あらためてAlias から作成したデジタル証明書を選択してパスワードを入れます。

Split Application Binary

アプリケーション( .apk )が 100MB より大きい場合、.apk を Google Play でパブリッシュする場合は分割する必要があります。必要に応じてチェックを入れて下さい。

 

以上でUnityで制作したAndroidアプリをGoogle Playre Store で公開するために必要なPlayer Settingsでの設定が完了です。