Monday, December 7, 2009

There we go...

Problem resolved. How?
  • Restarted my computer.
  • Used a less efficient (but more stable) function for recalculating the bounding structure of the convex hull pieces (refitTree() instead of partialRefitTree()) at each time step.
I feel kind of silly for not being able to pinpoint the problem faster...oh well. Here's a video showing the deformable head collider (a composition of multiple convex hull shapes) in action!

The blue portion shows the mesh (.obj) that I fed into the program. As you can see, the convex hull approximation isn't bad at all! Here's a screenshot of the input mesh:
Obviously I had to decimate the original (the one Cat gave me) to obtain this semi-dense starting point. The convex hull decomposition library seems robust enough to generate hulls given the original .obj as input. However, it takes a long time to do so, so I'll use this semi-reduced version for testing purposes. Additionally, there is still the issue of creating a mapping from the vertices of the convex hulls to the vertices of the original mesh (in order for the head collider to accommodate deformations in the original). But for now, it's time to move on to making those LODs! I'm going to look into Bullet's btSoftBody class to see if it can help at all...

No comments:

Post a Comment