unity从0开始摸鱼日记24,冲刺残影

4月16日

打算给冲刺加一个特效,在身后留下残影

基本思路是,在身后创建若干个玩家的复制体,并且逐渐变透明消失

在这里参考了一篇对象池(ObjectPool)的文章

ObjectPool(对象池)

对象池

对象池是一种动态调用物体的结构。在对象池中物体被保存在一个容器中,并且实现物体的自动显示、运行和回收。

需要使用物体时将物体移出对象池,令其使能;物体功能完成后自动将物体回收至对象池,以用于下次调用。

当需要创建的物体数量不确定,且分别处在不同的时间段、有相似的作用,可以使用对象池来调控物体的创建,减少物体的渲染数量。

冲刺效果实现的思路:
冲刺中,人物会在移动的路径上留下一串残影,并且这些残影的透明度随时间变淡。这里可以使用对象池的方式,每隔固定时间记录人物的移动状态,同时创建状态相同,透明度自动下降的的“残影”对象;并使残影在维持一定时间后消失,回到对象池被再次利用。

在这里对象池ObjectPoolForDash应该实现:

创建时自动产生一定数量的预制体;
每隔一段时间使其中一个预制体使能,并移出对象池;
移出的预制体完成功能后可以调用ObjectPool的方法返回对象池


残影的预制体ShadowPrefab应该实现:

使能时复制人物状态(位置、图像),并改变色调;
透明度随时间下降;
维持一定时间以后消失使能并调用ObjectPool中方法返回对象池。

 

发布了39 篇原创文章 · 获赞 0 · 访问量 1450

猜你喜欢

转载自blog.csdn.net/Z3Djoker/article/details/105555476