伤害飘字、排行榜名次这类需要多字号、描边发光的文字效果,位图字体(BMFont 预渲染图集)与 SDF 字体(有向距离场实时渲染)是两条路线。选型影响包体、显存与任意缩放下的清晰度。本文用同一套字符集做对照实测。
位图字体:预渲染每个字符的图集,运行时按 UV 取图拼接。字号固定(如 24px),放大到 48px 会模糊,需要多套图集。SDF:图集里存的是"到字形边缘的距离场",运行时按距离重建边缘,一套 64px 图集可任意缩放并保持锐利,还自带描边与发光能力(Shader 里按距离阈值上色)。
同一套常用汉字 3500 字 + ASCII,两条路线各生成一份:
SDF 一套图集覆盖全部字号并内置描边发光,代价是需要一个支持 SDF 采样的 Shader(Cocos2d-x 内置 Label 组件已含 SDF 支持,开启即可)。
三种场景三条路:静态界面文字(按钮、固定文案)→ 系统字体直接渲染,无需字体图集;伤害飘字、排行榜这类多字号 + 描边需求 → SDF;纯图标化的少量固定字符(+1、NEW 标记)→ 位图字体最小成本。混合使用完全合理:主界面系统字体、战斗数字 SDF、活动标记位图。
SDF 开启后验证中文渲染(部分老版本引擎的 SDF 对中文 distance field 生成参数有差异);字符集按使用频率裁剪(3500 常用字通常只用到 800 字,图集体积再降 60%);飘字高频创建销毁配合对象池(飘字流程参考 Action 动画篇)。三步走完,文字渲染的包体、显存、清晰度三项同时达标。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 排行榜卡死拖累登录、成就推送挤占带宽,这些非核心功能出问题时最需要的是一个总闸。服务降级预案定义了核心链…
实战应用:用在哪里 单件装备的属性提升有限,套装共鸣让多件装备产生化学反应:穿戴同系三件以上触发共鸣属性,五件触发全局光环。…
实战应用:用在哪里 同一账号在两台设备同时在线,一台打怪一台交易,是盗号者测试密码后的标准动作。多设备在线检测在登录环节检查…
实战应用:用在哪里 老服合并、机房迁移、数据分库改造,都涉及角色数据的批量搬家。数据迁移的核心是搬运过程中不断服、不丢数据、…
实战应用:用在哪里 沙影之路的暗之Boss是行会实力的试金石:真身与三个镜像随机分布在四个祭坛,只有击杀真身才有掉落,镜像被…
实战应用:用在哪里 攻城战最容易变成人海推门的无脑玩法。攻城拔寨将城门攻坚设计为三线战术:正面强攻吸引火力、侧翼工程车破城、…