实现思路:
- 小车动画
- 使用粒子系统实现火焰和水枪
- 计算水枪角度,让水枪对准起火点
- 通过更新火焰粒子和水枪粒子实现扑灭效果
难点在于计算水枪角度,这里着重讲一下计算水枪角度的方法。
① 计算方向向量,即水枪到火焰的方向向量
其中p1和p2分别是水枪发射处和起火点的坐标
② 计算heading
heading是方位角,即在水平面上的投影方向,计算公式如下:
③ 计算pitch
pitch是俯仰角,即在垂直方向上的角度,计算公式如下:
④ 计算roll
roll是翻滚角,在方向计算时一般为0:
效果图:
一、灭火过程。水枪喷出后火逐渐熄灭
二、自动对准。计算水枪角度,让水枪对准起火点
三、起火
如有问题,欢迎私聊~