public float movespeed = 0.0f;
private float x;
private float y;
private float z;
private CharacterController controller;
private Vector3 moveDirection;
void Update() {
Vector3 pos = GameObject.FindWithTag("Player").transform.position;
x = pos.x;
y = pos.y;
z = pos.z;
moveDirection = Vector3.zero;
if(Input.GetKey(KeyCode.A))
transform.position = new Vector3(-1.3f, y, z);
else if(Input.GetKey(KeyCode.D))
transform.position = new Vector3(1.3f, y, z);
//moveDirection.x = Input.GetAxis("Horizontal") * movespeed;
moveDirection.z = movespeed;
controller.Move (moveDirection * Time.deltaTime);
}
Я хочу, чтобы мой игрок переместился между двумя точками оси х, которые равны -1.3 и 1.3, и с этим кодом выше я могу достичь этого, но он просто телепортируется (я знаю, что это код). Я хочу, чтобы переход был плавным. любые идеи, как я могу это достичь?Как плавно перемещать игрока между позициями?
Вы должны использовать LERP или SLERP со временем –
Вы можете попробовать 'Vector3.MoveTowards()' или, например, 'Vector3.Lerp(). –
Термин для этого - Tweening. – Krythic