- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我使用 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;
}
最佳答案
这真的很简单。假设碰撞开始,碰撞体保持相交一段时间(几帧),一段时间后它们再次分离。那么事件是:
Even if its called once per frame, If I for example jump up in the air and hit a ceiling above me, is it still called?
当然是这样。但接下来就是新的碰撞。但是,如果中间有一段时间您没有与任何物体发生碰撞,则在此期间您将不会收到 OnCollisionStay 事件。
为了更深入地了解这些事件,最好创建一个简单的演示场景,在其中手动使两个碰撞器相交,并将一些文本写入控制台以表示各种事件。
关于unity-game-engine - OnCollisionStay 与 OnCollisionEnter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23681719/
嗨,我使用 Unity 一段时间了,但我仍然无法区分 OnCollisionStay 和 OnCollisionEnter 之间的区别。我假设当刚体(如球)与另一个刚体/碰撞体(如墙壁)接触时调用 O
我是一名优秀的程序员,十分优秀!