2015-04-16 73 views
3

我在我的項目中使用統一原生用戶界面。
在場景中,我有GameObject「畫布」,在這個對象中我使用了一些UI對象。
但我沒有在畫布中找到任何相機,我不知道如何從代碼中獲取它。在某些任務中,我需要將ScreenPosition轉換爲WorldPosition,但我不能。
任何人都可以幫助我。如何使用代碼或其他方式獲取相機?Unity3D畫布。我如何獲得相機?

回答

3

Canvas對象中有一個Canvas.worldCamera field,它允許您訪問用於渲染Canvas的相機。這僅在使用渲染模式Screen Space - CameraWorld Space時可用。如果使用渲染模式Screen Space - Overlay,則從畫布角度來看,世界空間和屏幕空間之間並沒有真正的區別,因爲元素的位置與它在屏幕上呈現的像素位置相匹配。

如果你有一個單獨的相機爲你的3D世界,你想要在相機的空間和屏幕空間之間進行轉換,你可以使用Camera.main(這將得到第一臺相機的標籤MainCamera)或添加一個在您的腳本中的相機字段,並手動鏈接檢查器的主相機。