Unity相机缩放特定对象(2D)

时间:2018-11-17 15:49:03

标签: c# unity3d camera zoom

我只想在2D模式下向前和向后缩放特定元素。

  • 我有一个正交摄影机。
  • 我有一个画布,其中包含不得更改大小或
    的UI元素 位置。

  • 此画布中还有一些元素必须放大或

一张价值1000字的图片:http://prntscr.com/ljjp8i

我想放大背景(它是图像)及其上的色环,而不是围绕游戏视图的按钮/文本。

我已经使用以下代码进行了测试:

   void Update()
    {
        if (Input.GetAxis("Mouse ScrollWheel") < 0) // back
        {
            Debug.Log("zoom out");
            cam.orthographicSize +=1;

        }
        if (Input.GetAxis("Mouse ScrollWheel") > 0) // forward
        {
            Debug.Log("zoom in");
        }
    }
}

不幸的是,它什么也没做。即使DEbug.Log进入了,视图也没有改变。 而且,我不知道它将如何对所有UI元素作出反应,如何排除不能“缩放”的元素。

有人能为我指出一个很好的资源来解释如何实现这一目标,或者给我一些指导性的东西,以便我自己探索吗? (或者,如果您不满意,甚至可以给出解决方案)

谢谢。

1 个答案:

答案 0 :(得分:1)

默认情况下,画布设置为在Screen Space中渲染。

您应该考虑为要缩放的对象创建单独的画布。将该画布的渲染模式设置为World Space,它应该受相机的正交尺寸影响。

enter image description here