【问题标题】:Unity camera zoom for specific object (2D)特定对象的统一相机缩放(2D)
【发布时间】:2018-11-17 15:49:03
【问题描述】:

我想仅在 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 元素做出反应,如何排除不能“缩放”的元素。

是否有人可以向我指出一个很好的资源来解释如何实现这一目标,或者给我指导以便我可以自己探索? (如果你能做到的话,甚至给出解决方案^^)

谢谢。

【问题讨论】:

    标签: c# unity3d camera zooming


    【解决方案1】:

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

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

    【讨论】:

    • 就像放大的魅力一样。我仍然有缩小的问题,当我向后放大比第一个状态时,图像似乎“加倍”了。这是一个屏幕,知道发生了什么吗? prntscr.com/ljl684
    • 检查您的相机。确保 Clear Flags 设置为 Solid ColorSkyBox
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多