Thursday, July 15, 2010

Doh! Glimpses of enlightenment...

Don't you hate it when you work on the wrong file and keep wondering why something didn't work?
While doing another round of bug-squashing on 2.5 this evening, I was trying to debug a crash but every attempt at debugging the problem didn't improve the situation. Even the most trivial and blatant of test checks was failing! Just when I was about to call it a day, and go back to my SoC work, the glaringly obvious cause stood out: I had been editing the file from my SoC branch not the 2.5 tree. (Idiot moments += 1)

[Edit: It looks like the Durian team were also inspired to post about some of their moments... heheeehe]

Moving on to something a bit more relevant to SoC/Bullet stuff now...

Linked chain RB-sims: Potentially a step closer now (solution yet to be verified)
In response to comments on my earlier post about Mesh collision shapes, I tried seeing if such setups were currently possible.

My simple test case used a short chain made out of tori, with each torus alternating between a horizontal or vertical orientation (i.e. - | - | - |), and each torus using the 'Mesh' collision shape (convex hull currently). The (disappointing) result was that this chain would 'explode' as soon as the simulation was run.

At the time, I was a bit confused about the cause: Would extra constraints really be necessary to model the need for the links to maintain contact with each other? Or were the shapes simply sliding through each other because there were only verts and no other geometric restrictions present (i.e. no faces/edges to define the form of the points)?

Today, I think I understand this issue now. Flicking through some course notes (algorithms course, specifically the section on computational geometry), I noticed a diagrams about convex hulls... of course the torus chain didn't work! Duh!

Bullet would only really "see" the piece of virtual shrinkwrap mounted over the outer surface of each torus, ignoring the points defining the inner ring since those would be within the bounds of the volume encompassed by the shrinkwrap. Therefore, the tori would appear to be overlapping, which is something that shouldn't happen in a RB-sim, resulting in a large initial repulsion force or so being applied to each torus to force them apart.

Anyways, I just thought I'd note this here, since this info may be useful for someone when setting up their sims one day, and maybe this effect is what they're after (it could be called "Houdini's Rings" ;)

No comments:

Post a Comment