【子どもでもわかる】Unityでキャラクターを左右に動かすプログラムの書き方

Unityでキャラクターを左右に動かす方法を初心者向けに解説。C#スクリプトの作成から移動プログラムの書き方、速度調整まで、小学生・中学生にもわかりやすく紹介します。

お子様
お子様
Unityでキャラクターを動かしたいけど、何から始めればいいの?

Unityを使い始めたお子様が、まず作りたくなるのが「キャラクターを自分で動かせるゲーム」ですよね。

Unityで左右に移動するプログラムをつくろう

この記事では、キーボードの矢印キーやWASDのA・Dキーでキャラクターを左右に動かすC#プログラミングを、Unity初心者の小学生中学生のお子様にもわかりやすく解説します!

▼楽しく学べるプログラミング体験なら「アンズテック」
お子様にプログラミングを楽しく学ばせたいとお考えの保護者様に、アンズテックのオンラインレッスンがおすすめです。まずは、無料体験レッスンにお申込みください。

▼ アンズテックについて詳しく知りたい方はこちら
>> 「アンズテック」の公式サイトを確認する

アンズテック公式サイトへ

準備するもの

  • Unity Hub
  • Unityエディター
  • 2Dまたは3Dプロジェクト(この記事では3Dプロジェクトを使います)
  • シーン上に配置したゲームオブジェクト(キャラクターです)

Unityでキャラクターを操作するプログラムを作ろう

まずはUnityでプロジェクトを作成し、Hierarchy(ヒエラルキー)ウィンドウにキャラクターのGameObjectを配置しておきましょう。

【ステップ1】C#スクリプトをつくる

UnityでC#スクリプトファイルを作る

Projectウィンドウで右クリック → 「Create」→「Scripting」→「Empty C# Script」を選び、名前を PlayerMove にします。

※ Unityのバージョンによってメニュー名が変わる場合があります。
※ 英語表記(日本語化していない)のUnityを使っています。

ファイルができました。

【ステップ2】キャラクターを動かすプログラムを書こう

作成したスクリプトファイルをダブルクリックして開き、以下のコードを入力しましょう。
※事前にVisual Studioのインストールが必要です。Visual Studio以外のエディタでも構いません。

using UnityEngine;

public class PlayerMove : MonoBehaviour
{
    // キャラクターの移動スピードを設定する変数
    public float moveSpeed = 5f;

    // 毎フレーム呼ばれるメソッド(ゲームの更新処理はここに書く)
    void Update()
    {
        // 水平方向の入力を取得する(左矢印・Aキー → -1、右矢印・Dキー → 1)
        float moveInput = Input.GetAxisRaw("Horizontal");

        // 現在の位置を取得する
        Vector3 currentPosition = transform.position;

        // 入力された方向に移動量を加える
        currentPosition.x += moveInput * moveSpeed * Time.deltaTime;

        // 計算した位置をキャラクターに反映する
        transform.position = currentPosition;
    }
}

書けたらメニューの「ファイル」→「保存」を押して保存します。
Unityに戻ります。

【ステップ3】スクリプトをキャラクターにアタッチする

  1. Hierarchyでキャラクターの GameObject を選択する
  2. Projectウィンドウの PlayerMove スクリプトをドラッグして、動かしたいキャラクターにドロップする
  3. Playボタンを押して左右に動くか確認する

このプログラムで左右の矢印キー、または、A・Dキーで左右に移動します。

【ステップ4】動く早さを変えよう

キャラクターが選択されている状態で、画面右側のInspector(インスペクター)を見てみましょう。

Move Speed という項目が表示されます。
5 のままでも動きますが、好きな速さに調整してみましょう。

数字を大きくすれば早く動き、数字を小さくすればゆっくり動きます。

よくある失敗・エラーと対処法

キャラクターが動かない

  • スクリプトが正しくGameObjectにアタッチされているか確認しましょう。画面右側のInspector(インスペクター)にPlayer Move(Script)と表示されていれば、正しくアタッチされています。
  • プログラムに打ち間違えがないか確認しましょう。入力ミスがあると、Unity画面の左下のConsole(コンソール)にエラーが表示されます。

キャラクターが後ろを向く

(プログラムとは関係ありませんが)、プレイしたい画角になるようにシーンウインドウでキャラクターの配置を調整します。

その後、メニューの「Game Object」→「Align With View」を選択してください。

すると、プレイを押した後もシーンビューと同じ画角でプレイできます。

アンズテック無料体験レッスンでもっとUnityを学ぼう

「キャラクターを動かす」ことができたら、次は敵キャラやスコア、ゲームクリア条件を実装してゲームを完成させましょう!

アンズテックでは現役プログラマーと一緒にUnityでゲームプログラミングを学べます。

  • 将来ゲームクリエイターになりたいお子様
  • スクラッチからのステップアップでプログラミングを学びたいお子様
  • 3Dゲームを作ってみたいお子様

このようなお子様はぜひアンズテックの無料体験レッスンにお越しください!

アンズテック子どもプログラミング教室

プログラミング講師 / プログラマー 指導歴9年

アンズテックは、小中学生向けの完全オンラインプログラミングスクールです。ScratchやUnityを使い、子どもの興味に合わせた楽しいカリキュラムで、創造力・思考力・ITスキルを育みます。全国どこからでも現役プログラマーの受講が可能!

219本の記事を執筆

NEWS一覧へ