Unity - 主摄像头如何在比它小的情况下显示整个 canvas?
Unity - How can the main camera show the entire canvas while being smaller than it?
我对 Unity 比较陌生,一直在学习 Udemy 的 2D 游戏编程课程。让我印象深刻的一件事是,与相机相比,我们创建了一个巨大的 canvas,但当我开始游戏时它显示了整个 canvas。如果要渲染整个 canvas,相机 location/size 有什么意义?更具体地说,camera和canvas是什么关系?
我研究了下,发现可以把canvas的Render Mode改成跟camera一样大小,这样问题就解决了。仍然不太明白它们为什么以及如何工作。
这是一张图片来证明我的意思:
您的 canvas 设置为屏幕 space 覆盖,这意味着它呈现在 camera/s 呈现到屏幕上的所有内容之上。所以它与相机无关,它的大小将取决于游戏视图或显示分辨率。
屏幕 space 摄像头将使其呈现在特定摄像头的所有其他内容之上,并随摄像头调整大小。
而世界 space 将像任何其他游戏对象一样将 canvas 放入世界。
https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/UICanvas.html
使用 Canvas 屏幕渲染模式 Space - 相机 canvas 的大小将始终基于平面距离值 。
现在,如果您想要 canvas 扩展到相机可以看到的范围之外,那么您必须在主 canvas 下制作子 canvas,然后您可以调整大小和随心所欲。
我对 Unity 比较陌生,一直在学习 Udemy 的 2D 游戏编程课程。让我印象深刻的一件事是,与相机相比,我们创建了一个巨大的 canvas,但当我开始游戏时它显示了整个 canvas。如果要渲染整个 canvas,相机 location/size 有什么意义?更具体地说,camera和canvas是什么关系?
我研究了下,发现可以把canvas的Render Mode改成跟camera一样大小,这样问题就解决了。仍然不太明白它们为什么以及如何工作。
这是一张图片来证明我的意思:
您的 canvas 设置为屏幕 space 覆盖,这意味着它呈现在 camera/s 呈现到屏幕上的所有内容之上。所以它与相机无关,它的大小将取决于游戏视图或显示分辨率。
屏幕 space 摄像头将使其呈现在特定摄像头的所有其他内容之上,并随摄像头调整大小。
而世界 space 将像任何其他游戏对象一样将 canvas 放入世界。
https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/UICanvas.html
使用 Canvas 屏幕渲染模式 Space - 相机 canvas 的大小将始终基于平面距离值 。
现在,如果您想要 canvas 扩展到相机可以看到的范围之外,那么您必须在主 canvas 下制作子 canvas,然后您可以调整大小和随心所欲。