小编fox*_*ler的帖子

OnCollisionStay与OnCollisionEnter

嗨,我已经使用Unity一段时间了,对于我的生活,我仍然无法区分OnCollisionStay和OnCollisionEnter.我假设当刚体(如球)与另一个刚体/对撞机(如墙)接触时,会调用OncollisionEnter.但是当我看一下OnCollisionStay的例子时,我完全感到困惑.即使它每帧调用一次,如果我跳到空中并撞到我上方的天花板,它仍然被称为?究竟有什么区别?以下是Unity文档所说的内容以及我使用的代码.

"当此对撞机/刚体开始接触另一个刚体/对撞机时,会调用OnCollisionEnter."

"对于每个碰到刚体/对撞机的碰撞器/刚体,每帧都会调用一次OnCollisionStay."

if(Input.GetKeyDown(KeyCode.W) && OnGround == True)
{
    rigidbody.velocity.y = jumpHeight;
}

onGround = false;

function OnCollisionStay()
{
    onGround = true;
}
Run Code Online (Sandbox Code Playgroud)

unity-game-engine

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

unity-game-engine ×1