Unity3d 如何使对象只碰撞一次?
我有看起来像正方形的物体。(有碰撞器和刚体) 我想让这些方块在我用物体撞击这些方块时发出声音。但只有一次(场景一次)。如果我再次击中其中一个方块,ıt不应该发出声音。我怎么能这样做Unity3d 如何使对象只碰撞一次?,unity3d,collision-detection,Unity3d,Collision Detection,我有看起来像正方形的物体。(有碰撞器和刚体) 我想让这些方块在我用物体撞击这些方块时发出声音。但只有一次(场景一次)。如果我再次击中其中一个方块,ıt不应该发出声音。我怎么能这样做 提前谢谢 调用onCollisionCenter()方法时,可以检查bool变量是否设置为true hasCollided = false; void OnCollisionEnter(Collision collision){ if (!hasCollided){ // Play soun
提前谢谢 调用
onCollisionCenter()
方法时,可以检查bool变量是否设置为true
hasCollided = false;
void OnCollisionEnter(Collision collision){
if (!hasCollided){
// Play sound
hasCollided = true;
}
}
添加一个简单的标志。。禁用其碰撞器组件。。销毁其碰撞器组件和/或正在侦听碰撞的脚本。。。等等,汉克斯。但最好的解决方案是什么?我应该像D.Dorion那样添加布尔值,还是销毁它的碰撞器组件@Derhugoi如果你销毁了Collider组件,游戏对象将不会与其他collidersThis发生碰撞,但是不要使用bool变量,只需销毁Collider即可。这也将节省资源。