【问题标题】:UNITY: How to get the width of the line in pixels?UNITY:如何以像素为单位获得线条的宽度?
【发布时间】:2020-07-30 21:30:31
【问题描述】:
我正在做一个项目,您必须使用 LineRenderer 组件绘制任何东西,然后我使用 Line 的位置处理您的绘图。获得位置非常简单,但我需要知道您在游戏中选择的线宽。这是一个例子:
如你所见,我做了一个简单的绘图,但线的宽度将由玩家选择。现在,对于这个绘图,我为 LineRenderer 组件使用了 0.15 的宽度:
现在,我遇到的问题是如何获得线条的宽度(以像素为单位)。假设白色图像是 900x900 像素。在这种情况下,我怎样才能获得相对于用作背景的 RawImage 宽度以在其上绘制的线的宽度(以像素为单位)?提前谢谢你。
【问题讨论】:
标签:
unity3d
canvas
rawimage
【解决方案1】:
这取决于精灵的导入设置,特别是每单位像素属性。假设您导入 900x900 像素的图像,每单位 90 像素。然后它将是 Unity 中的 10x10 单位。您的线宽度为 0.15 个单位(假设比例为 Vector3.One)。 0.15 units * 90 pixels/units = 13.5 pixels.
【解决方案2】:
如果你的画布是P像素宽,它的transform.localScale.x是X,LineRenderer.widthMultiplier是W,那么以像素为单位的线宽应该是(P / X) * W。