1.X
Text Animator for Unity 的第一个版本,从最初发布到三年后的历程。
1.3.X
1.3.3 - 一般改进与修复
主要更改
错误修复:在某些罕见情况下未触发消失事件
错误修复:TextAnimatorPlayer 在 TMPro 中因缺少 unicode 变量而抛出错误
API 更改
新增:通过脚本分配效果的 ScriptableObject 数据的方法
新增:手动更新 Text Animator 组件的选项
1.3.2 - 新外观效果:随机方向
主要更改
新增:新的出现/消失效果:随机方向
新增:Yarn Spinner 2.X 的集成指南
其他更改
改进:在其最新更新后对 TMPro 输入字段的支持
错误修复:当文本在 OnEnable 之前被设置时在某些情况下出现的索引越界问题
错误修复:效果的动态缩放未应用于尺寸与 TMPro 不同的字符
错误修复:如果更改了 TMPro.maxVisibleCharacters,网格未更新
小改动
新增:网站上的“使用 Text Animator 制作的游戏”展示页面
新增:关于窗口中用于提交 Text Animator 展示的部分
API 更改
移除:TextAnimator.UpdateEffectIntensity 方法,因现在在应用字母前会自动更新
1.3.1 - 一般改进与修复
主要更改
新增:对 Unity 可视化脚本包(原“Bolt”)的集成支持
新增:检查器选项,用于在设置新文本时重置效果
新增:导入/更新包时的欢迎页面
错误修复:在反向方向上未触发 Typewriter 的 OnTextDisappeared
错误修复:Typewriter 的 OnTextDisappeared 在未完全等待最后一个字母动画结束时触发
错误修复:在等待短文本消失时,Typewriter 可能引发 IndexOutOfRange
错误修复:某些字体/字符在文本在 LateUpdate 时启用会导致 IndexOutOfRange
错误修复:淡入淡出效果正在淡入为黑色而不是保留字母的 RGB
错误修复:彩虹效果在偏移色相时现在保留字母的 alpha
错误修复:对某些字体和字符,在 OnEnable 激活文本效果时错误
错误修复:Typewriter 消失速度不能低于 DeltaTime 的问题
API 更改
新增:Typewriter 的“isWaitingForPlayerInput” 布尔,用于当打字机处于动作标签中时
公开:Text Animator 效果强度乘数
公开:Text Animator 动态缩放布尔值
公开:Text Animator 参考字体大小
1.3.0 - 消失效果与程序集定义文件
请为此版本执行一次干净安装(在导入新版本前删除插件文件夹),谢谢!
主要更改
新增:消失效果,允许你从左到右或从右到左动态隐藏字母,包含不同的个性化选项等。
新增:程序集定义文件(Assembly Definition Files)
新增:出场和消失效果的修饰符
改进:回退/默认效果现在也支持修饰符
其他更改
新增:重置效果时间的方法
错误修复:TextAnimator 效果中单字符的 TMPro 标签关闭现在能正确处理
错误修复:某些无效字符或字体抛出的 IndexOutOfRange 异常
错误修复:若前一文本包含 TMPro 标签,追加文本中效果索引位移的问题
错误修复:与回退具有相同标签的效果在文本中第一次出现时未正确关闭
错误修复:事件不区分大小写问题
错误修复:如果文本游戏对象处于非激活状态,网格未更新
错误修复:[WebGL] 抛出无法表示数字错误
改进:移动文件与文件夹以便更好组织
改进:文档页面
改进:插件的脚本 API 现在也引用 Unity 的脚本 API。
小改动
新增:“调试模式”,以便更好地支持请求(仅在你添加脚本定义符号时可用,因此不会包含在玩家构建中)
改进:示例场景的 .meta 文件,修复某些变量未被序列化的问题
改进:脚本注释
API 更改:
更改:TextAnimator.IncreaseVisibleCharacter() 改为 TextAnimator.maxVisibleCharacter++
移除:TextAnimator.SyncText,请改用 SetText
移除:TextAnimator.deltaTime,请改用 m_time.deltaTime
改进:内置效果值现在对它们共享的 ScriptableObjects 为公开
1.2.X
1.2.12 - 追加文本
主要更改
新增:用于追加文本的方法(适用于 Typewriter 与 TextAnimator 本身)
新增:自定义字符解析符号
新增:TextMeshPro 对 firstVisibleCharacters、maxVisibleCharacters、maxVisibleWords 和 maxVisibleLines 的支持
其他更改
错误修复:解决在 TextAnimator 的 Awake 脚本顺序之前设置空文本导致的错误
[API] 过时:TextAnimator.SyncText 现已标记为过时,并将在下个版本移除。请改用 “SetText”。
[文档] 从脚本 API 中移除已过时的方法。
1.2.11 - Ink 集成与 2 个新效果
主要更改
新增:“Pendulum”(钟摆)和 “Dangle”(悬垂)行为效果
新增:Ink 集成
错误修复:动作现在正确按区分大小写解析
错误修复:在检查器中创建的自定义效果模块现在能正确禁用并返回正确值
其他更改
新增:为单个 TextAnimator 组件禁用效果的方法
新增:Typewriter 选项以跳过等待最后一个字母
新增:新创建的自定义行为(在检查器中创建)其所有模块的曲线 postWrapMode 默认设置为“loop”
错误修复:解决阻止出场效果在启动时具有正确值的问题
错误修复:可以将多个相似效果(相同标签但修饰符不同)应用于文本
1.2.10 - 全局内置效果值
主要更改
新增:通过 ScriptableObjects 的全局内置效果值。
新增:TMPro 的 <noparse> 标签现在也禁用 TextAnimator 的格式化。
新增:Typewriter 选项以保持所有文本的打字速度。
新增:Typewriter 选项以跳过对换行符('\n')的等待。
其他更改
错误修复:直接写在 TMPro 标签(例如 color)之前的 Typewriter 事件现在能正确触发。
错误修复:解决阻止行为回退效果应用到字母的问题。
错误修复:“水平扩展”出现效果现在正确显示“效果起始侧”选项。
改进:示例场景文本。
小改动
错误修复:[检查器] 打字机的 delay 字段具有正确的缩进级别。
通用 API:在默认打字机中公开“delay”变量。
1.2.9 - 脚本 API 与通过 C# 的自定义效果
如果你通过 C# 编写了自定义效果,请阅读更新指南。
主要更改
新增:文档中的脚本 API 部分,自动从代码生成。
新增:“行为效果回退”,允许你设置如果文本/字母没有分配标签时要应用哪些行为效果。
改进:所有公共 API 的注释,扩展了示例和手册引用。
API:自定义效果的 C# 现在可通过 C# 自动识别。
其他更改
错误修复:在 AOT 平台(或 IL2CPP)构建时效果类不会被剥离。
通用:出场效果仅在启动时计算一次。
通用:即使用户在同一文本中写入多个相同标签,TextAnimator 现在也只实例化一次相似的效果类。
API 更改:
重大更新
新增:在自定义效果中引用字符数据的 “TMPro.TMP_CharacterInfo” 变量。
新增:为所有效果添加属性 “EffectInfo”。
移动:行为效果的 time 和 deltaTime 现在存储在 “TimeData” 结构中。
移除:“CustomEffects” 数据持有类。现在你应使用内置效果值,或引用 TextAnimator 之外的变量(例如在你的游戏管理器中)。
其他
重命名:AppearanceEffects 的 “showDuration” 改为 “effectDuration”。
重命名:EffectBase 的 “effectIntensity” 改为 “uniformIntensity”。
移动:将 “IsTagLongEnough” 从 TextAnimator.cs 移到 TextUtilities.cs。
访问:EffectBase 的区域管理代码现在在 RegionManager 类中。
访问:TAnimGlobalDataScriptable 中的变量现在为 internal。
访问:EffectBase 的核心方法现在为 internal。
小改动
改进:检查器中的 TextAnimator 标签。
错误修复:标签为空时不再被处理。
通用:一些效果性能与代码组织的改进,特别是预设效果。
错误修复:即使用户在初始化 TextAnimator 之前调用,`text utilities` 类现在也会被初始化。
错误修复:当用户想从 OnEnable 启动打字机但“usetypewriter”选项被禁用时抛出的 logwarning。
将以下类移到各自文件中:“TAnimTags”、“TypewriterAction”、“TAnimBuilder”。
1.2.8 - 一般改进与修复
新增:检查器中每个面板的帮助链接,指向相关文档页面。
新增:带有文档与支持链接的菜单项。
改进:检查器中自定义效果的文档页面。
错误修复:启用了自定义效果的 AnimationCurve 中的 decay “loop” 与 “pong”。
错误修复:阻止编译器构建应用的预处理器问题。
错误修复:浮点解析在某些文化中不起作用的问题,第二部分(我们又见面了,亲爱的敌人)。
1.2.7 - 文档、检查器与打字机改进
如果你编写了自定义动作,请阅读更新指南。
主要更改
新增:打字机现在可以每帧显示更多字符。
改进:文档、路线图和支持表单已改进并托管在新的专用网站上。
改进:以下组件的检查器:"TextAnimator"、"TextAnimatorPlayer"(包括基类)、"Global Data" ScriptableObject。
其他更改
新增:用于启动或停止打字机的方法。
新增:禁用所有 TextAnimator 的外观/行为效果的选项。
改进:TextAnimator.cs 与 TextAnimatorPlayer.cs 的注释、工具提示和脚本结构。
移除 Documentation.zip 并改进“文档与快速开始”pdf。
API 更改
动作:
改进:自定义动作 API [如果你创建了自定义动作,请阅读更新指南]。
更改:TextAnimator.cs 中的 “hasActions” 布尔现为 internal。
打字机:
在打字机基类中移除已过时的方法/事件。
小改动:
新增:你现在可以决定打字机自动从哪些方法启动(“显示文本”“在启用时”等)
改进:打字机的检查器现在也可以让你根据期望的每秒字符数选择延迟。
错误修复:如果对象不激活,协程不再启动。
错误修复:自定义效果示例现在被注释掉。
通用:打字机最小延迟已降至 0.0001。
通用:预设效果中“curve” 重命名为“随时间的强度/衰减”。
1.2.6 - 全局预设效果
主要更改:
新增:全局预设效果。你现在可以创建效果并在多个 TextAnimator 组件之间共享,而无需创建预制件。
错误修复:属性现在正确应用于所有效果。
性能:默认效果数据库(包括全局效果)仅构建一次,如果你有多个 TextAnimator,可提升性能。现在,TextAnimator 只会构建其本地数据库(如果存在本地效果)。
其他更改:
错误修复:如果 TMPro(GUI)禁用了其画布,导致 TextAnimator 无法更新 TMPro 的网格并应用效果,现已修复抛出的错误。
错误修复:在跳过时触发事件按预期工作。
错误修复:自定义外观(c#)值现在正确序列化。
错误修复:当用户跳过打字机但它未触发任何事件时抛出的错误。
错误修复:淡出行为按预期工作。
小改动:
新增:自定义 TextAnimator 检查器现在有两个辅助按钮,一个可定位“Global Data” ScriptableObject,另一个可重置行为效果时间(仅编辑器)。
新增:Unity 菜单项,可定位“Global Data” ScriptableObject。
通用:改进了 TextAnimator 组件的自定义编辑器。
API:效果默认标签现在存储在静态的 TAnimTags 类中。
1.2.5 - 一般改进与修复
主要更改:
新增:在跳过打字机时触发剩余事件的选项。
改进:事件与功能现在基于它们的顺序触发,即使它们位于同一字母上。
错误修复:使用不同字体和材质时的 IndexOutOfRange 异常。
错误修复:自定义效果现在正确添加到数据库列表。
通用:事件现在默认区分大小写。
其他更改:
改进:已将 Unity 2019.2 或更高版本的 TryGetComponent 方法的使用扩展到 TAnimPlayerBase.cs 与 TextAnimator.cs 中的其他组件引用。
通用:根据请求,改变了 Core 命名空间内类的访问修饰符。(此步骤为下一次更新做准备)。
通用:TAnimPlayerBase.cs 中的 OnEnable 与 OnDisable 方法现在为 virtual。
通用:改进注释。
1.2.4 - 动态效果强度
主要更改
新增:基于不同字体大小的动态效果强度。
新增:为打字机和效果添加时间缩放选项,可在“缩放(Scaled)”或“未缩放(Unscaled)”之间选择。
新增:打字机基类中的 OnTypewriterStart 事件
其他更改
改进:文档页面“管理效果”,将某些部分改为可展开。
新增:CharsDisplayTime 属性,在检查器中告诉用户每秒和每分钟将显示多少字母。
新增:TextAnimator.cs 中的 ForceMeshUpdate() 方法,允许用户强制刷新 TMPro 网格并记录其更改,在帧末执行。
错误修复:通过 TempFix 设置文本现在在文本为空时正确清除网格
错误修复:修复某些国家错误的属性解析
错误修复:如果文本非空并在“Awake”之后在场景中被激活,则文本不再闪烁(该问题仅在第一次激活时出现)
错误修复:功能标签(如 “waitfor”)现在在文本开头编写时也有效。
错误修复:通过脚本更改 TMPro 的颜色属性现在触发网格更改。
错误修复:临时的 TMPro 修复现在在文本为空时清除网格
通用:将效果接口替换为基类。
API 更改
过时:onTypeWriterEnded 事件现已过时并将在后续版本移除,请使用 onTextShowed 事件代替
过时:OnTypeWriterStart 方法现已过时并将在后续版本移除,请改用其相关事件
小改动
通用:检查器的最小正值现在为 0.01
通用:检查器现在显示“简单集成(EasyIntegration)”标签,替代“TriggerAnimPlayerOnChange”(如果你更新保存的值不会丢失,仅为视觉更改)
通用:改进检查器中“简单集成”的工具提示与警告。
性能:在 Unity 2019.2 及更高版本中使用 TryGetComponent 方法替代 GetComponent。
1.2.3 - 打字机音效
主要功能
新增 打字机音效 示例
第三方插件“Naninovel”现已部分集成。
主要更改
改进:摇动效果(及随机方向生成)已改进,以防止相似方向连续出现
错误修复:使用简单集成(来自 TMPro)时,即使随后设置相同文本,打字机现在也会被触发
其他更改
错误修复:如果使用 EasyIntegration,文本在第一次帧中会被正确隐藏
错误修复:在某些实现中完整文本不会再在半帧中显示,现在可以正确隐藏
错误修复:TextAnimatorPlayer 现在在启动协程前检查文本在整个场景中是否处于激活(而非仅局部)
错误修复:若被触发,TextAnimatorPlayer 现在可以显示无任何标签的相似文本
1.2.2 - 稳定性
主要更改
新增:仅在当前字符为序列中的最后一个(例如:‘Hello….’)时等待标点时间的选项(基础 TextAnimatorPlayer)。
新增:表示最新显示字符的变量(TextAnimator.cs)
新增:返回下一个要显示字符的方法(TextAnimator.cs)
你现在可以在同一文本中同时使用 TMPro 的 “u”、“s” 和 “font” 标签(尽管不建议对前两个应用效果)
改进:Text Animator 应用效果到字母的方式,带来一些错误修复及更高稳定性
其他更改
错误修复:打字机现在可以在等待标点时跳过。
错误修复:在某些特定文本末尾的字母现在正确显示(不过我得承认这个 bug 产生了一些有趣的结果)
错误修复:创建出场效果时变量 “charsTimeOffset” 现在按预期工作
错误修复:“<3” 等未完成/无法识别的标签现在正确显示在文本中
性能:改进核心性能(内存与处理)
性能:改进从 TextMeshPro 更改文本时的性能,尤其在未关联打字机的情况下
错误修复:“MinValue” 属性现在正确显示工具提示
为 TextAnimatorPlayer 类添加了工具提示。
1.2.1 - 效果创建器更新
主要特性
你现在可以在检查器中创建效果,控制移动、旋转、缩放、颜色和发光。(并配有自定义检查器)
你可以通过标签使用多个出场效果,使用“{”与“}”作为起始和结束字符。
其他特性
TextMeshPro 的 “style” 标签现在兼容
你可以通过调用“SkipTypewriter()”方法跳过剩余的打字机。
新增自定义功能 “speed”,可通过标签改变打字机速度。
在 TAnimBase.cs 脚本中新增 Unity 事件 “onCharacterVisible(char)”,在每个字符变为可见时调用。
在 TAnimBase.cs 脚本中新增 Unity 事件 “onTextShowed”,在文本完全显示时调用。
新增示例场景,包括预设和一些效果用例。
现在支持 PlayMaker。
改进
性能:插件现在构建效果数据库(包括用户自定义效果),优化运行时标签查找。
API 更改 - 自定义效果
自定义效果的实现方式已更改;用户需在静态只读数组中添加其“ID”与“类类型”。(仍在同一 CustomEffects.cs 文件)
API 更改 - 移除已弃用方法
移除了 TextAnimatorPlayer.cs 中名为 “ShowTextInstantly” 与 “StartShowingText” 的已弃用方法,如在 1.2.0 版本中预测。
核心小调整 - 细节
性能:通过不同方式组织字符 ID 与数组,提升约 10%。
性能:随机值仅生成一次
性能:改进字符中心计算
性能:改进格式化与内存管理
性能:从 TextUtilities 扩展中移除不必要的“数组返回”
错误修复:大量添加字母时出现的错误索引问题
错误修复:不属于 Text Animator 的标签不再严格写成小写
错误修复:当更改 TMPro 文本(简单集成)时,TextAnimatorPlayer.cs 的 onTypeWriterEnded 现在正确触发
错误修复:修复在 TextAnimator 自定义检查器中为“HorizontalExpand”出场效果显示的错误变量
通用:创建新脚本时,默认出场效果现在为“size”
通用:事件现在在字母之前触发,而不是之后触发
通用:移除了通过 Debug.Log 建议不要同时使用 “vertexp” 与 “horiexp” 出场效果的提示。现在在检查器中给出建议。
通用:整理示例场景
1.2.0 - 简单集成(Easy Integration)
特性
不再严格要求通过脚本设置文本。
TextAnimatorPlayer 的文本现在可以在 GameObject 被禁用时设置。
API 更改 - TAnimPlayerBase.cs
方法 “StartShowingText” 与 “ShowTextInstantly” 现已过时;改为使用 “ShowText”。
方法 “OnTextEnded” 现为事件 “onTypeWriterEnded”。
打字机现在可以通过检查器启用。
其他
格式化标签时的性能改进。
检查用户是否写了兼容标签时的错误修复。
移除 “Integrations” 文件夹(感谢简单集成)。
1.1.X
1.1.1 - 错误修复
特性
文档:添加了公开路线图
重要更改
修复了同步比先前更短文本时发生的错误。
修饰符不再有值限制。
其他调整
在 TextAnimator.cs 脚本中启用 #LOGS_DEBUG 定义时的错误修复
改进了基础效果类的调试。
文档:行为效果的属性现在在“效果列表”页面可见。
1.1.0 - 初始发布 - 2019.12.19
首次发布。
最后更新于