mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-12 13:13:27 +00:00
Ignore projectiles inside of MovementSolver::unstuck. It is normal for actors to be inside of a
projectile collision shape. A side effect of moving actors outside of projectile collision shape is that if both the actor and the projectile are near a wall, the actor could get moved outside of the world.
This commit is contained in:
parent
ab28847eaf
commit
b78820de55
@ -38,7 +38,7 @@ namespace MWPhysics
|
|||||||
ContactCollectionCallback(const btCollisionObject * me, osg::Vec3f velocity) : mMe(me)
|
ContactCollectionCallback(const btCollisionObject * me, osg::Vec3f velocity) : mMe(me)
|
||||||
{
|
{
|
||||||
m_collisionFilterGroup = me->getBroadphaseHandle()->m_collisionFilterGroup;
|
m_collisionFilterGroup = me->getBroadphaseHandle()->m_collisionFilterGroup;
|
||||||
m_collisionFilterMask = me->getBroadphaseHandle()->m_collisionFilterMask;
|
m_collisionFilterMask = me->getBroadphaseHandle()->m_collisionFilterMask & ~CollisionType_Projectile;
|
||||||
mVelocity = Misc::Convert::toBullet(velocity);
|
mVelocity = Misc::Convert::toBullet(velocity);
|
||||||
}
|
}
|
||||||
btScalar addSingleResult(btManifoldPoint & contact, const btCollisionObjectWrapper * colObj0Wrap, int partId0, int index0, const btCollisionObjectWrapper * colObj1Wrap, int partId1, int index1) override
|
btScalar addSingleResult(btManifoldPoint & contact, const btCollisionObjectWrapper * colObj0Wrap, int partId0, int index0, const btCollisionObjectWrapper * colObj1Wrap, int partId1, int index1) override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user