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」を選択する
「Platform」からiOSを選択して「Switch Platform」をクリックします。
下のような画面になったら「Open Download Page」からパッケージをダウンロードしてインストールします。
「Add Open Scenes」を押して、ビルド対象のシーンを追加します。
「Player Setting」を押します。
インスペクターから各項目を設定します。
・Conpany Name
→ 個人で製作する分には適当に名前をつけましょう
プレファレンスファイルを検索するために使われる項目。
・Product Name
→ アプリの名前です。ホーム上に表示されるアプリ名がこれにあたります。
・Version
→ アプリのバージョンです。
・Default Icon
→ アプリのアイコンを設定する項目です。
・Default Cursor
→ カーソルの表示を設定する項目です。
Orther Settingを設定します。設定項目が多いので、必要な項目のみ書きます。
・Bandle Identifier
→ 上で設定した「com.[Conpany Name].[Product Name]」を書くのがベター?
とりあえずデフォルトの設定値から変更すればOK
「File」->「Build Setting」から「Build and Run」を押します。
ファイル名を設定するダイアログが出てくるので、適当に名前をつけて「Save」を押します。
ビルドできたらXcodeが立ち上がります。
そのままだとエラーが出てしまうので、少しXcode側で設定をする必要があります。
画面左上の「Unity-iPhone」をダブルクリックすると、設定画面が表示されます。
そこから「General」タブの「Signing」項目から「Team」をリストから自分のアカウントを選択します。
まだ何もリストにアカウントが登録されていなかったら、「Add an Account」からアカウント登録してから選択しましょう。
iPhoneとMacをUSBで接続します。
Xcodeの左上にある三角マークを押してビルドします。
ビルドが完了したら、iPhone側にアプリアイコンが表示されます。それをタップしたら下図のように認証のエラーが出てきて起動できません。
iPhoneの設定で「一般」->「プロファイルとデバイス管理」->「デベロッパAPP」から自分のデベロッパをタップします。
「[アカウント名]を信頼」をタップして、もう一度アプリを起動すれば無事起動できるはずです。
Android版ビルド
Android版もiPhone版とやることはほぼ変わりません。
Unityの「File」->「Build Setting」を選択する。
「Platform」からAndroidを選択して「Switch Platform」をクリックします。
インスペクターの設定まではiOS版と同じです。
Android版ビルドはXcodeを介さなくていいのでUnityから直接ビルドしてAndroid上で起動できます。
Androidの「設定」->「端末情報」->「ビルド番号」の項目を連続タップします。
連続タップすることでデベロッパー向けの項目が設定についされます。
「設定」->「開発向けオプション」->「USBデバッグ」を有効にします。
AndroidとMacをUSBで接続してビルドします。