DFTween:unity最好的补间tween动画片系统

DFTween:unity最好的补间tween动画系统

出处:http://blog.****.net/u010019717

author:孙广东      时间:2015.3.17   23:00


与Daikon Forge协作,一个叫做 DFTween (Daikon Forge Tween) 的新补间系统。

DFTween 是一个新的补间引擎在unity上。我们知道从一开始就必须是超级快,超级简单,和大多数的所有泛型周围的所有方式。补间的任何所需的属性是必须构成一个有趣的挑战,与一个独特的解决方案。

从ground 上,DFTween 旨在产生 GC 的减少为零,并有令人难以置信的轻运行时的足迹。它同时也是为了将难以置信的易于使用 — — 我们重利用流利的语法来配置补间属性 (没有 哈希表 或属性设置在这里 — — 它具有类型安全一路绕 !)。

它还允许你tween 的任何对象的任何属性。这种灵活性,尽管我们知道我们必须不惜一切代价避免使用Reflection 反射。

对此的解决方案是通过 委托 delegates。您可以存储匿名委托 (再一次 通过流利语法),接受从tween 返回的值,并做了些它(将它赋给的东西)。超级强大和快速地也令人难以置信。

给你这一切是如何在代码中体现,请查阅DFTween docs。

现在,我已经被抛出了这个词的 "快"。

我开发了一个自动化的测试目的 是将所有unity主要的tween 补间库与 DFTween 的性能做对比。完整的列表是 iTween、 LeanTween、 HOTween、 GoKit。

测试所涉及的 5,000 个空对象运行个pingpong loop乒乓球循环,对random point随机点和 back位置进行补间。一圈的补间持续 1 秒,每个个别的测试持续了 10 秒钟。

下表是自动测试生成的:

补间工具包 Min 帧时间 (毫秒) 帧的最大时间 (毫秒) Avg 帧时间 (毫秒) 帧时间,传播 (ms) 最小内存 (MB) 最大内存 (MB) Avg 内存 (MB)
DFTween 4 16 5.255482 12 4 6 5.37356
iTween 20 50 21.3141 30 10 14 11.71795
LeanTween 4 20 4.869415 16 6 9 7.490777
HOTween 6 30 7.047151 24 10 13 11.80084
GoKit 6 22 6.797409 16 8 12 10.10982

DFTween:unity最好的补间tween动画片系统

在测试中所示,DFTween 有最好的最小值和最大帧时间的最佳帧时间传播 (帧时间的总范围),以及最佳的内存占用 (最小、 最大和平均 MB )
它唯一不是最好的类别是在平均帧时间 — — 在该类别中,它是大约 0.39ms, 位于 LeanTween 之后。
顺便说一下,试验结果表明 iTween 除了平均内存使用量 是最糟糕的!只是 HOTween 糟糕的地方大约 100 kb 。

因此,试验发现,什么是最快的补间动画库可供unity,DFTween 到现在为止是对标准杆。

目前,DFTween 是可供预览为Daikon Forge 客户作为一个免费的仅有plugin的插件。最终我们会完全在asset store,免费发布,并另外发布 “full” version 版本,包括源代码、 编辑器集成和更多。

免费版本我已经得到了 源代码 地址如下: http://blog.****.net/u010019717/article/details/44355729点击打开链接

使用教程如下: