Inputが正常に検知できない時の原因

Input.GetKeyDown()やInput.GetAxis()、Input.GetMouseButton()などでキーの入力やマウスの入力を検知する時に、うまくいかない場合の原因。

ほとんどの場合はInputをUpdate()内じゃなくFixedUpdate()内に書いてしまっていることが原因だと思われます。

FixedUpdate()は毎フレームではなく一定時間ごとに呼び出される関数なので、そこにInputを書いてしまうとタイミングによっては呼び出されなかったり逆に2回呼び出されたりします。
なのでInputは必ずUpdate()内に書きましょう。

分かっていたつもりではあるのですが、最近ついやってしまったことがあったので記事にしました(笑)

コメント