在图形 / 游戏开发中,为何 Pixels Per Unit(PPU)数值越小,物体在屏幕上显示的尺寸越大?
1. 什么是 PPU?
PPU(Pixels Per Unit)指的是 多少像素对应游戏世界中的一个单位(Unit)。
在 Unity 等游戏引擎中,1 Unit
通常被视为世界空间的基本长度,比如 1 米。
2. PPU 与物体大小的关系
-
PPU 数值大
→ 每 1 个 Unit 需要更多像素来表示。
→ 物体在世界坐标里占用的单位数变小。
→ 结果:物体在屏幕上显示得更小。 -
PPU 数值小
→ 每 1 个 Unit 只需要较少的像素来表示。
→ 物体在世界坐标里占用的单位数变大。
→ 结果:物体在屏幕上显示得更大。
3. 举个例子
假设有一张 512×512 像素 的图片:
-
PPU = 100
- 1 Unit = 100 像素
- 图片大小 = 512 ÷ 100 = 5.12 Units
- 在屏幕上比较小
-
PPU = 50
- 1 Unit = 50 像素
- 图片大小 = 512 ÷ 50 = 10.24 Units
- 在屏幕上更大
4. 本质原因
关键在于:
物体在世界里的尺寸 = 图片像素大小 ÷ PPU
- PPU 越大 → 除得越多 → 世界尺寸越小
- PPU 越小 → 除得越少 → 世界尺寸越大
5. 特别说明
Unit 的核心是:开发者先定义 “1 个 Unit 在屏幕上的 “视觉大小”(比如预设 “1 Unit = 屏幕上 200 像素”),再通过 PPU 反向匹配 “需要多大的像素资源”,而非用 PPU 直接计算屏幕像素尺寸,即 PPU 是用于 资源像素和 Unit 进行换算,而 Unit 与屏幕像素的换算由开发者事先定义。
总结:
PPU 越小,1 个 Unit 对应的像素越少,所以同样的图片在世界中占用的单位数更多,导致在屏幕上显示得更大。