thefixer opened this issue on Aug 07, 2007 · 430 posts
kuroyume0161 posted Tue, 21 August 2007 at 8:23 PM
Hell yeah! ;D
Collision detection is based on the object surface(s) - which are usually polygonal. Put simply, the more polygons involved, the longer the algorithm takes to determine where the collisions occur. If you can provide less polygons to a collision detection algorithm, all the better. Some solutions allow for 'primitives' (mainly spheres) because they can compute the collision based on simpler math - a procedural sphere is far faster than any number of polygons in a closed object. This is exactly what C4D allows for if you can use a sphere (proper: ellipsoid) as a collider proxy or direct collider - and is good for a simplified head representation for instance.
This is exactly why I went for the reduced polygon mesh option in my plugin - you get a good approximation of the high-polygon mesh with much fewer polygons (user set reduction percentage) to increase dynamic calculation speeds. Procedural proxies are great but in close up situations requiring more accuracy you can see the procedural shape (as the hair bounces before hitting the actual mesh, for example). Along with proxies is limited regions. If you are doing somewhat short head hair, you don't need to include the legs, right? If you can only include the polygon regions that will be in the range of the hairs' contact, you can increase simulation speeds. In C4D, one can use polygon selection tags for this purpose. In Poser, you may be able to specify groups which would be very helpful - need more info on that possibility.
The basic premise is this: how small a region of an object is affected by the dynamic object calculations and how simple can you make that region's representation to get the desired results asap. I'll give that Poser's dynamic cloth and hair may be just as fast as other applications - if one could apply this premise to the dynamic calculations. I'm sort of surprised that the developers hadn't considered an auto-proxy solution - considering that they succeeded with dynamic SPD for displacement and such. Real-time LOD is a quite well established form of mesh reduction (hint). ;)
C makes it easy to shoot yourself in the
foot. C++ makes it harder, but when you do, you blow your whole leg
off.
-- Bjarne
Stroustrup
Contact Me | Kuroyume's DevelopmentZone