Collision treatment for "long" objects ??
Blitz3D Forums/Blitz3D Programming/Collision treatment for "long" objects ??
| ||
Hi everyone. My understanding of B3D's collision support is: a) For moving objects, spheres against spheres, boxes, or polygons. This can be generalised somewhat by stretching the spheres in the vertical (y) dimension (ellipsoids). b) MeshIntersect detects collision between arbitrary meshes, but takes no account of their motion, is slow, and does not return detailed info (point of collision, normal, etc). c) Linepicks can be given a radius, allowing the user to construct 'swept-sphere' tests. I'd like to be able to do collisions for moving, 'long' objects (eg., a millipede). A single bounding sphere (option (a)) will give very inaccurate results. An obvious possibility is to use a string of overlapping spheres, arrayed in a line along the objects primary axis (eg., millipedes backbone). I did a search both here and at Blitz Coder to see if anyone had tried this, and it seems that Shawn Swift has posted code to do this. Unfortunately, the supplied links were two or three years old and are now dead. Are you out there Shawn? :-) Did anyone keep a copy of his code they could post? Does anyone have any other suggestions? I did some thinking along the lines of (c), and thought it'd be conceptually straightforward until I realised I'd forgotten that *rotation* of a multi-sphere object would mean that the outlying spheres would have translational motion in circular arcs. :-( Thanks for reading this, and thanks for any input. Cheers, Coda. |