メインコンテンツまでスキップ

Input Managerについて



基本的な設定

  1. Input Managerにアクセスする方法:

    • Unityエディタのメニューから「Edit」→「Project Settings」→「Input Manager」を選択します。
    • Input Managerのウィンドウが開き、デフォルトの設定が表示されます。
  2. アクションの追加:

    • 「Axes」セクションで、デフォルトの入力設定(例: Horizontal, Vertical, Jumpなど)があります。
    • 新しいアクションを追加するには、リストの下にある「+」ボタンをクリックします。
  3. 設定の変更:

    • 各アクションには「Name」「Positive Button」「Negative Button」「Alt Positive Button」などの設定があります。
      これらを使って、特定の入力デバイスやボタンにマッピングできます。


サンプルプログラム

以下は、Input Managerを使ってプレイヤーキャラクターを移動させる基本的なスクリプトの例です。

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
public float speed = 5f; // プレイヤーの移動速度

void Update()
{
// ユーザーの入力を取得
float moveHorizontal = Input.GetAxis("Horizontal"); // 左右の入力
float moveVertical = Input.GetAxis("Vertical"); // 前後の入力

// プレイヤーの移動ベクトルを作成
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);

// プレイヤーを移動させる
transform.Translate(movement * speed * Time.deltaTime);
}
}


解説

  • Input.GetAxis:

    • Input.GetAxis("Horizontal")Input.GetAxis("Vertical")は、Input Managerで設定した「Horizontal」と「Vertical」にマッピングされた入力を取得します。
    • これにより、移動が滑らかになります。キーが押されると値が-1(左)または1(右)を返します。アナログスティックの場合は、-1から1の範囲の値を返します。
  • transform.Translate:

    • プレイヤーオブジェクトの位置を更新するために使用されます。movementベクトルにspeedTime.deltaTimeを掛けることで、フレームレートに依存しない移動速度を実現しています。