Unity のメモ in Windows feat. Android

引き続き、Unity をやってみる。

今日は猫本の 3 章。

  • ゲームの挙動を制御するスクリプトを、ボトムアップでおおまかに分類すると、各オブジェクトを制御するスクリプト、オブジェクトを動的に生成するスクリプト、全体を監督するスクリプトがある
  • VSync はデフォルトではオフになっていて、高速だがティアリングが発生する。Game ビューの左上のあたりにあるアスペクト選択のプルダウンでオンにできる
  • 対象プラットフォームを切り替えるには、File→Build Settings から
  • 画面の背景色は、カメラのCamera→Backgroundが決めている
  • Androidアプリとしてビルドするとき、apkのパッケージ名を設定するには、File→Build Settings→Player Settingsを押し、ダイアログが開いたらPlayer→ドロイドアイコンのタブ→Other Settings→Identification→Override Default Package Nameにチェックを入れて、その下にパッケージ名を入力する

Android で動かす

3 章では、Unity で作ったゲームがスマホで動かせることを確認してみる、というステップが出てきた。

僕は、PC (Surface Pro 6) に Unity が入っていて、iPhone 12 Pro の Kindle で買った猫本を読みながらやっている。スマホで動かすところは、Pixel 3 でやるつもりだった。

Android なので、設定から開発者オプションを有効にして、USB デバッグも有効にする。

Pixel 3 付属の充電ケーブルは両端が USB Type-C なんだけど、Surface Pro 6 には Type-A の端子しかない。変換コネクタも手元にないので、他にケーブルがないか探した。先日買ったワイヤレスヘッドフォン付属の充電ケーブルを試してみたが、これはダメだった。充電専用なのか。

Android 11 のワイヤレスデバッグを試そうと思ったけど、Unity 付属の Android SDKAndroid 10 のやつのようで、adb pair コマンドを受け付けない。

もう一度ケーブルを探したら、加熱式たばこである glo の充電ケーブルで、無事に USB デバッグが機能し、Unity でビルドしたアプリを Pixel 3 で動かすことができた。持っててよかった glo。

動かしてみて気づいたけど、こうしてビルドされたアプリは、Android 側で自動回転 (縦持ち・横持ちに応じてアプリの向きが変わる動作) をオフにしていても、回転するようだ。固定したり、Android 側の設定に従うようにしたりするには、明示的に何かしないといけないのだろう。

ついでに、Unity Remote も試した。ゲーム自体は PC 上で動かし、スマホ上の Unity Remote アプリでそれをリモート操作する仕組み。

そういえば、猫本の 1 章では Unity のセットアップ手順が説明されているのだけど、Unity のインストーラAndroid SDK・NDK と OpenJDK も選択して一緒にインストールしているのに、その後で Android Studio もインストールすることになっていた。僕は Android Studio は後回しにした。そのうち必要になるのかな。