reference application

Problems building or running the engine, queries about how to use features etc.
User avatar
muppet
Halfling
Posts: 66
Joined: Thu Jan 13, 2005 2:38 pm
Location: UK

reference application

Post by muppet »

Hi,

I noticed that if you hit a box against the stairs/steps in the bsp collision demo, the box random acts like it has been given an extra push of force and flies off with a very fast speed. This obviously doesnt simulate what would really happen.

Does anyone know the reason for this? If so how is it solvable? I have studied the code for it, but cannot figure out why this occurs.


Thanks in advance.
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 67

Post by sinbad »

It's because Q3A only provides planes for collision, and is really only designed for single-point collision. To do it properly we'd have to construct more complex collision proxies from the intersection of planes, which we haven't done in this case - it's just an example which is convincing enough in most cases.
User avatar
muppet
Halfling
Posts: 66
Joined: Thu Jan 13, 2005 2:38 pm
Location: UK

Post by muppet »

Ok cool thx for that its cleared some stuff up for me...although I'm still not sure why this thing occurs with the boxes. I mean what actually causes them to speed up like they do? and obviously what difference does more complex geometry make?

Thanks
User avatar
muppet
Halfling
Posts: 66
Joined: Thu Jan 13, 2005 2:38 pm
Location: UK

Post by muppet »

Sorry to be a pain but...has anyone got any suggestions?
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 67

Post by sinbad »

It's the inaccuracy - the collision is probably detected at a penetration depth deeper than would notmally happen if you had more accurate collision so it thinks the response force should be higher than it actually is.

You might be able to improve this by increasing the number of contact points on the boxes, see the ODE docs for details.