gpt4 book ai didi

unity3d - 如何使 2D 碰撞器随它们绑定(bind)到的 UI 元素缩放?

转载 作者:行者123 更新时间:2023-12-01 13:46:42 25 4
gpt4 key购买 nike

我对 Unity 还是很陌生,如果能就此问题提供任何帮助,我将不胜感激。

我有这个设置,使用我设计时使用的屏幕分辨率效果很好。我相信当我改变分辨率时 UI 元素可以很好地缩放,但我刚刚发现我制作的碰撞器(图像中的红线)没有。目前,我正在使用添加到 Canvas 的边缘碰撞器。我还尝试为每个面板添加单独的边缘碰撞器。然后我尝试了盒子对撞机。我试过将面板 + 对撞机变成预制件。都无济于事。我还尝试通过脚本设置边缘碰撞器的点,以便它们始终包裹在面板周围,但我不会发生任何碰撞(注意:我不知道如何显示/渲染这个运行时生成的碰撞器所以我不能完全确定它们是否正是我希望它们成为的样子)。

tldr;有人知道如何使碰撞器缩放或环绕它们绑定(bind)到的 UI 元素吗?

ui layout image

最佳答案

因此,碰撞器与 UI 配合良好。请记住,碰撞器以单位工作,但 Canvas 以像素为单位。

如果您需要使用图像大小设置 BoxCollider2D 组件大小,您需要检查您使用的值 Reference Pixels per Unit Canvas Scaler 上的参数。

这意味着,如果您的图像宽度为 100 像素,您需要将碰撞器比例设置为 100 个单位。

这是你需要做的:

gameObject.GetComponent<BoxCollider2D>().size = new Vector2 (
gameObject.GetComponent<RectTransform>().sizeDelta.x,
gameObject.GetComponent<RectTransform>().sizeDelta.y
);

关于unity3d - 如何使 2D 碰撞器随它们绑定(bind)到的 UI 元素缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35477964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com