ガラホ(KYF37)向けアプリをUnityで作ってみる
ガラホとは
「ガラホ:ガラケーを作るにあたり、OSを含むスマホの技術・部品を転用したもの(ガラケーの機能・表示・操作感の再現などを目的に、スマホにある機能が一部削られている)」
とのこと。ちなみに「ガラホ」という単語はKDDIに商標登録されている。
KYF37とは
Android5.1.1をベースにした二つ折り携帯。
操作感などは従来のガラケーに近い感じでAndroidっぽさはほぼない。
ガラホ(KYF37)をコントローラーとして使おうとした時ここがすごい!
— ふたば(二葉) (@futanyaha) 2021年9月18日
・耐衝撃(MIL-STD-810G Method 516.7:Shock-Procedure IV)/ 防水(IPX5/IPX8)/防塵(IP5X)
・AndroidだからUnityで作ったアプリが動く!
・無線LAN(2.4Ghz)Bluetoothが使える
・800万画素のアウトカメラが使える
・当然画面もある
ツイートの通り、防水防塵耐衝撃でハードウェアキーのある扱いやすい端末なのだが、ほどほど市場に出回っているものの、そこまで需要があるものでもないため中古品が非常に安価(今回は2000円)に手に入るため今回開発してみることにした。
Unityでの開発
動かすまで
Android5.1.1ベースであるためUnityでAndroid向け開発を行うのと同様に開発ができる。
UnityでAndroid開発する際はモジュールを追加するだけで簡単に環境ができる。
KYF37の開発者向けオプションを出すには通常のAndroid端末と同様に端末情報のビルド番号を連打すると開発者向けオプションが有効になる。
ADB用USBドライバも以下に。
端末をパソコンにつなぎ
Unityで適当にオブジェクトやUIを配置
PlatformをAndroidにしていつものように「Build And Run」すると……
Unityアプリ動いてる
— ふたば(二葉) (@futanyaha) 2021年9月15日
大体のボタンの入力取れそう pic.twitter.com/TIewxK038t
このように普通に起動する。
ガラケーの見た目でUnityアプリが動いているのは面白いです。
UnityとKYF37(ガラホ)について
KYF37向けにUnityで開発していて気が付いたことを書いていきます。
タッチパネルがなく、ポインターもうまく動作しない
KYF37にはタッチパネルがありません。そのため画面上のボタンなどをタッチすることはできません。
タッチパネルのないKYF37ではポインターが用意されていますが、Unity上だとこのポインターはうまく動作しません。
ポインターが上に来た時、マウスオーバーの動作をするようですがクリックできません。
ハードウェアキー
KYF37のハードウェアキーのうち、「発信キー」と「終話キー」は認識しません。(なにかしら認識させる方法はあるかもしれない……)
下3つのカスタマイズキーは長押しした際にファンクションキーとして認識していた。 「センターキー」は一度押すと「JoystickButton0」と「Joystick1Button0」として認識されており面白かった。
テキスト入力
残念ながらKYF37ではUnity上でのテキスト入力は難しそう。
正確にはテキストの入力は可能なのですが文字を消せません。
問題として「クリアキー」を押した際の動作として「Backキー」の扱いとなっており、文字を消すのではなく入力を中断する扱いになるからの様?
変換機能を使わず、自前でキーパッドでの入力システムを実装すれば何とかなるかも?
最後に作ったもの
KYF37のキー入力をUDPでHoloLens 2やWindowsPCに送って操作するコントローラーアプリを作りました!
HoloLens 2をガラホ操作!
— ふたば(二葉) (@futanyaha) 2021年9月17日
だいぶ実用的になってきました! pic.twitter.com/3BQ5TIfpEL
テキスト入力の問題が発生したことや、Bluetoothを使った通信に変更するため今後の開発はAndroidStudioを使ってやってみようと思います。