1.7 KiB
1.7 KiB
title, date, excerpt, tags, rating
| title | date | excerpt | tags | rating | |||
|---|---|---|---|---|---|---|---|
| Slate扩展 | 2026-05-03 00:00:00 | 垂直文本对齐、独立透明度、文本溢出省略、富文本图片、几何缓存 |
|
⭐ |
Slate 扩展
返回 UI
概述
ARC 引擎对 Slate 框架进行了多项扩展,主要围绕文本渲染和 Widget 性能优化。
1. 垂直文本对齐
新增 ETextJustifyV::Type 枚举,为 STextBlock 和 SRichTextBlock 添加垂直对齐支持:
Top— 顶部对齐Center— 垂直居中Bottom— 底部对齐
格斗游戏 UI 中常需要文本在固定高度区域内垂直居中。
2. 独立阴影/描边透明度
Shadow 和 Outline 的颜色不受父 Widget 透明度影响:
标准 UE4:文字透明度 50% → Shadow 也跟着变为 50%
ARC 修改:文字透明度 50% → Shadow 保持自身设定的透明度
用于格斗游戏中文字淡入淡出时保持描边清晰可见。
3. 文本溢出省略
按高度截断文本并添加省略号(...)。标准 UE4 只支持按宽度截断。
4. 富文本图片运行
SRichTextBlock 扩展了图片嵌入能力:
- 动态 Brush 支持(运行时更换图标)
- 范围创建(基于文本范围插入图片)
5. 几何缓存
在 SWidget 上新增几何缓存机制:
void SetCachedGeometry();
void UpdateGeometryAllChildren();
减少每帧的 Layout 计算开销,对格斗游戏 60fps 的帧预算至关重要。
修改文件列表
涉及 Source/Runtime/Slate/ 和 Source/Runtime/SlateCore/ 下约 26 个文件,主要覆盖:
STextBlock.h/.cpp— 垂直对齐、溢出SRichTextBlock.h/.cpp— 富文本图片SWidget.h/.cpp— 几何缓存FontCache相关 — 文本阴影/描边独立透明度