【问题标题】:Unity 3D - Sprite with the same physical sizeUnity 3D - 具有相同物理尺寸的精灵
【发布时间】:2015-11-20 23:26:27
【问题描述】:

我正在尝试在任何设备上创建正好为 5cm x 8cm 的图像。问题是:这些设备的每英寸点数 (dpi) 不同,这意味着我需要不同的像素大小来创建图像。如何计算这些不同的像素大小?

我的做法:

  1. 转换厘米 -> 英寸

    浮动宽度英寸 = 5f / 2.54f; // 1.9685f;

    浮动高度英寸 = 8f / 2.54f; // 3.1496f

  2. 以像素为单位查找大小

    float realWidthSize = Screen.dpi * widthInches;

    float realHeightSize = Screen.dpi * heightInches;

我在我的设备上进行了这些测试,结果与预期不符。我做错了什么?

【问题讨论】:

  • 你的结果是什么?您的代码看起来应该可以工作。
  • 我错过了一个东西!我需要将游戏宽度除以屏幕宽度。比如我的游戏宽度是720p,屏幕宽度是1600,所以需要乘以720/1600。它有效,但不适用于所有设备。

标签: unity3d size screen pixel dpi


【解决方案1】:

这可能会有所帮助!您可以使用此属性来确定显示器的 DPI!

http://docs.unity3d.com/ScriptReference/Screen-dpi.html

【讨论】:

  • 哦,对不起,我忘记了您在代码中使用了该属性!但是,看看 Sceen.dpi 返回的是什么,它可能无法确定 DPI。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 2016-11-29
  • 1970-01-01
  • 2017-08-11
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多