Unityを学びたい初心者の方や基礎を学びたい方に向けて、
Unityが公式で紹介しているRoll a Ballをまとめました。
今回は第2章のプレイヤーの移動についてです。
こちらは、以下の第1章からのつづきです。
Unity LearnのRoll a Ballを作成 初心者おすすめ~ゲームセットアップ~
※アプリを作成する中で、不明点等でわからないことが
でてくると思います。その際は、1人で悩まずに気兼ね
なく、相談したいことがあれば、コメントまたはtwitter
で連絡ください。
twiiterアカウント~otakutomo~
※Roll a Ballは2020年8月に新しくなりました。
以前のものを興味ある方は以下のリンクから見ることが
できます。
Roll a Ball~Unity Learn~
Unity LearnのRoll a Ballを作成 ~プレイヤーの移動~
Roll a Ballのプレイヤーの移動は以下のリンクを参考に作成していきます。
Roll a Ball(Moving the Player)
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Moving-the-Player-Unity-Learn-Google-Chrome-2020_12_12-11_06_08.png)
プレイヤーにRigidbodyを加える
プレイヤーにRigidbodyを加えます。
Rigidbodyをオブジェクトに加えることで、物理特性を制御できます。
例えば、壁にぶつかる、重力の影響を受けるといった動作が可能になります。
Rigidbodyの加え方は、以下の手順です。
- 「Player」を選択します。
- Inspecterの一番下にある「Add Component」-「Physics」「Rigidbody」を選択
(検索欄にRigidbodyを入れてもよいです。)
Rigidbodyの追加は以上となります。
Add Componentでは、Script(動作)やAudio(音声)等も
追加でき、よく使うものなので覚えておくと便利です。
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal_-_DX11_-2020_12_12-11_08_07.png)
パッケージのインストール
プレイヤーオブジェクトを制御するために、キーボード入力
をプレイヤーオブジェクトに適用する必要があります。
パッケージのインストールは以下の手順です。
- Window > Package Managerを開きます
- 「Input System」を選択します
- 「Install」ボタンを押し、インストールを開始します
- ポップアップは、「Yes」を押します
- 再び、ポップアップがでますので、「Save」を押します
以上で、パッケージのインストールは終了となります。
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal_-_DX11_-2020_12_12-11_10_32.png)
このゲームをWindows用に作成している場合、ゲームに入力システムパッケージを使用するために以下の設定をします。
- File>Build Settingsを開きます
- Architectureを「x86_64」に変更します
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal-_DX11_-2020_12_12-11_20_50.png)
次に、プレイヤーオブジェクトに入力システムの設定をします。
- 「Player」を選択します。
- Inspecterの一番下にある「Add Component」-「Input」-「Player Input」を選択
- 「Inspecter」-「Player Input」の「Create Actions」を押す
- 「Input」という名前で新規にフォルダを作成し、その配下に「InputAction.inputactions」を作成します。
- 作成した「InputAction」を「Inspecter」-「Player Input」の「Actions」にドラッグで持っていきます。
以上が入力システムの設定です。
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal_-_DX11_-2020_12_15-22_13_04.png)
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal_-_DX11_-2020_12_15-22_20_25.png)
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal_-_DX11_-2020_12_15-23_25_12-2.png)
プレイヤーの移動
プレイヤーの動作を付けていきます。
プレイヤーの動作は以下の手順で行います。
- 「Player」を選択します。
- Inspecterの一番下にある「Add Component」-「New Scriptを選択
- 「PlayerController」という名前で作成します。
- 「Assets」の配下に新規で「Script」フォルダを作成し、「PlayerController」を「Script」配下に移動します
- 「PlayerController」には下記に記したコードを記載しています
これで、プレイヤーの移動はおわりです。
再生ボタンを押し、実行すると動かすことができます。
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal_-_DX11_-2020_12_15-22_28_10-2.png)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class PlayerController : MonoBehaviour
{
public float speed = 0; //プレイヤーのスピード
private Rigidbody rb;
private float movementX;
private float movementY;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
}
private void OnMove(InputValue movementValue)
{
Vector2 movementVector = movementValue.Get<Vector2>();
movementX = movementVector.x;
movementY = movementVector.y;
}
private void FixedUpdate()
{
Vector3 movement = new Vector3(movementX, 0.0f, movementY);
rb.AddForce(movement * speed);
}
}
以下の「PlayerController」のSpeedの値を10に変更します。
実行するとプレイヤーのボールが先ほどより、早く動くことが
わかると思います。
![](https://otaku-tomo.com/wp-content/uploads/2020/12/Roll_a_Ball-MiniGame-PC-Mac-Linux-Standalone-Unity-2019.4.16f1-Personal-_DX11_-2020_12_16-0_40_47.png)
おわりに
以上で、Roll a Ball のプレイヤーの移動は終わりです。
今回は、以下のことをしました。
- Rigidbodyの追加
- パッケージのインストール
- プレイヤーの動作
プレイヤーの動作では、コードを書きましたが、
始めはコピーでも良いと思います。
使っていくうちにだんだん覚えていきます!
引き続き、Roll a Ballを作っていくので、
よろしくお願いいたします。
次はカメラの移動についてです。
Unity LearnのRoll a Ballを作成 初心者おすすめ~カメラの移動~
※今回のこと以外でもアプリを作成する中で、不明点等でわからないことがでてくると思います。その際は、1人で悩まずに気兼ね
なく、相談したいことがあれば、コメントまたはtwitter
で連絡ください。
twiiterアカウント~otakutomo~
コメント