在 Unity 场景中,想象一下
一个大的滑动物体(可能是一个“集装箱”或一个“沙发”由于某种原因滑动)
途中有数根2m高的轻木棍轻轻地插在地上。
在现实生活中,棍子会站在那里(首先,这实际上在 PhysX 中很难实现),当大物体击中它们时,
大物体将完全不受影响
棍子会被轻快地击倒,可能会从地面反弹一两次,然后降落在某个地方
我发现这在 Unity 中很难做到。
通常你会说:“给大物体几千的质量,而棍子的质量只有 1 或 2 公斤”。
但是我发现这真的行不通- 棍子确实倾向于旋转大型滑动物体。
如果你将大物体的角度阻力设置得高,那不是你想要的,因为它是其他行为。
在第一个例子中,我使棍子运动(这样他们就可以站起来而不会摔倒),然后当大物体敲击它时......
protected void OnCollisionEnter(Collision collisionInfo) {
rb.isKinematic = false;
}
也许这样做的唯一方法是
事实上,这些棍子在物理上完全不受大物体的影响
当他们触摸(触发)时,实际上只是独立地让棍子随机“飞走”。(让木棍只与地面碰撞,风景。)
如何在 Unity/PhysX 环境中执行此操作?