In Java3D 1.5 and above, you have the Bounds collisions representation and detection system:
javax.media.j3d.Shape3D
Constructor:
Shape3D()
methods:
Bounds getCollisionBounds()
javax.media.j3d.Bounds
methods:
abstract boolean intersect(Bounds boundsObject)
abstract boolean intersect(Bounds [] boundsObjects)
Every physical virtual world object is some kind of Shape3D. A Bounds object can be perfectly calculated and obtained for every Shape3D. Now, these Bounds objects are just an invisible perimeter object of the original Shape3D, virtual world object. If Bounds break past each other’s barriers at collision, you can test for that being true or false.
A desired movement, being in two (2) or three (3) dimensions, is usually from the barycentre (“centre of gravity point”) or a surface or a 3D object. This movement is either a vector length motion in the direction and length of that vector. However that vector’s length can be broken down into a finite number of units, being pixel unit lengths. If you want a surface or 3D object to turn, in 2D or 3D space, by degrees or radians, then degrees and radian amount turning can also be broken down into the smallest finite unit, which for turns too is pixel units.
All this is fantastic, because just before you move or turn an object, at the smallest degree possible,
you can leave the Shape3D alone, and move the Bounds. You then do an intersection test with every other proximity relevant Bounds object, from all other such Shapes, like the ground, floor or any other Shape3D (Bounds) objects. This test will return true or false, and will not throw any exceptions. If you get a false, that there is an intersection, you then know that you can’t keep up moving or turning any more pixel units, and that your primary object, or otherwise, must stop then due to obstruction.
Now this is how you can do things in Java3D. But I now wish to use JMonkeyEngine 3.5. I have only been told it has a ray casting system. I was really hoping that it would also have a Bounds pre motion collision system, because that is must easier, and sensible to perceive, from my point of view.
Does JMonkeyEngine have a Bounds intersection system for collision detection? If not, what does it have,
and how is that applied on the motion or turning of an object in relation to other objects, no matter where the two (relative proximity) objects are, or what their surfaces are like, to the smallest resolution possible, which I still believe is the pixel unit? Can someone please respond with an addressal answer to my one bigger question here, please?