kend wrote:I have read the posts about size restrictions on objects etc. In my game the bounding box size of some objects can go down to 0.02 or so in one axis. My understanding is that this is too small to be reliable. So I was thinking that I could scale up everything for bullet by 10 (as an example). Is my thinking right here?
Scaling bounding volumes is easy. Scaling the actual triangles would be a pain though and having an extra copy of every mesh scaled for bullet is no good.
One could of course rescale the whole game world but that doesn't really sound very appealing either.
Any other ideas on how to solve this?
Also what is the minimum size I should stay above? Does this only relate to bounding volumes or is the size of individual triangles important too?
I want to make sure I understand the problem before I spend time solving it
Ken
The minimum objectsize is mostly for dynamic objects, so I wouldn't worry about static triangle meshes. It's more about dynamic convex hull/box/sphere/cylinder/cone.
This 'minimum size requirement' is due to the collision margin and contact point reduction. Those (independent) values are currently default set at around 0.04 units.
1) collision margin (collisionShape->SetMargin()): this value is to avoid doing costly penetration depth calculation, and also to guarantee a valid normal (otherwise touching objects have undefined contact normal). Don't make the value too small, otherwise performance degrades (due to slow penetration depth approximation), make it not too big, because objects will be 'rounded'. Effectively, objects can never be smaller then this margin.
2) gContactBreakingTreshold, this value is related to contact reduction (points closer then this value are regarded 'the same', and also contact breaking (if contacts are further away then this distance, they are removed). Those values are tuned, so it works nice with default gravity and timestep and object sizes. Make them too small, and you loose points and introduce jitter. Make it too big, and all points get reduced into 1.
So it's best not to touch those values unless necessary.
Do you require very thin moving boxes?
Thanks,
Erwin
PS: see also this link, Halo 2, Havok 2
'don't make anything smaller then a PC Monitor'
http://www.bungie.net/News/TopStory.asp ... lo2feature