Unity 社区

请问在攻击时,如何能避免OnTriggerEnter方法触发两次?

,2 年前
发布于新手答疑
0

问题描述

现在遇到的问题情况:进行普攻攻击敌人时,OnTriggerEnter中的Debug方法输出了两次。 普攻1只输出1次,但普攻2和普攻3由于攻击时有位移所以估计碰撞体也有位移,才会产生重复碰撞。
请问在单次攻击中,攻击碰撞体Trigger接触到敌人时,如何能避免OnTriggerEnter方法触发两次。

平台

相关代码

错误日志

498 次浏览
评论 0
2个回答
1
你的攻击方式首先是武器还是手部,如果是武器可能触发两次包括了武器和人物本身模型都发生了碰撞,如果是手部关节那么看一下你的碰撞体是不是整体的如果分部位的也会出现,因为逻辑上一个trigger组件触发一次,只有出去了之后再次进入才会再次触发,所以如果有这种情况可以在每次触发器进入时记录时间,通过定义一个时间间隔每次在触发器触发时比较上一次这个触发的时间有没有超过你的时间间隔,有的话再做功能没有直接return
2 年前回答
评论 1
0
已经查到原因了,就是在敌人本体上挂了两个Collider,所以Enter时执行了两遍函数。
2 年前回答
评论 0

AI

全新AI功能上线

1. 基于Unity微调:专为Unity优化,提供精准高效的支持。

2. 深度集成:内置于团结引擎,随时查阅与学习。

3. 多功能支持:全面解决技术问题与学习需求。

AI