Originally
posted by
Jim Sachs:
As I look around my desk, I see a similar situation - a mouse, keyboard, speakers, stacks of papers, a desk lamp. I can reach out and touch the lamp shade, and I can see when my finger is about to make contact, but I wouldn't have any idea how to write an algorithm to do that.
I don't do 3d modeling and I'm not familiar with the process so this may be way out in left field and of no use whatsoever, but can you wrap the fish in a transparent "conformal bubble" and detect collisions between that "bubble" and the environment? If the bubble extends outwards xx pixels from the body of the fish, you could use that collision detection as a trigger that the inner (visible) fish is "about to make contact". That might give you enough time to call the appropriate sub-routines to smoothly handle the situation without having the fish appear to actually collide.