Unity 3D - 相同物理大小的精灵

4
我正在尝试在任何设备上创建一个尺寸为5cm x 8cm的图像。问题是:不同设备具有不同的每英寸点数(dpi),这意味着我需要不同的像素大小来创建图像。如何计算这些不同的像素大小?
我的方法如下:
1.将厘米转换为英寸 float widthInches = 5f / 2.54f; // 1.9685f; float heightInches = 8f / 2.54f; // 3.1496f
2.找到像素大小 float realWidthSize = Screen.dpi * widthInches; float realHeightSize = Screen.dpi * heightInches;
我在我的设备上进行了这些测试,结果并不如预期。我做错了什么吗?

你的结果是什么?你的代码看起来应该可以工作。 - bpgeck
2
我缺少了一件事情!我需要将游戏宽度除以屏幕宽度再乘以一个系数。例如,我的游戏宽度是720p,屏幕宽度是1600,所以我需要乘以720/1600。这个方法可以使用,但并不适用于所有设备。 - brunok8
@brunok8 怎么获取游戏宽度和屏幕宽度? - Newboy11
1个回答

0

哦,抱歉,我忘记你在代码中使用了该属性!然而,请看一下 Sceen.dpi 返回的内容,有可能无法确定 DPI。 - Jaden Evanger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接