测试了一下NGS 和split impluse两种方法的Position Correction,感觉NGS虽然效果稍微好一些但是在某些极端情况下仍然存在oscillations现象(比如连接2个hing Joint的物体一个重0.1一个重1,然后将一个重10的物体砸向重0.1的那个),虽然oscillation幅度明显小于split impluse方法,但是由于该方法的非线性性质导致运算量很多,综合考虑目前决定在系统中统一运用split impluse方法,经过测试,模拟的真实性明显上升(box之间碰撞不会出现overshoot现象,joint的Limit也不会出现Bounce现象了),我测试了一个简单场景 4x4x4个box堆叠外加一个(-45,45)joint Limit的Hinge Joint 和一个
(-6,2)joint Limit的Slider Joint 测试效果比较好基本消除了Over Shoot和Bounce现象,
操作 A,S,D,W移动,左键旋转摄像机,右键发射方块
https://files.cnblogs.com/fishboy82/PositionCorrection.rar