1

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

在此处输入图像描述

如您所见,我做了一个简单的绘图,但线的宽度将由玩家选择。现在,对于这个绘图,我为 LineRenderer 组件使用了 0.15 的宽度: 在此处输入图像描述

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

4

2 回答 2

1

如果你的画布是P像素宽,它的 transform.localScale.x 是X并且 LineRenderer.widthMultiplier 是W,那么以像素为单位的线宽应该是(P / X) * W

于 2020-07-31T14:30:05.487 回答
1

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

于 2020-07-31T09:40:39.517 回答