PDA

View Full Version : fast way to animate a bunch of bobbing fish


Justin Meisse
09-08-2011, 09:44 PM
I'm an environment artist who knows enough rudimentary animation skills to get by and I've got something that is going to be tedious unless there's a faster solution: I need to animate a bunch of fish just sort of bobbing up and down in the water. What's a fast way to do it that doesn't involve me manually keying each fish by hand?

Ace-Angel
09-08-2011, 10:10 PM
I would say creating a dummy, linking it to all the fishy and animating said dummy should do it.

You could also create a second and third dummy, link certain fishy to those, and have them do a separate bob to add variation (once you keyed your fishy from the previous initial bob ofcourse).

Or you could just set up a water body particle, and collision them fishy, but it's will take longer then prior mentioned method.

NOTE: I'm no animator, so there could be a faster way.

Suidae
09-09-2011, 12:33 AM
Do you mean bobbing like this in the water? http://www.youtube.com/watch?v=PXilZbxgBF0

If so, you can also try the attachment constraint (http://www.3dmax-tutorials.com/Attachment_Constraint.html) in max. If the water is already animated, just attach the fish to the water and set their position, then you can adjust the pivot point to determine how deep in the water you want them to be.

Vailias
09-09-2011, 12:38 AM
consider using a particle effect? not sure how complex of motion you need for the individual fish, but you might get what you need with a simple particle generator, with a long particle life and some positional constraints and specify your fish mesh to be used as the particle.

Mark Dygert
09-09-2011, 09:43 AM
If the fish are all the same, animate one, copy it and then shift the keys in the time line so they bob at different times?

If the fish aren't all the same, you can animate a dummy, copy the dummy around and link the different fish to the dummies.

You could also animate one, save the animation and load it into the others. In 3dsmax >Main Menu > Animation > Load/Save

If only one track is animated like Z position you can copy that track in the curve editor (right click > copy) and paste it into the other fish Z position tracks fairly quickly.

Also 3dsmax has several crowd simulation systems that could be used but if you haven't used them its probably too complex for something like this.

Snader
09-09-2011, 10:43 AM
I have no idea if this could work but it popped in my head.

Have a plane (or other mesh) and snap/link/bone/whatever the fishes to some vertices on that mesh. Use a noise animation on the plane, and make a bobbing like animation. If this works, it should be quite nifty because you could change the animation for all fishes simultaneously.

http://www.3dtotal.com/team/Tutorials/linking_vertex/vertex_01.php This might be handy too.

edit - after more careful reading, this sounds a lot like Suidae's solution.

Justin Meisse
09-09-2011, 11:42 AM
If the fish aren't all the same, you can animate a dummy, copy the dummy around and link the different fish to the dummies.


Yeah, I ended up doing this - there were about 25 fish kind of floating around at different depths setting up any kind of simulation would of taken longer than doing it by hand.

passerby
09-10-2011, 05:47 AM
what engine are you useing maybe you could get some world position offset going in there material if using udk, and just drive it with a sine.

should work really well if your useing the same thing for your water.

be similar to water or wind effects on grass in how it works atleast

Andreas
09-10-2011, 05:49 AM
I'm an environment artist who knows enough rudimentary animation skills to get by and I've got something that is going to be tedious unless there's a faster solution: I need to animate a bunch of fish just sort of bobbing up and down in the water. What's a fast way to do it that doesn't involve me manually keying each fish by hand?

Best way would be a particle system, what software are you using?