【问题标题】:ScrollRect not scrolling when canvas Render Mode is set to Screen Space - Camera当画布渲染模式设置为屏幕空间 - 相机时,ScrollRect 不滚动
【发布时间】:2022-03-21 05:22:57
【问题描述】:

您找到发生这种情况的原因了吗?我在这里遇到了同样的问题。

我有一个带有滚动条的画布正常工作,我需要将画布渲染模式设置为“屏幕空间 - 相机”,现在滚动条不再移动了。

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    当您将 Canva 的 渲染模式屏幕空间 - 叠加 更改为 屏幕空间 - 相机 时,一个名为 渲染的新插槽相机 将出现在画布 下。将您的主摄像头拖入此插槽。该相机将用于向 UI 元素发送事件。


    如果您已经这样做了,但问题仍然存在,请删除 ScrollRect 并创建一个新的。最后,如果ScrollRect 仍然没有移动,请确保没有其他 UI 对象阻挡它。

    可能是一个隐藏的面板或 0 alpha 的图像...层次结构标签中 ScrollRect 下方的任何 UI 对象都将阻止 ScrollRect 如果在其上方。

    编辑

    将主相机拖到 Render Camera 插槽后,Plane Distance 插槽就会出现。还要确保它没有设置为 0。我的设置为 100,如上面的屏幕截图所示,应该可以正常工作。

    【讨论】:

    • 谢谢,默认情况下,Canvas 上的平面距离 = 0,我将其设置为 1,现在滚动正常
    • @IgorCova 默认情况下,平面距离不应为 0。默认情况下,它应该在 100 附近。
    • 是的,我认为有人改变了这一点,或者我们正在使用具有不同默认值的不同 Unity 版本,但很高兴你解决了。编码愉快!
    【解决方案2】:

    您的滚动视图不起作用的原因可能有多种

    1. 我遇到了类似的问题。我的 canvas 有一个背景图像,所以我必须放置一个没有精灵的 Image 元素,并将 alpha 设置为“0”在滚动视图的 Content 中.

    2. 当您的视口字段不引用滚动矩形中的视口对象时

    3. 尝试改变运动类型

    【讨论】:

      【解决方案3】:

      由于场景中没有 EventSystem,我也遇到了这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-10
        • 2012-08-15
        • 2021-03-28
        • 1970-01-01
        • 1970-01-01
        • 2019-07-12
        • 2012-04-03
        相关资源
        最近更新 更多