CharacterController.SimpleMove
Declaration
public bool SimpleMove(Vector3 speed);Описание
Перемещает символ с помощью speed.
Скорость вдоль оси y игнорируется. Скорость в единицах/с. Гравитация применяется автоматически. Возвращает true, если персонаж заземлен. Рекомендуется выполнять только один вызов Move или SimpleMove на кадр.
using UnityEngine; using UnityEngine.InputSystem;
[RequireComponent(typeof(CharacterController))] public class CharacterMover : MonoBehaviour { private float moveSpeed = 3.0f; private float rotationSpeed = 90.0f; // degrees per second
public CharacterController characterController;
[Header("Input Actions")] public InputActionReference moveAction;
private void OnEnable() { moveAction.action.Enable(); }
private void OnDisable() { moveAction.action.Disable(); }
void Update() { // Rotate character transform.Rotate(Vector3.up, moveAction.action.ReadValue<Vector2>().x * rotationSpeed * Time.deltaTime);
// Move character Vector3 moveDirection = transform.forward * moveAction.action.ReadValue<Vector2>().y * moveSpeed; characterController.SimpleMove(moveDirection); } }