2017-03-01 4 views
2

私は単純な文字コントローラを作成しようとしています。キーが離された直後に文字を停止する

void Update() 
{ 
    var x = Input.GetAxis("Horizontal") * Time.deltaTime * 6; 
    var z = Input.GetAxis("Vertical") * Time.deltaTime * 6; 

    Vector3 direction = Quaternion.AngleAxis(45,Vector3.up) * new Vector3(x, 0, z); 

    transform.Translate(direction); 
} 

しかし、このことはスピードアップとスローダウンの望ましくない効果をもたらします。私がボタンを押すと最高スピードまでスピードアップして動き続け、リリースするとスムーズにスピードを落とします。しかし、私はそれを即座に止めたい。ボタンを押すと、速度は最大値になり、リリース時には0になります。

答えて

5

Input.GetAxisRawは平滑化フィルタリングを適用していません。徐々に減速するのではなく、すぐに停止するべきです。

void Update() 
{ 
    var x = Input.GetAxisRaw("Horizontal") * Time.deltaTime * 6; 
    var z = Input.GetAxisRaw("Vertical") * Time.deltaTime * 6; 

    Vector3 direction = Quaternion.AngleAxis(45,Vector3.up) * new Vector3(x, 0, z); 

    transform.Translate(direction); 
} 
関連する問題