TextRenderer 组件用于在 3D/2D 场景中显示文字,支持动态文本、自定义字体、多行显示、对齐方式等特性。
选中带有 TextRenderer 组件的实体,在右侧 Inspector 面板中配置以下属性:
属性 | 说明 |
---|---|
Text | 显示的文本内容(支持多行输入) |
Color | 文本颜色(RGBA格式) |
FontSize | 字体大小(单位:像素) |
Font | 自定义字体资源(默认使用系统字体) |
Width | 文本设计宽度(影响换行和布局,单位:场景单位) |
Height | 文本设计高度(影响截断和布局,单位:场景单位) |
LineSpacing | 行间距(单位:像素) |
FontStyle | 字体样式:None (默认)/ Bold (加粗)/ Italic (斜体) |
HorizontalAlignment | 水平对齐:Left (左)/ Center (中)/ Right (右) |
VerticalAlignment | 垂直对齐:Top (顶)/ Center (中)/ Bottom (底) |
EnableWrapping | 是否启用自动换行(需设置有效Width ) |
OverflowMode | 溢出处理:Overflow (显示溢出内容)/ Truncate (截断超出部分) |
Mask Interaction | 遮罩交互模式(与SpriteMask配合使用) |
Mask Layer | 遮罩层级(默认Everything 匹配所有层) |
Priority | 渲染优先级(值越小越优先渲染) |
Width
和 Height
属性仅用于定义文本的布局范围(如换行和对齐),并非实际渲染尺寸。如需获取文本在三维空间中的真实包围盒尺寸,请通过 TextRenderer.bounds
属性读取。.ttf
、.otf
、.woff
格式)。import { TextRenderer, Font, Color } from "@galacean/engine";
// 创建文本实体并添加组件
const textEntity = rootEntity.createChild("text");
const textRenderer = textEntity.addComponent(TextRenderer);
// 设置基础属性
textRenderer.text = "Galacean Text Rendering"; // 文本内容
textRenderer.fontSize = 24; // 字体大小(像素)
textRenderer.color = new Color(1, 0, 0, 1); // 红色文本
// 方式1:使用系统字体
textRenderer.font = Font.createFromOS(engine, "Arial");
// 方式2:加载外部字体文件
engine.resourceManager.load({ url: "fonts/Avelia.otf" }).then((font) => {
textRenderer.font = font;
});
// 设置包围盒尺寸(单位:场景单位)
textRenderer.width = 5; // 控制自动换行宽度
textRenderer.height = 3; // 影响截断高度
// 启用自动换行
textRenderer.enableWrapping = true;
// 设置行间距
textRenderer.lineSpacing = 0.5;
// 溢出模式设置
textRenderer.overflowMode = OverflowMode.Truncate; // 或 OverflowMode.Overflow
// 对齐方式(需结合宽高使用)
textRenderer.horizontalAlignment = TextHorizontalAlignment.Center;
textRenderer.verticalAlignment = TextVerticalAlignment.Top;
// 同时应用加粗和斜体
textRenderer.fontStyle = FontStyle.Bold | FontStyle.Italic;
enableWrapping=true
)但未设置有效宽高,文本将不渲染。类/枚举 | 关键属性/值 | 说明 |
---|---|---|
TextRenderer | text , font , fontSize | 文本渲染器主类 |
TextHorizontalAlignment | Left , Center , Right | 水平对齐模式 |
TextVerticalAlignment | Top , Center , Bottom | 垂直对齐模式 |
FontStyle | None , Bold , Italic | 字体样式组合 |