コードの型
キーボードの入力値を -1、0、1 のいずれかの値で取得します。
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
- 右キー(またはDキー)を押すと:
活用例(キャラクターの移動)
アクションゲームや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なら動きたくない。
この「数字」をキャラクターの移動距離に掛け算することで、プログラムが自動的に移動を計算してくれます。非常にシンプルですが、ゲーム作りにおいて最も頻繁に使う命令の一つですので、ぜひ覚えておいてくださいね!

コメント