2D Pixel Perfect | 2D完美像素
概览
2D完美像素工具包包含可以确保你的像素作品离散且清晰并且可以在运动过程中保持稳定的完美像素摄像机组件。
这是一个简单的可以进行所有分辨率变化时拉伸窗口的计算的组件,可以为用户避免很多麻烦。
用户可以通过这个组件的设置来调整摄像机窗口内像素图的渲染的定义,这些变化还可以通过在编辑器内运行模式在Game窗口中立即预览。
场景中的完美像素摄像机线框
在场景中给主摄像机GameObject附加上一个完美像素摄像机组件,Scene窗口在摄像机中间显示的两个绿色的边框就是这个组件的代表。绿实线框显示的是在Game窗口中可视的范围,虚线框显示的是参考分辨率。
参考分辨率就是你设计的资源的原本分辨率,对于组件的功能的影响会在后续文档中详细叙述。
使用这个组件之前,首先通过以下步骤确认你的精灵已经为最好的结果做好了正确的准备。
准备好你的精灵
- 把你的材质作为精灵导入到项目当中后,设置所有精灵每单位的像素数相同。
- 在精灵的检视窗口,将过滤模式选择为“点过滤”。
- 把压缩改成“无”。
- 按照以下步骤为精灵正确设置轴。
a. 打开选中的精灵的Sprite Editor。
b. 如果Sprite Mode设置成了Multiple,而且这些是多个精灵元素,点击其中的每一个单独选择。轴心点必须每个精灵单独设置。
c. Sprite 的选项下,在Pivot的下拉菜单中选择Custom。然后在Pivot Unit Mode下拉菜单中选择Pixels。 这个模式允许你以在像素中输入轴的位置,并且在你拖动轴的位置的时候自动对齐到像素角上的位置。
d. 如果需要的话,为每个精灵元素重复4c步骤。
对齐选项
为了确保精灵的像素移动相互一致,按下述步骤操作来为你的项目设置一个合适的对齐选项。
- 打开对齐选项 (路径: Edit > Snap Settings…)
- Move X/Y/Z 需要设置其数值为 1/资源的每单位像素值(上个步骤中设置过的)
- 对齐选项不会向前应用。如果在你的场景中存在已有的GameObject的话,选择它们中的每一个,然后点击Snap All Axes来应用对齐选项。
参考表格(为了对照方便不翻译属性名称)
组件的检视面板
属性 | 功能 |
---|---|
Asset Pixels Per Unit | 场景中组成一个单位的像素点个数 |
Reference Resolution | 设计资源时的原本分辨率 |
Upscale Render Texture | 激活这个选项可以以近似Reference Resolution创建一个临时的场景材质,这个材质之后会被升级 |
Pixel Snapping (unavailable whenUpscale Render Texture isenabled) | 激活这个功能可以将Sprite Renderer实时对齐到一个世界空间内的网格。 |
Crop Frame | 沿被检测的轴匹配Reference Resolution,用黑色长条裁切视口。 |
Stretch Fill(available when both X and Y are checked) | 激活可以在维持视口纵横比的时候延展视口来匹配屏幕分辨率。 |
Run In Edit Mode | 激活这个选项可以在编辑模式下预览摄像机设置的变化。 |
属性详解
Asset Pixels Per Unit(资源每单位像素数)
这个数值是Scene中组成每个单位的像素数。请把这个值与场景中所有精灵的每单位像素数相匹配。
Reference Resolution(参考分辨率)
这是你设计资源的时候的本来的分辨率。从这个分辨率起拉伸你的场景和资源的时候会在更高的分辨率下清晰地保存你的像素作品。
Upscale Render Texture(渲染材质升级)
默认情况下,场景是以最接近全屏的完美像素分辨率进行渲染的。
激活这个选项可以让场景在维持屏幕纵横比的时候,以一个很接近参考分辨率的临时材质组进行渲染。这个临时材质之后会进行升级来适配全屏。
最后的结果是没有锯齿的没有旋转过的像素,这对于一个游戏工程来说可能是理想中的视觉效果。
Pixel Snapping(像素对齐)
激活这个功能可以将Sprite Renderer实时对齐到一个世界空间中的网格。这个网格的大小基于Assets Pixels Per Unit的值。
像素对齐防止了子像素移动,让精灵看起来是一格一格移动的。这并不会影响任何GameObject的Transform位置。
Crop Frame(裁剪画面)
沿被检测的轴用黑色长条裁剪视口来匹配参考分辨率。
添加这些黑色长条是为了让Game窗口匹配全屏分辨率。
未裁剪
只有Y轴裁剪
Run In Edit Mode(在编辑模式中运行)
激活这个选项可以在编辑模式下预览摄像机设置的变化。
这会在活动的时候造成不停的变化。
Current Pixel Ratio(当前像素比)
渲染的精灵和它们原本大小的比值。
翻译对照表
术语 | 译文 |
---|---|
pivot | 轴 |
filter | 过滤 |
resolution | 分辨率 |
sprite | 精灵 |
Bounding box | 边框 |
gizmos | 线框 |
snap | 对齐 |
crop | 裁切 |
upscale | 提升(分辨率) |
Aspect ratio | 纵横比 |