Unity体験 第4回 ~キーボードでCubeを動かしてみよう~

2026年9月20日

広告

Unity体験 第4回「キーボードでCubeを動かしてみよう」の内容を示したイラスト。矢印キーでCubeを動かし、InspectorでSpeedを変える。
今回の内容(イラスト)

はじめに

前回は、プログラムを書いてCubeを自動で動かしました。

今回は、自分でキーボードを使ってCubeを操作してみます。

ゲームでは、プレイヤーの操作に応じてキャラクターが動きます。

今日は、その第一歩を体験してみましょう。


今日の目標

今日は次のことを体験します。

  • 前回のプログラムを書き換える
  • 矢印キーの入力を取得する
  • Cubeを自由に動かす
  • 移動速度を変更する

① 前回のプロジェクトを開こう

前回作成したUnityプロジェクトを開きます。

Hierarchyには

  • Plane
  • Cube
  • Sphere

がある状態にしておきます。


② MoveCube.csを書き換えよう

前回作成した MoveCube.cs を開きます。

今回は、Update()メソッドの内容を書き換えて、矢印キーで動くようにします。

using UnityEngine;
using UnityEngine.InputSystem;

public class MoveCube : MonoBehaviour
{
    [SerializeField]
    float speed = 3.0f;

    void Update()
    {
        Vector3 move = Vector3.zero;

        if (Keyboard.current.leftArrowKey.isPressed)
        {
            move.x = -1;
        }

        if (Keyboard.current.rightArrowKey.isPressed)
        {
            move.x = 1;
        }

        if (Keyboard.current.upArrowKey.isPressed)
        {
            move.z = 1;
        }

        if (Keyboard.current.downArrowKey.isPressed)
        {
            move.z = -1;
        }

        transform.Translate(move * speed * Time.deltaTime);
    }
}

[SerializeField] を付けた変数は、UnityのInspectorに表示され、コードを書き換えなくても値を変更できます。

保存したらUnityへ戻ります。


③ Playしてみよう

Playボタンを押してみましょう。

キーボードの矢印キーを押すと、

  • ← 左へ移動
  • → 右へ移動
  • ↑ 前へ移動
  • ↓ 後ろへ移動

するようになります。

前回は自動で動いていましたが、今回は自分で操作できるようになりました。


④ Speedを変えてみよう

Cubeを選択して、Inspectorを見てみましょう。

MoveCubeの中に「Speed」という項目が表示されています。

まずPlayする前に、Speedの値を変えて、動きを比べてみましょう。

  • 1
  • 3
  • 5
  • 10

数値を大きくすると、Cubeの移動速度が速くなります。

ゲームでは、このような値を調整して遊びやすさを決めています。

※Play中にもSpeedの値を変更できますが、Playを停止すると変更前の値に戻ります。今回はPlayする前に値を変更して試してみましょう。


⑤ Time.deltaTimeとは?

移動するときに

Time.deltaTime

を掛けています。

これは、パソコンの性能が違っても、ほぼ同じ速さで動くようにするためです。

Unityでは非常によく使われる大切な機能です。


⑥ 壁を作って歩いてみよう

Cubeを複製して壁を作ります。

その間を歩いてみましょう。

壁を自由に配置すると、自分だけの小さなコースが完成します。


Challenge(できる人向け)

時間があれば挑戦してみましょう。

  • 壁を迷路のように配置する
  • Speedを自分好みに調整する
  • スタート地点やゴール地点を作る
  • 左+上など、2つのキーを同時に押すと、どう動くか試してみる(なぜそうなるのかは、3か月後に学びます)

完成形は人それぞれ違っていて構いません。


今日のまとめ

今日は初めてキーボード入力を使いました。

今日体験したこと

  • ✅ 前回のプログラムを書き換えた
  • ✅ 矢印キーでCubeを操作した
  • ✅ 移動速度を変更した
  • ✅ Time.deltaTime を使った
  • ✅ 自分だけのコースを作って歩いた

最後に

前回は「プログラムで自動的に動くCube」を作りました。

今回は「自分で操作できるCube」になりました。

ゲームは、このように少しずつ機能を追加しながら作られていきます。

今回は体験しやすいように、Keyboard.current を使ってキーボードを直接読み取りました。本格的なゲームでは、Input Actionsを使って、「Move」という操作と、キーボードやゲームパッドなどの入力機器を切り離す方法もあります。詳しくはUnity 6でキー入力による移動を実装する ― Input Systemの基本をご覧ください。

今回でUnity体験は一区切りです。3か月後の授業では、ここで触れたことを、一つずつ理由から学んでいきます。

前の回:Unity体験 第3回 ~初めてプログラムで動かしてみよう~

エディター画面の各ウィンドウの役割を詳しく知りたい方は、Unity 6の画面構成を理解する ― Game・Scene・Hierarchy・Inspector・Projectの役割もご覧ください。

訪問数 126 回, 今日の訪問数 1回

広告

Unity

Posted by hidepon