Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public CollisionFlags Move(Vector3 motion);

Описание

Обеспечивает движение GameObject с присоединенным компонентом CharacterController.

Движение CharacterController.Move перемещает GameObject в заданном направлении. Для данного направления требуются абсолютные значения дельты движения. Столкновение препятствует выполнению Move. Возврат, CollisionFlags, указывает направление столкновения: Нет, Стороны, Сверху и Снизу. CharacterController.Move не использует гравитацию.

В приведенном ниже примере показано, как использовать CharacterContoller.Move. Update вызывает Move для изменения положения игрока. Кроме того, Jump изменяет положение игрока в вертикальном направлении.

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { private CharacterController controller; private Vector3 playerVelocity; private bool groundedPlayer; private float playerSpeed = 2.0f; private float jumpHeight = 1.0f; private float gravityValue = -9.81f; private void Start() { controller = gameObject.AddComponent<CharacterController>(); } void Update() { groundedPlayer = controller.isGrounded; if (groundedPlayer && playerVelocity.y < 0) { playerVelocity.y = 0f; } Vector3 move = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); controller.Move(move * Time.deltaTime * playerSpeed); if (move != Vector3.zero) { gameObject.transform.forward = move; } // Changes the height position of the player.. if (Input.GetButtonDown("Jump") && groundedPlayer) { playerVelocity.y += Mathf.Sqrt(jumpHeight * -3.0f * gravityValue); } playerVelocity.y += gravityValue * Time.deltaTime; controller.Move(playerVelocity * Time.deltaTime); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3