下表描述了面板设置资产属性:
| 属性 | 描述 | |
|---|---|---|
| 主题样式表 (Theme Style Sheet) | 将默认 TSS 文件应用于面板渲染的每个 UIDocument。 | |
| 文本设置 (Text Settings) | 设置此面板的用户界面工具包文本设置 (UITK Text Settings) 资产。如果未设置此资源,UI 工具包会自动创建一个具有默认设置的资产。 | |
| 目标纹理 (Target Texture) | 设置面板的渲染纹理。 对于 3D 游戏,在场景中显示 3D 几何体的 UI。 |
|
| 目标显示 (Target Display) | 设置面板的显示。仅当未设置目标纹理时,才进行此设置,因为目标纹理优先于目标显示。 | |
| 排列顺序 (Sort Order) | 设置场景使用多个面板时__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息 See in Glossary 系统绘制面板的顺序。具有较高排列顺序 (Sort Order) 值的面板绘制在具有较低值的面板之上。 |
|
| 缩放模式 (Scale Mode) | 设置屏幕大小变化时面板的 UI 缩放方式。 | |
| 缩放模式参数 (Scale Mode Parameters) | 根据缩放模式 (Scale Mode) 设置显示不同属性。 | |
| 动态图集设置 (Dynamic Atlas Settings) | 指定动态图集系统使用的设置。 | |
| 最小图集大小 (Min Atlas Size) | 设置图集纹理的最小大小(宽度/高度),以像素为单位。 | |
| 最大图集大小 (Max Atlas Size) | 设置图集纹理的最大大小(宽度/高度),以像素为单位。 | |
| 最大子纹理大小 (Max Sub Texture Size) | 设置可添加到图集的纹理的最大大小(宽度/高度)。 | |
| 活动过滤器 (Active Filters) | 设置动态图集系统用于从纹理图集中排除纹理的过滤器。 | |
| 清除设置 (Clear Settings) | 设置面板在渲染前的清除方式。 | |
| 清除颜色 (Clear Color) | 设置面板是否在渲染之前清除颜色缓冲区。 | |
| 清除颜色值 (Clear Color Value) | 设置面板用于清除颜色缓冲区的颜色。 | |
| 清除深度模板 (Clear Depth Stencil) | 设置面板是否在渲染之前清除深度模板。 | |
| 缓冲区管理 (Buffer Management) | 设置面板如何管理其缓冲区。 | |
| 顶点预算 (Vertex budget) | 设置面板使用的近似顶点数。这有助于以合适的大小初始化顶点缓冲区,从而减少绘制调用。值为 0 时使用默认值进行 UI 渲染。 |
|
下表描述了每种缩放模式的参数:
| 缩放模式 | 缩放模式参数|描述 |
|—————-|————————–|—————-|
| 恒定像素大小 (Constant Pixel Size) | |无论屏幕大小如何,元素都保持相同的像素大小。 |
||缩放 (Scale) |将元素大小乘以此值。此值必须大于 0。 |
| 恒定物理大小 (Constant Physical Size) | |无论屏幕大小和分辨率如何,元素都保持相同的物理大小。|
||参考 DPI (Reference DPI) |将参考 DPI ** 值设置为 UI 的设计目标屏幕密度。渲染 UI 时,系统会尝试查找屏幕的实际 DPI 值,并将其与参考 DPI** 进行比较。如果两者不同,系统会相应缩放 UI。 |
||回退 DPI (Fallback DPI) | 如果 UI 系统无法确定屏幕 DPI,将使用此值。 |
| 屏幕大小缩放 (Scale with Screen Size) | |将元素设置为根据屏幕大小增大或缩小。|
||屏幕匹配模式 (Screen Match Mode) |设置当屏幕分辨率与参考分辨率不同时如何缩放元素:
0,则匹配宽度;如果值为 1,则匹配高度;如果值为 0.4,则按 40% 在宽度和高度之间进行线性插值。|
可以同时应用多个过滤器。下表介绍了各个活动过滤器。
| 过滤器 | 描述 |
|---|---|
| 无 (Nothing) | 禁用所有过滤器。 |
| 所有 (Everything) | 应用所有过滤器。 |
| 可读性 (Readability) | 排除 Texture2D.isReadable 设置为 true 的纹理。通过 Texture2D.SetPixels 等 API 添加纹理时,Unity 无法自动更新动态图集。您可以使用 RuntimePanelUtils.SetTextureDirty 强制图集更新给定纹理的内容。 |
| 大小 (Size) | 排除大于最大子纹理大小 (Max Sub Texture Size) 设置的纹理。 较大的纹理可以迅速使图集饱和。如果不想向图集添加大型纹理,请选择此过滤器并调整最大子纹理大小 (Max Sub Texture Size) 以满足您的需求。默认情况下,不允许大于 64x64 的纹理进入图集。 |
| 格式 (Format) | 存储每通道精度为 8 位的 sRGB 编码数据,并排除在添加到图集时会丢失精度或被截断的子纹理,例如 R16G16B16A16_FLOAT 纹理。 |
| 颜色空间 (Color Space) | 当项目位于线性颜色空间中时,排除 R8G8B8A8_UNORM 内容。 在线性颜色空间中,动态图集的 RenderTexture 格式为 R8G8B8A8_SRGB。RenderTexture 中存储的数据经过 sRGB 编码。读取时会线性化,写入时会编码为 sRGB。由于格式精度有限,图集中存储的 R8G8B8A8_UNORM 内容可能会导致条带化。 |
| 过滤模式 (Filter Mode) | 排除子纹理过滤模式(例如 Point 或 Bilinear)与图集过滤模式不匹配的纹理。这样可以防止子纹理过滤模式与图集过滤模式之间的不匹配。不匹配可能会导致意外的模糊或块性。 |