Lazy loaded image
Unity打字机(逐字动画)
Words 1739Read Time 5 min
2025-8-8
2025-11-3
type
status
date
slug
summary
tags
category
icon
password
😀
TextAnimationD.lua-打字机
 

背景介绍

在做类似重生模拟器的玩法时,需要实现手自动剧情播放,且支持逐字播放。
 

基本思路

基于 TextMeshPro 的 maxVisibleCharacters 属性,不修改文本内容本身,而是控制可见字符的数量。只计算实际可见字符,检测区分富文本标签。用定时器去驱动递归调用。在文本动画完成后触发回调方法。
 

代码

支持多文本同时播放 支持富文本标签(<color>等) 支持中文等多字节字符 自动内存管理 支持自定义播放速度 支持播放完成回调 支持跳过/停止 支持状态查询
 

注意事项

  1. 必须使用 TextMeshPro 组件。
  1. 启动同一文本的新动画前会自动停止旧动画。
  1. 窗口关闭时必须清理动画,不然定时器会继续运行。
  1. 如果<>是文本本身的内容,那么在start前需要escape_text进行转义。
  1. stop会保持当前显示状态(部分文本)不触发完成回调,要显示完整文本和触发回调用skip。
 
💡
有问题欢迎讨论
上一篇
unity/git-compare
下一篇
UnityShader-消融效果

Comments
Loading...