Unity 6.3
0 онлайн 62 гостей 3 в системе
Вход

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); } }