我尝试了自己的方法,但它很糟糕。由于我有一个回弹系统,我的摄像机旋转,并且在上面,我的枪在视觉上踢向上,子弹迹迹从我猜想是跟随枪的枪口(口径)位置更新。所以每个枪都有一个空的"Muzzle"对象,我移动它到实际枪的枪管顶端位置。
跟随子弹的迹迹跟踪子弹的位置,完美无缺,但在我连续射出几发子弹之后,迹迹会在枪管顶端下方的空气中实例化。LineRenderer并没有正确的感觉,但也许我使用它的方法不正确。然而我的枪口闪烁(粒子系统)却完美无缺,因为它是每个枪的"Muzzle"对象的子对象。
现在我做的是:
在射击时,我在muzzle.transform.position位置实例化一个迹迹预设(Trail renderer)
子弹从Camera.main.ViewportPointToRay(0.5, 0.5, 0).origin(摄像机中心)的位置开始
当子弹击中时,我移动迹迹到hit.point位置并在迹迹消失后销毁它。
改变TrailRenderer的inspector值并没有起作用。试图暂时让预设克隆为枪口的子对象也没有起作用。枪口世界位置在回弹时几乎没有变化,这就是为什么枪口闪烁可以正常工作的原因。但是关于迹迹renderer似乎没有相同的行为方式。
是否有好的方法来创建迹迹?我应该尝试使用粒子系统代替或Line renderer等?
评论 (0)