【问题标题】:Unity OnParticleTrigger() get Collider it collides withUnity OnParticleTrigger() 获取与之碰撞的 Collider
【发布时间】: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


【解决方案1】:

使射弹成为具有子粒子系统的游戏对象,一旦射弹击中目标就会触发该系统

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2014-01-09
    相关资源
    最近更新 更多