Unity スマホ版ビルド2(Android・iOS)

スマホで動かしてみる

チュートリアルで作ったゲームを早速スマホで動作させたい!

というとこで、以前作った物を改造していきます。

チュートリアルで作成したものはキーボード入力でプレイヤーを動かしていたので、スマホ用にジャイロセンサーに対応したものにします。

バイスの傾き検知

傾きを検知するのは「input.acceleration」でできるっぽい。
PlayerController.csを修正します。

using UnityEngine;

public class PlayerController : MonoBehaviour
{

    // speedを調製する
    public float speed = 10;

    // 一定間隔でフレームを更新する
    private void FixedUpdate()
    {
        //float x = Input.GetAxis("Horizontal");
        //float z = Input.GetAxis("Vertical");
        float x = Input.acceleration.x;
        float z = Input.acceleration.y;

        // 同一のGameObjectが持つRigitbodyコンポーネントを取得
        Rigidbody rigid = GetComponent<Rigidbody>();

        rigid.AddForce(x * speed, 0, z * speed);
    }
}

iOS版ビルド

「File」->「Build Setting」を選択する
f:id:kurahat:20190331120009p:plain
「Platform」からiOSを選択して「Switch Platform」をクリックします。
下のような画面になったら「Open Download Page」からパッケージをダウンロードしてインストールします。
f:id:kurahat:20190331120213p:plain
「Add Open Scenes」を押して、ビルド対象のシーンを追加します。
f:id:kurahat:20190331141143p:plain
「Player Setting」を押します。
f:id:kurahat:20190331140524p:plain
インスペクターから各項目を設定します。
f:id:kurahat:20190331160423p:plain
・Conpany Name
 → 個人で製作する分には適当に名前をつけましょう
  プレファレンスファイルを検索するために使われる項目。
・Product Name
 → アプリの名前です。ホーム上に表示されるアプリ名がこれにあたります。
・Version
 → アプリのバージョンです。
・Default Icon
 → アプリのアイコンを設定する項目です。
・Default Cursor
 → カーソルの表示を設定する項目です。
f:id:kurahat:20190331162657p:plain
Orther Settingを設定します。設定項目が多いので、必要な項目のみ書きます。
・Bandle Identifier
 → 上で設定した「com.[Conpany Name].[Product Name]」を書くのがベター?
   とりあえずデフォルトの設定値から変更すればOK

「File」->「Build Setting」から「Build and Run」を押します。
ファイル名を設定するダイアログが出てくるので、適当に名前をつけて「Save」を押します。
f:id:kurahat:20190331164612p:plain

ビルドできたらXcodeが立ち上がります。
そのままだとエラーが出てしまうので、少しXcode側で設定をする必要があります。
画面左上の「Unity-iPhone」をダブルクリックすると、設定画面が表示されます。
そこから「General」タブの「Signing」項目から「Team」をリストから自分のアカウントを選択します。
まだ何もリストにアカウントが登録されていなかったら、「Add an Account」からアカウント登録してから選択しましょう。
f:id:kurahat:20190331171036p:plain

iPhoneMacをUSBで接続します。
Xcodeの左上にある三角マークを押してビルドします。
ビルドが完了したら、iPhone側にアプリアイコンが表示されます。それをタップしたら下図のように認証のエラーが出てきて起動できません。
f:id:kurahat:20190331174003p:plain
iPhoneの設定で「一般」->「プロファイルとデバイス管理」->「デベロッパAPP」から自分のデベロッパをタップします。
「[アカウント名]を信頼」をタップして、もう一度アプリを起動すれば無事起動できるはずです。
f:id:kurahat:20190331174810p:plain

Android版ビルド

Android版もiPhone版とやることはほぼ変わりません。
Unityの「File」->「Build Setting」を選択する。
「Platform」からAndroidを選択して「Switch Platform」をクリックします。

インスペクターの設定まではiOS版と同じです。

Android版ビルドはXcodeを介さなくていいのでUnityから直接ビルドしてAndroid上で起動できます。
Androidの「設定」->「端末情報」->「ビルド番号」の項目を連続タップします。
連続タップすることでデベロッパー向けの項目が設定についされます。

「設定」->「開発向けオプション」->「USBデバッグ」を有効にします。
AndroidMacをUSBで接続してビルドします。


スマホ版の解像度に合わせてない為か、スコアの表示が見切れてたりしましたが、一応スマホ上で起動できました。