![見出し画像](https://assets.st-note.com/production/uploads/images/61711770/rectangle_large_type_2_645a704fcf98caffc5d8872c7d64ff63.png?width=1200)
ゼロから始めるUnity開発 Part2
こんにちはハナミズキです。大変今更ですが、Unity開発Part2…今年3月に作成していた記事を公開するの完全に忘れておりましたので、本当に今更ですが公開します。。。。
前回に引き続き、Unityネタです。前回、UnityのインストールやらVSCodeと連携したデバック環境まで作る方法を学びました。
今回は、書籍「Unityの教科書 Unity 2020完全対応版 (2D&3Dスマートフォンゲーム入門講座) 単行本」を購入して、そちらに沿って動いたことをレビューします。
その中でも後で振り返りたいと思ったポイント(スマホ向けビルド)に関して、詰まった事がありましたので、私の環境で検証した結果とともに一部抜粋して感想を記事に残します。
改めて前提として、私はMacBook上で開発環境を作成しております。
あくまでも気軽に確認したいため、iPhoneの場合、AppleIDの作成はするけど、AppleDeveloperProgramに登録しないで実行する方法をここでは紹介します。
まず適当なチュートリアルに沿り、Unityでスマホアプリを作ります。
iOS向けのBuild Settingsと実機での動作検証方法
iOS向けにビルドして実行するときは、以下の手順を踏みます。
1.UnityにてiOS向けにビルドできる環境を構築する
2.UnityでiOS向けのXocdeプロジェクトを生成
3.生成されたXcodeプロジェクトを起動し、Xcodeの環境設定
4.Xcodeを介して実機にビルド
5.iPhone上で動くよう環境設定を少し変更
まず、iOS向けにビルドできる環境を構築します。Unityの[File]->[Build Settings...]を実行します。
次に、[iOS]を選択して[Switch Platform]を選択します、しかし初回の場合iOSのビルド環境をUnityが保持していないので、選択できる状況でありません。よって、[Install with Unity Hub]を実行して指示に従ってインストールしてください。その後[Switch Platform]をクリックして[iOS]に切り替えます。
次に[Player Settings...]を選択し、左の設定メニュー一覧から[Player]を選択する、"Other Settings"->"Identification"->"Bundle Identifier"を探して、テキストボックスに、Bundle Identifierを入力します
例)
com.hanamizuki10.Roulette
その後、Scence In Buildにゲームシーンのアセットを、ドラックアンドドロップしてBuildします。
例えば、Rouletted_iOSで出力すると、以下のようなファイルができます。このUnity-iPhone.xcodeprojをダブルクリックするとXcdoeが起動します。
Xcodeでは、Targets”Unity-iPhone”のプロパティより[Signing&Capabilites]タブを選択し、[Automatically manage signing](署名を自動的に管理する)にチェックします。
すると以下のようなメッセージが出てくるの[Enable Automatic]をクリックします。
次に[Add Account]をクリックして、AppleIDとパスワードを入力します。
なおAppleDeveloperProgramに登録していないため、必ずサインエラーは発生します。
MacとiPhoneを直接つなぎ、Xcodeの上部メニュー以下の部分をクリックします。
選択肢の中からiPhoneを選択します。
この状態でプロジェクトを実行します。
以下のメッセージが出てくるためOKをクリックします。
キーチェーン”ログイン”のパスワードを求められるため、パスワードを入力します。
この状態でiPhone実機を確認すると、以下のようにインストールできていることが確認できますが、実行しようとすると以下のようなエラーダイアログが出てきます。
これは信頼されていないのが原因であるため、デペロッパを信頼させてあげる必要があります。
iPhoneにて[設定]->[一般]->[プロファイルとデバイス管理]を開き、今回対象となるApple Developemnt...で始まる対象APPを選択します。
次に、中央の青色文字列をクリックします。
確認メッセージが出てくるため、「信頼」をクリックします。
これでアプリをiPhone上で実行できるようになります。
Android向けのBuild Settingsと実機での動作検証方法
Android向けにビルドするときは、以下の手順を踏みます。
1.Android StudioをMacにインストール
2.ビルド対象のAndroid端末を開発者モードに変更する
3.UnityにてAndroid向けにビルドできる環境を構築する
4.Unityでビルドして、実機にデプロイ
まずMacでAndroidで動かすための準備として、Android Studio をインストールします。以下のサイトにアクセスします。
[DOWNLOAD ANDROID STUDO]ボタンをクリックします。
利用規約が表示されるため、条件に同意し、[ダウンロードする]をクリックします。
普段のアプリインストールと同じようにインストールを行い、実行してください。
以下のダイアログが出てきたら、[Do not import settings]を選択し、[OK]をクリックします。
次にデータ共有に関してメッセージが出てくるため、特に共有したくない場合は、[Don't send]をクリックします。Googleに情報を共有しても良い場合は、[Send usagge statisics to Google]をクリックしてください。
セットアップウィザードが起動してきたら[Next]をクリックします。
Install typeでは[Standard]を選択し、[Next]をクリックします。
好きなUIテーマを選択し、[Next]をクリックします。
設定内容を確認し[Finish]をクリックします。
必要なコンポーネントの全てをダウンロード完了したら[Finish]をクリックします。
これでAndroid Studioのインストールが完了しました。
次はAndroid端末側の設定を変更します。
[設定]->[端末情報]->[ソフトウェア情報]を開き、 ビルド番号を7回タップしすると開発者モードに切り替わります。
その後、[ 設定]->[開発者向けオプション]を開き、USBデバッグをオンにします。
これでAndroid側の準備OKです。
次にUnityを開きます。既にUnityである程度動くスマホアプリは作成されている前提です。
Unityにて、[File]->[BuildSetteing]->[Android]を選択して[Switch Platform]を選択します、しかし初回の場合Androidのビルド環境をUnityが保持していないので、選択できる状況でありません。よって、[Install with Unity Hub]を実行して指示に従ってインストールしてください。その後[Switch Platform]をクリックして[Android]に切り替えます。
(補足ですが私の場合、ここで詰まりました。詳細は後述に記載します。)
次に[Player Settings...]を選択し、左の設定メニュー一覧から[Player]を選択する、"Other Settings"->"Identification"->"Package Name"を探して、テキストボックスに、Package Nameを入力します
例)
com.hanamizuki10.Roulette
iPhoneの時と同じようにScence In Buildにゲームシーンのアセットをドラックアンドドロップします。
Android端末とMacPCをデータ通信が可能なケーブルでつなぎます。
ケーブルを繋いだらBuild Settingsの[Build And Run]をクリックします。
この時apk ファイル名を入力してSaveすると、そのままAndroid端末にアプリがインストールされます。
以上で、実機にインストールされるため動作確認などができるようになります。
※Android実機へのビルド時のその他補足事項
Android実機へビルドする際にエラーが出る時があります。ここでは注意事項として残します。
以下は、[Build And Run]を実行した時に発生するエラーの一つです。
これは正しくJDKがインストールされていない場合に発生します。このエラーメッセージに従い、[Preferences]->[External Tools]を開いてみてください。以下のようなエラーが発生していた場合は、JDKをインストールすることで解決します。
JDKをインストールする際は、Unity Hub を起動し、該当のUnityのバージョンのメニューをクリックします。
そして、モジュールを加えるを選択します。
[Android Build Support]を展開し、もし[Android SDK & NDK Tools]や [OpenJDK]にチェックが入っていない場合は、チェックを入れて[次へ]でそのままインストールを行ってください。
なお、インストール完了後は、一度、Unityプロジェクトを閉じて開き直さないと適用されません。
再起動後、[Preferences] -> [External Tools]をにて再度確認します。以下のようになっていたら、正常にJDKのインストールが完了しております。
--------------------------------------------
以下も、[Build And Run]を実行した時に発生するエラーの一つです。
これは、MacにAndroid端末が接続されていない時もしくは、Android Studioがインストールされていない時に出るエラーメッセージです。
改めてケーブルの接続状況や、Android側の端末設定(開発者モードになっているか)、MacにAndroid Studioのインストールがされているかなどを確認してください。
最後に
書籍「Unityの教科書 Unity 2020完全対応版 (2D&3Dスマートフォンゲーム入門講座) 単行本」に従い作業進めた結果、さすが書籍だ・・・という感想を抱きました。
インターネットで検索して試行錯誤しながら作業するよりも、必要なことが重点的に記載されて、効率よく学ぶ事ができたためです。
時間短縮には書籍は投資。当たり前の事ですが、改めて学ばさせていただきました。
最後に、Unityの強みについて感じた事があります。
今回の作業を通して同時にiOS/Android開発できる事の便利を強く実感しました。JavaだとAndroid向けアプリだけだし、Objective-CやSwiftだとiOS向けアプリのみしか開発できません。それに対して、Unityだと一本のソースコードで双方に使えるので非常に開発工数を抑えることができます。Unityはゲーム用として有名ですが、ゲーム以外のアプリ開発にも応用できると感じました。
もう一つは、様々なチュートリアルが存在していることです。チュートリアルの指示に従って作る。ただそれだけですが、なんども色々なチュートリアルに合わせてツールを作ることでUnityで何ができるか肌感覚で知識を増やしていく事ができます。御膳立てされている分ユーザーが増える。その分いろんな資料がインターネット上からの検索でも増える。すばらしい循環が起きているように感じました。
改めて…
私は、まだまだ知らない機能が沢山あります。なので、引き続き色々なチュートリアルに手を出して、まずは応用する事が出来るように精進しようと思います!
以上です、ではでは!