UNITY:如何获得以像素为单位的线条宽度?

UNITY: How to get the width of the line in pixels?

我正在做一个项目,你必须使用 LineRenderer 组件绘制任何东西,然后我使用线的位置处理你的绘图。要获得位置非常简单,但我需要知道你在游戏中选择的线宽。这是一个例子:

如您所见,我画了一个简单的图,但线的宽度由玩家选择。现在,对于此绘图,我为 LineRenderer 组件使用了 0.15 的宽度:

现在,我遇到的问题是如何获得线条的像素宽度。假设白色图像为 900x900 像素。在这种情况下,如何获得相对于用作背景的 RawImage 宽度的线宽(以像素为单位)以在其上绘制?提前谢谢你。

这取决于您的精灵导入设置,特别是每单位像素 属性。比方说,您导入 900x900 像素的图像,每单位 90 像素。然后它将在 Unity 中为 10x10 单位。您的线条宽度为 0.15 个单位(假设比例为 Vector3.One)。 0.15 units * 90 pixels/units = 13.5 pixels.

如果你的canvas是P像素宽,那么transform.localScale.x是X,LineRenderer.widthMultiplier是W,那么线宽是像素应为 (P / X) * W.