Adjust the eye level for line of sight checks (Fixes #3407)

coverity_scan^2
scrawl 9 years ago
parent a2153a6213
commit e396e6f2ea

@ -3,6 +3,7 @@
#include <stdexcept>
#include <osg/Group>
#include <osg/io_utils>
#include <BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h>
#include <BulletCollision/CollisionShapes/btConeShape.h>
@ -946,8 +947,10 @@ namespace MWPhysics
if (!physactor1 || !physactor2)
return false;
osg::Vec3f pos1 (physactor1->getCollisionObjectPosition() + osg::Vec3f(0,0,physactor1->getHalfExtents().z() * 0.8)); // eye level
osg::Vec3f pos2 (physactor2->getCollisionObjectPosition() + osg::Vec3f(0,0,physactor2->getHalfExtents().z() * 0.8));
osg::Vec3f pos1 (physactor1->getCollisionObjectPosition() + osg::Vec3f(0,0,physactor1->getHalfExtents().z() * 0.9)); // eye level
osg::Vec3f pos2 (physactor2->getCollisionObjectPosition() + osg::Vec3f(0,0,physactor2->getHalfExtents().z() * 0.9));
std::cout << "pos1 is " << pos1 << " pos2 " << pos2 << std::endl;
RayResult result = castRay(pos1, pos2, MWWorld::Ptr(), CollisionType_World|CollisionType_HeightMap|CollisionType_Door);

Loading…
Cancel
Save