0
Привет, ребята, я написал этот код, чтобы повернуть объект вокруг объекта центра, но я делаю что-то неправильно, может кто-нибудь объяснить мне, что :)?Поверните объект вокруг объекта центра
public void RotateCamera(GameObject _center)
{
Vector3 mousePos = camera.WorldToScreenPoint(Input.mousePosition);
Vector3 centerPos = camera.WorldToScreenPoint(_center.transform.position);
float angle = Vector3.Angle(centerPos,mousePos);
Camera.mainCamera.transform.Rotate(centerPos,angle);
}
Обновленный код по-прежнему не работает:
void Update()
{
RotateCamera(_player);
}
public void RotateCamera(GameObject _center)
{
float speedMod = 10.0f;
Vector3 mousePos = camera.WorldToScreenPoint(Input.mousePosition);
Vector3 centerPos = _center.transform.position;
Camera.mainCamera.transform.LookAt(centerPos);
Camera.mainCamera.transform.RotateAround (centerPos,mousePos,20 * Time.deltaTime * speedMod);
}
Да, но он должен видеть угол между мышью позиции и цели. Поэтому, если я нажимаю на правую сторону объекта, он будет вращаться вправо или, если я нажму на левую сторону объекта, он будет вращаться влево. Этот код не делает это правильно? –
O Ждать, могу ли я заменить vector3 на rotateAround для положения мыши? –
Я обновил код выше, но он все еще не работает –