Поворот объекта с помощью Sin и Cos с использованием Time.deltaTime - PullRequest
0 голосов
/ 10 февраля 2019

Я хотел бы знать, как можно перемещать объект с помощью time.deltaTime, когда его можно перемещать только по кругу.

В этом случае я имею дело с вращающейся камеройвокруг игрока.

    _GoalX += Input.GetAxis("Mouse X");

    float y = _PlayerHeight;
    float x = Mathf.Cos(_GoalX);
    float z = Mathf.Sin(_GoalX);
    transform.localPosition = new Vector3(x, y, z);

Камера не должна быть помещена сразу в конечную позицию, но со временем, перемещаясь по кругу вокруг игрока.

Я не могу использовать Vector3.Lerp(startvector, targetvector), потому что тогда камера может попасть в плеер.

1 Ответ

0 голосов
/ 11 февраля 2019

В обновлении вы можете сделать это так:

void update(){
angle += RotateSpeed * Time.deltaTime;
Vector3 offset = new Vector3(Mathf.Sin(_angle)* xRadius, _PlayerHeight, Mathf.Cos(_angle)* zRadius);
transform.position = _centre + offset;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...