Switchのリングフィットアドベンチャーが転売屋のターゲットになる程、品薄状態で人気が出ているようです。
手帳、カメラ、ウォークマン、本・漫画、電話といった全ての小物がスマホに飲まれる時代ですが、それでもデバイスっていうのはワクワクさせてくれますよね。
過去にもNintendo DSとかWii、アナログスティック、バイブレーションといったものがゲームを楽しませてくれたものです。
Unity Learn Karting Templateはレースゲームのテンプレートなのですが、これを見たら、iPadをハンドルに見立てて車を操作してみたいとチャレンジしてみることにしました。
void Update () { if (Input.GetKey (KeyCode.UpArrow)) m_Acceleration = 1f; else if (Input.GetKey (KeyCode.DownArrow)) m_Acceleration = -1f; else m_Acceleration = 0f; if (Input.GetKey (KeyCode.LeftArrow) && !Input.GetKey (KeyCode.RightArrow)) m_Steering = -1f; else if (!Input.GetKey (KeyCode.LeftArrow) && Input.GetKey (KeyCode.RightArrow)) m_Steering = 1f; else m_Steering = 0f; // --------------------- ここから追加 --------------------- if (Math.Abs(Input.acceleration.x) > 0.1F) { m_Steering = (Input.acceleration.x > 0 ? 1f : -1f); } var accelerationY = Input.acceleration.y + 0.9F; if (Math.Abs(accelerationY) > float.Epsilon) { m_Acceleration = (accelerationY > 0 ? 1f : -1f); } // --------------------- ここまで --------------------- m_HopHeld = Input.GetKey (KeyCode.Space); if (m_FixedUpdateHappened) { m_FixedUpdateHappened = false; m_HopPressed = false; m_BoostPressed = false; m_FirePressed = false; } m_HopPressed |= Input.GetKeyDown (KeyCode.Space); m_BoostPressed |= Input.GetKeyDown (KeyCode.RightShift); m_FirePressed |= Input.GetKeyDown (KeyCode.RightControl); }
追加するのはこれだけです。
このあたりは、個人の好みの問題であって、細かいパラメーターについては、これが答えというのはないと思います。
自分で動かしてはチューニング(調整)を繰り返す。
自分好みに仕上げていくのが、ゲーム開発の醍醐味かなと思ってます。