Unity Chronos - Time Control 时间控制器

发表于2018-04-03
评论0 5.7k浏览
Chronos - Time Control 是一个 Unity 时间控制插件,易于使用,而且为性能做了优化,下面就和大家介绍下这个插件的使用。

以塔防游戏为例,做图解:

最上层的 Timekeeper 单例,来管理场景里面所有的 GlobalClock 全局时钟(Root, Interface, Enemies 和 Turrets)。

Root 和 Interface 时钟是隔离的,因为对于用户 UI 元素通常是用常量的 timeScale (大部分是1)。通过这种方式,当要暂停游戏的时候,只要设置 Root 时钟的 timeScale 为 0 即可,那么 UI 菜单依然有动画效果。

Root 时钟下面有两个子时钟,Enemies 和 Turrets 时钟。在这个塔防游戏里,可能会想要单独控制 enemies 敌人和 turrets 炮塔。例如,在所有炮塔加速的时候,敌人仍保持着常规的速度。

对玩家角色配置一个本地时钟,因为场景里只有一个玩家角色,那么就不需要使用到全局时钟。

每个对象都拥有自己的时间线。这个时间线将所有应用在对象身上的时钟进行计算,并返回最终的 timeScale 。

另外,还可以创建球形区域时钟,在这个区域里面的对象都会受到这个时钟的影响。

所支持的组件:动画、粒子特效、网格导航和音频等:
1. Animation:更改所有 AnimationState 的 speed 属性
2. Animator:更改 speed 属性
3. AudioSource:更改 pitch 属性
4. ParticleSystem:更改 playbackSpeed 属性
5. NavMeshAgent:更改 speed 和 angularSpeed 属性
6. WindZone:更改 windTurbulence 、windPulseFrequency 和 windPulseMagnitude 属性
7. Transform:记录快照,更改 position 和 rotation 属性
8. Rigidbody:记录快照,更改 velocity 和 angularVelocity 属性,也可能更改transform.position 和 transform.rotation 属性
9. Rigidbody2D:记录快照,更改 velocity 和 angularVelocity 属性,也更改 transform.position 和 transform.rotation 属性

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引