2.X

如果你要从 1.X 版本更新,请务必阅读 从 1.X 升级到 2.X


2.3.X

2.3.1

在导入新版本之前请删除资源文件夹,谢谢!<3

主要更改

  • 新增:设置以将消失中间符号从“#”更改为你偏好的符号

  • 新增:在资源根目录添加 Third Parties notice.md(第三方声明)

其他更改

  • 改进:在网站上添加了更多示例

  • 改进:使用共享库解析 Tween 和 标签

  • 改进:关于窗口中的链接

  • 修复:动作现在不区分大小写,即使其声明使用了大写字母

  • 修复:TMP 标签解析器未在带等号的特定格式中识别颜色

2.3.0 - 跳过文本的特定部分

主要更改

  • 新增:新的富文本标签以在文本的特定部分禁用打字机,默认为 "<notype>",但也可在全局设置中更改

  • 新增:选项以在最后等待完整出现或消失

其他更改

  • 新增:当打字机被禁用但用户正在更改依赖于打字机的相关设置时,在打字机检视器中显示警告标签

  • 改进:工具提示和自定义打字机绘制器

  • 修复:在打字机检视器中变量被重复显示

  • 修复:修复文档中缺失的链接

2.2.X

2.2.1

  • 修复:由于 TMPro 在不存在溢出时计算出溢出,导致打字机提前停止

  • 修复拼写错误:TypewriterByCharacter,将字段 "avoidMultiplePunctuaction" 重命名为 "avoidMultiplePunctuation"(错误的现在已废弃)

2.2.0 - 网站与文档重设计

主要更改

  • 全新网站,包含更漂亮的 Text Animator 登陆页、游戏展示、支持页面,并为新工具发布做好准备

  • 为 Text Animator 提供了新的文档,改进了许多页面(包括它们的示例和组织),新增了一些页面(例如“最佳实践”)并丰富了常见问题页。文档还包含搜索栏和浅色/深色模式切换。

  • 重新设计了 Discord 新用户入门并简化了验证流程(同时提供更多信息)

其他更改

  • 修复:如果溢出设置为截断,首次调用时文本矩形未被更新

  • 修复:若打字机重启但 restart 参数被设为 false,则动作/事件不会被重置

  • 修复:脚本化对象声明中的样式在大小写上不区分,但在文本上设置时可正确工作(此前有问题)

  • 修复:打字机在页面溢出情况下工作不正确

  • 修复:当消失在字符显示时立即被调用(瞬间,同一帧),消失未能启动

  • 修复:示例场景中的排序错误,在 Unity 6 中无法工作

  • 已移动:API 网站从 febucci.com/.../api,到 api.febucci.com/...

API

  • 新增:向 TAnimCore.SetVisibilityChar 和 Word 添加参数,以在更改可见性时禁用动画

  • 更改:将 StyleSheetScriptable.cs 的 TryGetStyle 方法签名改为 "virtual",以允许自定义样式实现

2.1.X

2.1.1

主要更改

  • 修复:在追加文本然后恢复打字机时,用户需要先增加 maxVisibleCharacters

  • 修复:TMPro 的 “br” 标签导致效果标签位移

  • 改进:字符数据的性能,之前这些数据从未被初始化

其他更改

  • 修复:当用户尝试解析空文本时出现错误

  • 修复:设置未通过检视器注册样式更改


2.1.0 - 样式

主要更改

  • 新增:样式,可让你创建不同的标签预设并轻松应用到文本中。

  • 新增:在消失过程中跳过打字机的能力

  • 新增:文档中添加 Game Creator 2 集成页面

  • 新增:文档中添加 Unity 本地化集成页面

  • 修复:当 TMPro 的文本为 null 时设置打字机文本出错

  • 修复:未识别关闭的 TMPro “size” 标签

其他更改

  • 修复:在编辑模式预览中编辑文本时文本会在一帧内出现

  • 改进:Text Animator 设置的自定义检视器

API

  • 新增:在 TAnimCore 中添加 “SwapText” 方法


2.0.X

2.0.2

主要更改

  • 新增:随机打字机消失顺序

  • 修复:TMPro “link” 标签在空标签时解析不正确

  • 修复:TMPro “sprites” 导致文本中其他标签位移

  • 修复:在第一帧实例化未分配画布的 UI TMPText 时出现空错误

  • 修复:对部分用户而言,OnRectTransformDimensionsChange 回调导致的索引越界

  • 修复:从 Unity 2023.2 测试版及以后正确指向包的程序集定义引用

  • API:公开“按单词的打字机”变量

其他更改

  • 改进:为“按单词的打字机”提供自定义检视器绘制器

  • 改进:为“按单词的打字机”添加 AddComponentMenu

  • 修复:在暂停相反方法时,打字机开始/停止输入的问题

  • 修复:“反向”打字机消失未正确触发

  • 修复:如果在初始化之前外部启动(TAnim 的 deltaTime 为 0),打字机会显示全部文本的问题


2.0.1

主要更改

  • 修复:当 TimeScale 为 0 且打字机仍在写入时,文本现在正确隐藏

  • 修复:打字机的 “avoidMultiplePuntuationWait” 未正确工作

  • 修复:打字机现在能正确从暂停处重启

  • 修复:“Shake” 行为的 “d” 修饰符未影响动画

其他更改

  • 修复:检视器中的自定义效果模块无法在 TAnim 的组件中启用(但在 ScriptableObject 视图中正常工作)

  • 修复:打字机声音包已更新到 2.X

  • API:公开 TypewriterByCharacter 的选项变量


2.0.0

主要更改

  • 新增:编辑模式预览,允许在不进入播放模式的情况下播放和编辑效果

  • 新增:事件现在可以有多个参数

  • 新增:“复合”效果,允许用单个标签播放多个动画

  • 新增:测试框架,测试编辑器和运行时插件功能

  • 新增:方法以独立隐藏或显示文本中的任意字母,允许逐字或逐词显示特定内容

  • 新增:“顶点”自定义效果,允许为每个字符的每个顶点指定不同动画

  • 改进:内置效果现在是确定性的,重启时返回相同结果,并允许未来与 Timeline 集成

  • 改进:内置效果和动作现在可以由用户设置不同的标签

  • 改进:TextAnimator 的基类,允许将来对不同的文本源进行动画(除了 TextMeshPro 之外)

  • 改进:效果和动作现在为脚本化对象,允许在项目中进行更多自定义和集成

  • 改进:效果和动作现在存储在各自的数据库中,允许你在组件之间共享它们

  • 改进:文本解析和富文本标签识别,允许未来添加自定义标签并与外部插件兼容

  • 改进:更容易通过代码创建自定义效果

  • 改进:通过检视器更容易创建自定义效果

  • 改进:现在支持 TMPro 的 'page' 标签!

其他更改

  • 新增:在检视器中将“回退标签”设置为常量的选项,即使存在其他标签也应用于整个文本

  • 新增:选项以使用默认设置的效果/动作数据库,或为每个组件设置特定数据库

  • 改进:你现在可以将资产安装文件夹移动到项目中的任何位置,因为 TextAnimator 会识别其位置并在那里安装新效果

  • 改进:程序集重载时间

  • 改进:简化的 API 和重构

  • 改进:UI 与 UX,若效果/动作数据库中存在无效标签会通知你,为你修复错误等

  • 改进:TextAnimator 的动态缩放(以在不同尺寸间保持一致效果)现在默认启用

  • 变更:将 “TextAnimatorPlayer” 重命名为 “Typewriter”

  • 变更: “预设” 效果(行为等)现在重命名为 “统一” 自定义效果

  • 变更:最低 Unity 版本改为 2020.3.0f1,遵循商店对新包的指南

  • 修复:当 Rect Transform 尺寸变化时网格未在一帧内更新

  • 修复:在某些情况下解析效果会错位几个字符,如果 TMPro 标签正好写在 TAnim 标签之前

API

  • 已废弃:一些 API 已标记为已废弃,但它们仍向后兼容,并包含在下次更新前如何更改的注释。

  • 重大变动:已移除 “TextAnimator.AssignSharedAppearancesData” 方法。请改为从 “TextAnimator.DatabaseAppearances” 的属性中分配数据库。

  • 重大变动:已移除 “TextAnimator.AssignSharedBehaviorsData” 方法。请改为从 “TextAnimator.DatabaseBehaviors” 的属性中分配数据库。

  • 重大变动:已移除 “TextAnimator.onEvent” 事件。请改为订阅相关 Typewriter 的消息,因为它们仅在文本因这些 Typewriter 而继续时触发。

  • 重大变动:已移除 “Febucci.UI.Core.TAnimBuilder.InitializeGlobalDatabase()” 方法。(你可以安全地删除该行,因为它不再必要。)

  • 重大变动:已将 “Febucci.UI.TextAnimatorPlayer” 重命名为 “Febucci.UI.TypewriterByCharacter”。你也可以使用 Febucci.UI.Core.TypewriterCore 来替代抽象类。

  • 重大变动:已将 “Febucci.UI.TextAnimator” 重命名为 “Febucci.UI.TextAnimator_TMP”。你也可以使用 Febucci.UI.Core.TAnimCore 来替代抽象类。

如果你创建了自定义的 Typewriter 或 动作,可能会影响你:

  • 重大变动:已移除 “TAnimPlayerBase.isWaitingForPlayerInput” 属性。请改为参照 “input” 动作并检查其是否正在运行。

  • 重大变动:已移除 ‘TAnimPlayerBase.WaitInput” 方法。请按照新指南实现自定义动作。

  • 重大变动:已移除 ‘TAnimPlayerBase.DoCustomAction” 方法。请按照新指南实现自定义动作。

  • 重大变动:已移除 ‘TAnimPlayerBase.OnTypewriterCharDelay’ 方法。

  • 更改:Typewriter 的 “GetWaitAppearanceTimeOf” 方法的参数从 ‘char’ 更改为 ‘int’(characterIndex)

  • 更改:Typewriter 的 “GetWaitDisappearanceTimeOf” 方法的参数从 ‘char’ 更改为 ‘int’(characterIndex)

最后更新于