Unity2D中兄弟敌人游戏对象无碰撞问题求助
敌人之间无碰撞效果的原因分析
父物体带有刚体组件:你将敌人作为空游戏对象的子物体打包成预制体,如果这个空父物体添加了刚体组件,所有子敌人的碰撞器会被视为父刚体的一部分,兄弟敌人属于同一个刚体的碰撞体,物理引擎不会处理它们之间的碰撞交互。解决方法是移除父物体的刚体,让每个敌人自身拥有独立的刚体组件。
层碰撞矩阵设置问题:检查敌人所在的Layer,在
Edit > Project Settings > Physics(2D项目对应Physics 2D)的Layer Collision Matrix中,确认敌人所在层与自身层的碰撞是否被禁用。若该层和自身层的碰撞未勾选,敌人之间就不会产生碰撞。碰撞器设为触发器:如果敌人的碰撞器勾选了
Is Trigger,碰撞器会变成触发器,仅触发OnTriggerXXX事件,不会产生物理碰撞效果。取消勾选Is Trigger即可恢复物理碰撞。刚体设置异常:如果敌人的刚体勾选了
Is Kinematic(运动学刚体),运动学刚体默认不会与其他运动学刚体发生碰撞,且仅受脚本控制运动。若敌人都是运动学刚体,可在物理设置中开启运动学刚体之间的碰撞,或根据游戏需求将刚体设为非运动学。
内容的提问来源于stack exchange,提问作者MrToenails
相关产品推荐
相关产品推荐

