Unity3D画布。我怎么能拿到相机?

时间:2015-04-16 08:31:14

标签: android canvas unity3d camera

我在项目中使用了Unity本地UI 在场景中我有GameObject" Canvas"在这个对象中我使用了一些UI对象 但我在Canvas中找不到任何相机,我也不知道如何从代码中获取相机。在某些任务中,我需要将ScreenPosition转换为WorldPosition,但我不能 有谁能够帮我。如何在代码或其他替代方案中获取相机?

1 个答案:

答案 0 :(得分:3)

Canvas对象中有一个Canvas.worldCamera field,允许您访问用于渲染Canvas的相机。仅当您使用渲染模式Screen Space - CameraWorld Space时,此功能才可用。如果使用渲染模式Screen Space - Overlay,则画布透视图中的世界空间和屏幕空间之间并没有真正的区别,因为元素的位置与屏幕上呈现的像素位置相匹配。

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