【Unity/C#】Input.GetAxisRaw(入力操作の取得)の基本と書き方

Unityコード専用検索

コードの型

キーボードの入力値を -101 のいずれかの値で取得します。

C#

void Update()
{
    // 水平方向(左右)の入力を取得
    float horizontal = Input.GetAxisRaw("Horizontal");

    // 垂直方向(上下)の入力を取得
    float vertical = Input.GetAxisRaw("Vertical");

    // 取得した値を移動に反映
    transform.Translate(horizontal * 5.0f * Time.deltaTime, 0, vertical * 5.0f * Time.deltaTime);
}

コードの仕組み

Input.GetAxisRaw は、Unityが用意している「入力の監視役」です。

  • 「Raw(生)」の意味: 通常の Input.GetAxis は、押した瞬間に滑らかに値が増減する(慣性がつく)のですが、Raw「押したら即座に1、離したら即座に0」 という、非常にキビキビとした反応を返します。
  • 返ってくる値:
    • 右キー(またはDキー)を押すと:1
    • 左キー(またはAキー)を押すと:-1
    • 何も押していなければ:0

活用例(キャラクターの移動)

アクションゲームや2Dゲームなど、操作の「キビキビ感」が重要なゲームでよく使われます。

C#

void Update()
{
    float moveX = Input.GetAxisRaw("Horizontal");

    if (moveX != 0)
    {
        Debug.Log("移動中: " + moveX);
    }
}

その他(実用的なテクニック)

  • 「Horizontal」と「Vertical」の正体: これはUnityにあらかじめ設定されている「入力軸の名前」です。Edit > Project Settings > Input Manager を見ると、どのキー(矢印キーやWASDキー)が割り当てられているか確認・変更できます。
  • なぜGetAxisRawを使うの?: GetAxis だと、プレイヤーがキーを離しても「少しだけ滑って止まる」動きになります。キビキビした動きを作りたいなら GetAxisRaw を使うのが基本です。
  • スマホ対応: この関数はキーボードだけでなく、コントローラーのスティック入力にも対応しています。コードを書き換えずにコントローラー操作に対応できるのがUnityの強力な点です。

初心者向けまとめ

Input.GetAxisRaw は、「今、プレイヤーはどっちに行こうとしているの?」という意思を、数字で教えてくれる便利ツールです。

  • 1 なら右(上)に行きたい。
  • -1 なら左(下)に行きたい。
  • 0 なら動きたくない。

この「数字」をキャラクターの移動距離に掛け算することで、プログラムが自動的に移動を計算してくれます。非常にシンプルですが、ゲーム作りにおいて最も頻繁に使う命令の一つですので、ぜひ覚えておいてくださいね!

コメント

タイトルとURLをコピーしました