【发布时间】:2020-05-09 08:28:39
【问题描述】:
我想用粒子系统进行射击,如果其中一个粒子与某物碰撞,那么对手应该受到伤害。我使用触发功能是因为我希望粒子在碰撞后继续飞行。如果你想知道我为什么不使用射线投射:如果我使用射线投射,那么在粒子到达的情况下,对手就会受到伤害。
我的代码:
private void OnParticleTrigger()
{
if (!hitObjects.Contains(other.gameObject))
{
other.GetComponent<IDamageable>().GetDamage(PlayerScript.instance.damage);
hitObjects.Add(other.gameObject);
}
}
稍后我想有对手的对撞机的地方,我已经插入了“其他”
【问题讨论】:
-
嗨,欢迎来到 SO!究竟是什么问题?
-
问题是:如何访问粒子碰撞的对撞机?
-
可以使用 OnParticleCollision 吗? docs.unity3d.com/ScriptReference/…
-
不,这对我来说是不可能的,因为我不想与物体发生碰撞,而是穿过物体。
-
我明白......早在 2018 年,这是不可能的:answers.unity.com/answers/1497598/view.html。我认为粒子主要用于视觉效果,但我可能错了,所以我会关注这个问题
标签: unity3d system 2d-games particles