【Unity】ボールを転がすシンプルなコントローラースクリプト

今回は、キーボードの入力においてとりあえずボール等の球体をころころと転がしたいと思っている方向けにコントローラースクリプトの紹介です。

Unityで球体(Sphere)を「W」「S」「A」「D」キーで上下左右に動かせるコントローラースクリプトを作成します。このスクリプトは、簡単な入力制御と物理演算に基づいて動作します。

Unityで球体をキーで動かすコントローラースクリプトを実装する

  1. 新しいUnityプロジェクトを作成する
    UnityHubで新しい3Dプロジェクトを作成します。
  2. 球体(Sphere)の作成
    • ヒエラルキーで右クリックして 3DObject → Sphereを選択し、球体を作成します。
    • 球体の名前を「Player」にしておきます。
  3. 物理演算を設定する
    • 作成したオブジェクトにRigidbodyコンポーネントをアタッチします。
  4. スクリプトの作成
    • 「Scripts」という名前のフォルダを作成し、その中に「SphereController.cs」という名前のスクリプトを作成します。
    • 以下のコードをスクリプトに記述します。

PlayerController.cs

コードの説明

Input.GetAxis(“Horizontal”) と Input.GetAxis(“Vertical”)で各キーの入力を取得します。

後は、入力に基づいて予め移動速度を設定しておいた変数とTime.deltaTimeを掛けます。

transform.Tlanslateにて現在の位置を基準にして、新しい位置を計算して移動します。

移動速度を変えたい際には、moveSpeedの値を調整してください。

スクリプトをアタッチしてゲームを実行

作成したスクリプトは、Playerオブジェクトにアタッチしてゲームを実行してみましょう。

恐らく、「W」「S」「A」「D」キーにてボールを移動させることが出来ると思います。

↑こんな感じでですね。

Rigidbodyを使用した改良版

最初のコードは瞬時に移動しますが、Rigidbody.AddForceを使用して物理ベースで動きをスムーズにすることもできます。

このスクリプトでは、物理演算を使用するため、よりリアルな動きになります。

作りたいゲームによって使い分けすると良いんじゃないかと思います。

著者プロフィール
うんくん

IT系に特化した記事がメインです。(Unity多め。)
Udemy講師もやっています。よろしくお願いします。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

うんくんをフォローする
unityunity基本操作
スポンサーリンク
シェアする
うんくんをフォローする