В настоящее время у меня есть следующие два вопроса:Сброс положение относительно вращения
Первая проблема в том, что, когда я сбросить свою позицию камеры я должен также сбросить мое вращение камеры. Это связано с тем, что моя камера смещена в положение немного от моего плеера на оси z и y , и, очевидно, эти значения должны меняться в зависимости от моих камер вращения, хотя я не уверен, как определить, что эти значения должно быть.
Мой второй вопрос заключается в том, что мое вращение использует raycast найти середине экрана и определить его вращения происхождения, хотя это, кажется, немного от середины экрана, как когда он поворачивает вращение координат движется также, если это действительно находится в середине экрана не должно ли оно быть полностью неподвижным? Также есть лучший и менее дорогой способ достижения моего желаемого вращения?
Соответствующий фрагмент кода:
void RotateCamera()
{
//Find midle of screen
Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width/2, Screen.height/2, 0));
RaycastHit hitInfo;
//Checks if ray hit something
if (Physics.Raycast(ray, out hitInfo))
{
//Rotate left and right
if (Input.GetKey(KeyCode.RightArrow))
{
transform.RotateAround(hitInfo.point, -Vector3.up, rotationSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.RotateAround(hitInfo.point, Vector3.up, rotationSpeed * Time.deltaTime);
}
}
//Draws Raycast
Debug.DrawRay(ray.origin, ray.direction * 100, Color.yellow);
}
void ResetCameraPosition()
{
//Reset and lock camera position
transform.rotation = Quaternion.identity;
transform.position = player.transform.position + cameraOffset;
}
Можете ли вы объяснить немного больше того, что вы на самом деле хотите сделать для камеры? Я думаю, что получаю, что вы хотите повернуть вокруг точки и по требованию сбросить текущие позиции игроков, но, пожалуйста, подтвердите. – Absinthe
Да, и скриншот или рисунок (даже программист) помогут много –
@Absinthe Да, извините, что в основном это я хочу повернуть камеру вокруг самой середины экрана, так что в основном она вращается вокруг того, что когда-либо это отлично смотря, код, который я сейчас делаю, хорошо справляется с этим, но его фокусная точка слегка перемещается при повороте, и это кажется дорогостоящим способом расчета. А что касается части вращения перезагрузки, я хочу сбросить свою камеру так, как она уже повернута, хотя она позиционируется таким образом, чтобы увидеть моего персонажа. Надеюсь, это очистит его. Благодаря! –