unity让碰撞只发生一次

碰撞发生在帧的开始,所以你可以检测到冲突,并在LateUpdate复位:

private bool hasCollided = false; 
void OnCollisionEnter(Collision col) 
{ 
    if(this.hasCollided == true){ return; } 
    this.hasCollided = true; 
} 
void LateUpdate() 
{ 
    this.hasCollided = false; 
}

 

posted @ 2019-08-31 14:48  三页菌  阅读(1169)  评论(0编辑  收藏  举报