Найти в Дзене

Скрипт для движения персонажа в Unity3d

Если нужно объяснение напишите в комментарии. На персонаже должен висеть CharacterController. using System.Collections; using System.Collections.Generic; using UnityEngine; public class FPSInput : MonoBehaviour { public float speed = 6.0f; public float gravity = -9.8f; private CharacterController _charControler; void Start() { _charControler = GetComponent<CharacterController>(); } void Update () { float deltaX = Input.GetAxis("Horizontal") * speed; float deltaZ = Input.GetAxis("Vertical") * speed; Vector3 movement = new Vector3(deltaX,0,deltaZ); movement = Vector3.ClampMagnitude(movement,speed); movement.y = gravity; movement*=Time.deltaTime; movement = transform.TransformDirection(movement); _charControler.Move(movement); } }

Если нужно объяснение напишите в комментарии.

На персонаже должен висеть CharacterController.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FPSInput : MonoBehaviour {
public float speed = 6.0f;
public float gravity = -9.8f;
private CharacterController _charControler;
void Start() {
_charControler = GetComponent<CharacterController>();
}
void Update () {
float deltaX = Input.GetAxis("Horizontal") * speed;
float deltaZ = Input.GetAxis("Vertical") * speed;
Vector3 movement = new Vector3(deltaX,0,deltaZ);
movement = Vector3.ClampMagnitude(movement,speed);
movement.y = gravity;
movement*=Time.deltaTime;
movement = transform.TransformDirection(movement);
_charControler.Move(movement);
}
}