ダンボールとレーザー加工機でコントローラーを作ります。
傾き情報をUDPで送信するAndroidアプリを作ります。
このリポジトリがそのソースコードになります。 (https://github.com/souring001/android-labo)
Unityで車のゲームを作ります。 UDPから送られてきた情報を、ゲーム内のハンドルとアクセルペダルの値に対応させます。
ソースコード https://github.com/souring001/Unity3D-Cars
-
Android端末の傾き(Roll、Pitch, Azimut)は、加速度センサと磁気センサの値から
SensorManager.getOrientation
で計算することができる。 -
UDPのパケットの中身はJSON形式担っており、コントローラーの種類(ペダル or ハンドル)と仰角を送信している。
{
"controller": "pedal",
"pitch": -34
}
ゲームとアプリを起動するだけです。
すでに実装済みですが、ペダルを踏んでいるときにVibrator
を使って振動させると、踏んでいるかのようないい感じのフィードバックを得られます。
企業のステッカーなどを貼ると盛り上がると思います。