【问题标题】: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

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多