0
我正在嘗試製作2D遊戲。 我有4個gameobjects,我想放置在屏幕的每個角落,即當我在手機上運行我的應用程序時,它應該在每個角落都可見。 所以我在劇本所做的是,有人可以向我解釋2D統一座標系嗎?
//GameObject 1 script
void Start(){
transform.position = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height));
}
//GameObject 2 script
void Start(){
transform.position = Camera.main.ScreenToWorldPoint(new Vector2(0, 0));
}
//And same for other 2 gameobjects...
,但我不是我的屏幕上看到任何對象。
感謝您的回覆。我實際上想要在每個角落放置遊戲對象的中心。作爲一個實驗,我打印出這個信息 - print(「Screen to World POINT:」+ Camera.main.ScreenToWorldPoint(new Vector2(0.0f,0.0f))); 結果是(-8.5f,-5.0f,-10.0f) 這是如何計算的?我的屏幕分辨率爲(1024,600)。 你能幫忙嗎? – s3e3
@ s3e3你在控制檯中看到的是統一的座標。 Unity不處理像素,它處理它自己的座標系。 (0,0)是屏幕的左下角。它不處理屏幕的像素。您可以通過Camera.pixelWidth /.pixelHeight獲得屏幕的像素大小。如果你想undist和映射座標團結的單位看看這裏:https://gamedev.stackexchange.com/questions/130047/how-does-the-unity-coordinate-system-map-to-screen-pixels – vmchar