vault backup: 2026-05-03 20:37:58
This commit is contained in:
68
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/UI/Slate扩展.md
Normal file
68
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/UI/Slate扩展.md
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
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` 相关 — 文本阴影/描边独立透明度
|
||||
Reference in New Issue
Block a user