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

Unity camera zoom for specific object (2D)

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

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

我想放大背景(这是一张图片)和上面的圆圈,但不放大游戏视图周围的buttons/text。

我已经用下面的代码做了一些测试:

   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 元素做出反应,如何排除不得 "zoomed".

的元素

有人能给我指出一个很好的资源来解释如何实现这一点,或者给我一些指导以便我可以自己探索吗? (如果你有能力,甚至可以给出解决方案^^)

谢谢。

默认情况下,canvas 设置为在 Screen Space 中呈现。

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