Unityな日々(Unity Geek)

Unityで可視化アプリを開発するための試行錯誤の覚書

Inputの種類

Unityにはさまざまな入力APIが準備されている。
Unity - Scripting API: Input


Static関数としては次がある。Down/Up=Yesは、たとえばGetKeyに対して、GetKeyDown/GetKeyUpというメソッドもあるということ。

入力機器 メソッド 引数 戻り値 Down/Up
キー GetKey(string) キー名 bool Yes
マウスボタン GetMouseButton(int) 0:左,1:右,2:中 bool Yes
ボタン GetButton(string) 仮想ボタン名(*1) bool Yes
アクシス(スムージングあり) GetAxis(string)(*2) 仮想アクシス名(*3) float -1~+1 No
アクシス(スムージングなし) GetAxisRaw(string)(*2) 仮想アクシス名(*3) float -1~+1 No
タッチ GetTouch(int).phase 0-Input.touchCount:指番号 タッチフェーズ No(*3)


(*1)バーチャルボタンは、Project Settings-Inputで設定する。デフォルトでは、'Fire1','Fire2','Fire3','Jump','Submit','Cancel'が設定されている。

(*2)スティックは、ジョイスティック以外に、マウスの動き、キーにもアサインできる。
GetAxisRaw()の場合のキーボード入力は、-1,0,+1のいずれかになる。

(*3)GetTouch()は、

Input.GetTouch(i).phase == TouchPhase.Began

のように、.phaseプロパティと、TouchPhaseクラスとのセットで使う。