1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-21 07:23:54 +00:00

Fixed NPC activation. Might require some more work when NPC physic will be used.

Note: some NPC seems to be smaller than other, but for now, the capsule shae size is the same for every NPC
This commit is contained in:
gugus 2012-01-23 21:49:51 +01:00
parent 26b9d0fdc3
commit 0a55fe0219
2 changed files with 11 additions and 7 deletions

View file

@ -34,8 +34,8 @@ namespace Physic
externalGhostObject = new PairCachingGhostObject(name);
externalGhostObject->setWorldTransform( transform );
btScalar externalCapsuleHeight = 130;
btScalar externalCapsuleWidth = 16;
btScalar externalCapsuleHeight = 120;
btScalar externalCapsuleWidth = 19;
externalCollisionShape = new btCapsuleShapeZ( externalCapsuleWidth, externalCapsuleHeight );
externalCollisionShape->setMargin( 0.1 );
@ -47,8 +47,8 @@ namespace Physic
internalGhostObject = new PairCachingGhostObject(name);
internalGhostObject->setWorldTransform( transform );
//internalGhostObject->getBroadphaseHandle()->s
btScalar internalCapsuleHeight = 120;
btScalar internalCapsuleWidth = 15;
btScalar internalCapsuleHeight = 110;
btScalar internalCapsuleWidth = 17;
internalCollisionShape = new btCapsuleShapeZ( internalCapsuleWidth, internalCapsuleHeight );
internalCollisionShape->setMargin( 0.1 );
@ -62,6 +62,8 @@ namespace Physic
mCharacter->mCollision = false;
setGravity(0);
mTranslation = btVector3(0,0,70);
}
PhysicActor::~PhysicActor()
@ -113,7 +115,7 @@ namespace Physic
btVector3 PhysicActor::getPosition(void)
{
return internalGhostObject->getWorldTransform().getOrigin();
return internalGhostObject->getWorldTransform().getOrigin() -mTranslation;
}
btQuaternion PhysicActor::getRotation(void)
@ -123,8 +125,8 @@ namespace Physic
void PhysicActor::setPosition(const btVector3& pos)
{
internalGhostObject->getWorldTransform().setOrigin(pos);
externalGhostObject->getWorldTransform().setOrigin(pos);
internalGhostObject->getWorldTransform().setOrigin(pos+mTranslation);
externalGhostObject->getWorldTransform().setOrigin(pos+mTranslation);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -89,6 +89,8 @@ namespace Physic
btCollisionShape* externalCollisionShape;
std::string mName;
btVector3 mTranslation;
};
/**