Files
BlueRoseNote/03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/UI/Slate扩展.md

69 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Slate扩展
date: 2026-05-03 00:00:00
excerpt: 垂直文本对齐、独立透明度、文本溢出省略、富文本图片、几何缓存
tags:
- ARC
- UI
- Slate
rating: ⭐
---
# 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` 上新增几何缓存机制:
```cpp
void SetCachedGeometry();
void UpdateGeometryAllChildren();
```
减少每帧的 Layout 计算开销,对格斗游戏 60fps 的帧预算至关重要。
## 修改文件列表
涉及 `Source/Runtime/Slate/``Source/Runtime/SlateCore/` 下约 26 个文件,主要覆盖:
- `STextBlock.h/.cpp` — 垂直对齐、溢出
- `SRichTextBlock.h/.cpp` — 富文本图片
- `SWidget.h/.cpp` — 几何缓存
- `FontCache` 相关 — 文本阴影/描边独立透明度