private void OnWalk(float axis) { KeyboardControls keyboard; PlayerControls player; if (!KeyboardControls.TryGetInstance(out keyboard) || !PlayerControls.TryGetInstance(out player)) { return; } Vector3 forward = SceneObjects.Instance.CameraControls.GetFlatForward(); Vector3 right = SceneObjects.Instance.CameraControls.GetFlatRight(); WalkDirection = Vector3.zero; WalkDirection += keyboard.CheckKey(player.Forward) ? forward : Vector3.zero; WalkDirection += keyboard.CheckKey(player.Back) ? -forward : Vector3.zero; WalkDirection += keyboard.CheckKey(player.Right) ? right : Vector3.zero; WalkDirection += keyboard.CheckKey(player.Left) ? -right : Vector3.zero; WalkDirection.Normalize(); }