Unity3D 画布。我怎样才能获得相机?

Luc*_*und 3 camera android canvas unity-game-engine

我在我的项目中使用 Unity 原生 UI。
在场景中,我有游戏对象“Canvas”,在这个对象中我使用了一些 UI 对象。
但我在 Canvas 中没有找到任何相机,而且我不知道如何从代码中获取它。在某些任务中,我需要将 ScreenPosition 转换为 WorldPosition,但我不能。
有谁能够帮助我。如何在代码或其他替代方案中获取相机?

Erw*_*win 5

Canvas 对象中有一个Canvas.worldCamera 字段,允许您访问用于渲染 Canvas 的相机。仅当您使用渲染模式Screen Space - CameraWorld Space. 如果您使用渲染模式,Screen Space - Overlay从画布角度来看,世界空间和屏幕空间之间并没有真正的区别,因为元素的位置与其在屏幕上渲染的像素位置相匹配。

但是,如果您的 3D 世界有一个单独的相机,并且您想要在该相机的空间和屏幕空间之间进行转换,您可以使用Camera.main(这将获得带有标签的第一个相机MainCamera)或在脚本中添加一个 Camera 字段来访问它从检查器手动链接主摄像头。