Unity-处理孩子的刚体上的OnCollision

时间:2019-12-13 06:40:35

标签: unity3d scripting

我有一个GameObject,它是由一堆药丸构成的,每个药丸基本上都是由两个球体和一个圆柱体构成的。 因此,GameObject层次结构看起来像这样:

  • 玩家(空GameObject)
    • 药丸(空游戏对象)
      • 球体(3D球体)
      • 圆柱体(3D圆柱体)
      • 球体(3D球体)

希望这张图片能给您有关GameObject外观的视觉插图: enter image description here

现在,我的目标是将整个GameObject- Player 作为Rigidbody,而我想在 Pill 级别上检测到碰撞。因此,我将Rigidbody添加到 Player ,并将{{11}}添加到每个 Pill 。但是,这样的配置不起作用-药丸没有收到Capsule collider事件。我找到了suggestion solution,但是它对我也不起作用-如果我设置了OnCollisionEnter属性Capsule collider,则 Player 不会与其他刚体交互。到目前为止,唯一的解决方案I found是向每个 Pill 中添加Is Trigger,但我担心这种情况会带来性能问题。

总而言之-我的问题是-我可以采用上述配置-父刚体,子对撞机工作并接受Rigidbody事件吗?当然,如果我可以拥有父刚体,并且设置了OnCollision的孩子也可以工作,以防 Player 保持刚体物理行为。

1 个答案:

答案 0 :(得分:1)

我不知道您为什么要在药丸级上检测到冲突,但是保留相同的配置,您可以访问的一件事是Collision ContactPoint