which method of collision detect do you recommend for a 3d environment? (2 spinning cubes hitting each other)

I was in a hurry earlier so now I will add to this post. What you are looking for is likely Oriented Bounding Boxes (OBBs), The book above has many different forms of bounding volumes and has a section on how to perform OBB tests.

For just cubes, you’ll likely be able to get away with using each cube as an oriented bounding box. Testing the separating axes between the boxes can then be used to determine whether or not they intersect. There are numerous examples of this in literature (like the book noted above) as well as online.

You’re also being vague as to exactly what the end goal is. There are differences between just checking to see if two objects collide and figuring out where they collide, the latter being more complicated. If it’s to be generalized beyond cubes, bounding volume hierarchies can be constructed and tested between objects before doing triangle to triangle collision tests in order to limit the number of triangles to check.

Are you looking to learn the details of physics or just use a collision detection library? For the later you might find benefit from looking at an open source library bulletphysics.org and download to try the demos.

Can anybody name the most common collision detection methods in 3d?