Передвигает персонажа со скоростью speed
.
Скорость относительно оси-Y игнорируется. Скорость в метрах/сек. Гравитация применяется автоматически. Возвращает если персонаж на земле. Рекомендуется вызывать Move или SimpeMove только один раз за кадр.
var speed : float = 3.0; var rotateSpeed : float = 3.0;
function Update () { var controller : CharacterController = GetComponent.<CharacterController>();
// Rotate around y - axis transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0); // Move forward / backward var forward : Vector3 = transform.TransformDirection(Vector3.forward); var curSpeed : float = speed * Input.GetAxis ("Vertical"); controller.SimpleMove(forward * curSpeed); }
@script RequireComponent(CharacterController)
using UnityEngine; using System.Collections;
[RequireComponent(typeof(CharacterController))] public class ExampleClass : MonoBehaviour { public float speed = 3.0F; public float rotateSpeed = 3.0F; void Update() { CharacterController controller = GetComponent<CharacterController>(); transform.Rotate(0, Input.GetAxis("Horizontal") * rotateSpeed, 0); Vector3 forward = transform.TransformDirection(Vector3.forward); float curSpeed = speed * Input.GetAxis("Vertical"); controller.SimpleMove(forward * curSpeed); } }