Manipulating Islands for performance (special case)

Punhey
Posts: 7
Joined: Wed Jul 23, 2008 3:25 am

Manipulating Islands for performance (special case)

Post by Punhey »

I am trying to simulate a very, very large wall of "bricks". Naturally, since all of these bricks are adjacent, they are all in the same island. However, in my special case, I'm "firing" a single relatively low-velocity, low-mass object at this wall at a time, meaning that no significant amount of energy will be communicated to distant bricks, only to those in the immediate vacinity.

So in the interests of CPU, is there a way to analytically designate the area surrounding the impact point as an island unto itself so as to minimize the CPU intensity of calculating the result of the impact?

Or would a better way be to set all the bricks to 0 mass (making them static), and then wait for the projectile to impact the wall, and then at that point instantly find a bounding box around the point of impact and make all bricks within that bounding box active by setting their masses to the desired value, leaving more distant bricks set to static? Would that be easier, and would it achieve the desired effect?

Thanks!
User avatar
projectileman
Posts: 109
Joined: Thu Dec 14, 2006 4:27 pm
Location: Colombia

Re: Manipulating Islands for performance (special case)

Post by projectileman »

Hi. I want to revive this old thread that never had been responded.

The question is knowing exactly what is the main utilization of the island classification in Bullet?
It is more concerned to the sleeping/deactivating process? or clustering contact constrains for solving them in parallel??

I haven't found if they are used in shock propagation for maintaining the stability of stacks of bodies, or resting contacts. Indeed Bullet supports stacking, but I really can't find out how it works.