Итак, вот моя проблема в двух словах: я хочу знать, как появляется объект в середине экрана, что означает, что я хочу найти значения ширины и высоты экрана в мировых единицах.
Положение камеры: 0,23, -10
Вращение камеры: 60,0,0
Итак, я попробовал это:
Vector3 screenWorldSize = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, -10));
// In the Update function
If(Input.GetKeyDown(Keycode.P))
{
GameObject tempObject = Instantiate(gamePrefab);
tempObject.transform.position = new Vector3(screenWorldSize.x, 1.5f, 10f);
}
НоПоложение tempObject неверно (не посередине), поэтому я попытался Debug.Log(screenWorldSize)
, и я получил этот результат (-10.3, 28.8, -20.0)
Я попытался использовать Camera.main.ViewPortToWorldPoint()
с (0,0,-10)
и (1,0,-10)
, и я получилпочти тот же результат.
Вот изображение сцены ..
Есть что-то, чего я не понимаю? Как получить края экрана в мировых точках?