小规模分解:

  • 所有闪电击中的效果和链条闪电效果都使用 Unity 的 LineRenderer 组件。
  • 闪电击中的动画如本帖所述:https://www.reddit.com/r/IndieDev/comments/1nk34r6/heres_a_little_secret/
  • 还有使用摄像机对齐的 SpriteRenderer 来创建额外的闪电效果。
  • 对于链条闪电的行为,我使用 SphereCast 以及 LayerMask 来快速找到附近的潜在目标,然后始终选择最近的一个。
  • 每次跳跃后,目标都会被添加到 List 中,这样闪电就不会跳到同一个目标上。还有一个短暂的冷却时间,给闪电带来满足感的“旅行”效果,而不是在一个帧内瞬间跳转到所有目标。链条闪电最多可以跳跃五次。