Main Menu

Version 0.97 has been released!

Started by EgonOlsen, January 08, 2004, 07:05:24 PM

Previous topic - Next topic

EgonOlsen

Changes are documented here: http://www.jpct.net/changes.html

Please note that this release doesn't contain the Bounce-example anymore, because i decided to remove it from the distribution.

Have fun!

acorn98

The new release has optimisations for ellipsoid collision for elevators etc.

I'm using ellipsoid collision, and I've discovered that you cannot 'ride around' on moving objects - does this new release allow you to do so?

EgonOlsen

"Riding around" on moving entities actually isn't a problem that can be solved with collision detection alone. It's  something the game logic has to handle. Albeit i haven't implemented it myself yet, i suggest to simply apply the transformations of the moving entity to the camera (or the object, which can be done using object hierarchies) if the camera/object collides (and that's where the collision detection can be helpfull) with the entity or is close to it or has activated a trigger or whatever.
Where the recent changes of the collision detection code help is when an entity itself moves into the radius of the collider's ellipsoid in the opposite direction of the collider's translation. Like an elevator that moves up and the collider standing on the elevator moves down due to gravity. The former code couldn't handle this case, because the ellipsoid collision detection tries to avoid collisions before they happen, but in this case there could already  be a collision when the detection starts. Now, the ellipsoid collision detection will adjust the colliders translation so that it moves out of the collision first. Due to the way how ellipsoid collision detection works in jPCT, this can only work fine when it's possible to avoid the collision by translating the collider in the direction of its current translation vector (or in the opposite direction, i.e. by multiplying it with a scalar). This is due to the fact that this method usually uses sliding planes and not (like the spherical collision approach) the face normals to adjust the translation. Well, it's kinda hard to explain.. :? ..to summarize this: You can do elevators with this modification (look at the updated fps-example) but it doesn't work as a "push me out of any collision there is"-approach. That's what the spherical approach is for.

Hope this helps!

acorn98

great stuff. I'll give it a go and see what happens!