Home | Register | Arcade | Gallery | Chatroom | Members | Today's Posts | Search | Log In |
|
Notices |
|
Thread Tools |
08-01-2004, 03:39 PM | #1 |
Registered
Join Date: Sep 2003
Location: Connecticut
Posts: 905
|
animation
As a beginner to animation and an artist, I was wondering about MA fish movements. I understand that there are two versions of a fish, at rest
and extreme fishbend. The programming wags the fish back and forth. How does it do this without the inbetween frames? This is unlike anything I have been reading about. Does anyone know where I can read more detailed info on this kind of movement? SUB |
08-01-2004, 05:04 PM | #2 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
I'm sure Jim will be along shortly to correct me.
I think what is happening is that let's say he's bending the tail first. So for each point on the fish's rear half, it starts out with 100% of fishbody and 0% fishbend. Then 99% fishbody and 1% fishbend. etc. So it should morph from one to the other gradually. Then you animate the fish's front half a half-second later using the same technique.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
08-01-2004, 08:38 PM | #3 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,788
|
Yes, the amount of bend for a fish on the screen is determined by a percentage between an unbent model and a fully-bent-left model. When the program starts, both models are loaded into memory, but neither is ever actually shown on the screen. The visible fish model is generated moment-by-moment from the two models in memory depending on how bent the fish should be at that instant. To bend it left, the x coordinates are added, and to bend right, they are subtracted -- that way only a bend-left model is needed, not an additional one for bending right. It gets into some fairly difficult programming, which a traditional animator would find rather foreign.
The fish do not actually have multiple-bends (like sine-waves) going through their bodies, though that is the impression I try to give. The combination of a single bend, turning based upon the amount of bend, and lagging of the fins is enough to fool most people.
Jim Sachs
Creator of SereneScreen Aquarium |
08-02-2004, 12:18 PM | #4 |
Registered
Join Date: Sep 2003
Location: Connecticut
Posts: 905
|
Is there an advantage to doing it that way instead of putting
say 15 or 20 frames per movement? Wouldn't the fish movements be smoother the way I just described? |
08-02-2004, 01:31 PM | #5 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
The animation would be LESS smooth with 15-20 in-between frames. If you look at a circular shape like a steering wheel, boulder, etc. in a video game, you see that it is made up of steps. It is actually a polygon with 15-25 sides. It doesn't look as good as a real circle. This "stepping" takes away realism.
Right now, the fishbody and fishbend for each fish combined are about 8kb compressed. Multiply by 26 fish and you see that the fish geometry for 2 frames per fish is 195kb. If each of the 26 fish had 20 frames of animation, then just the geometry would mushroom to 2MB. Also, Jim uses the DXT3 texture format which is highly compressed. The artwork for 26 fish is an amazingly-small 350kb. If he used BMP or PNG, the artwork would mushroom to 2 or 3 megabytes. Pretty soon you are getting up into 5 and 10 megabytes which is, coincidentially, about the same size as some of the competing Aquarium screen savers! Realism, ability to run on many different kinds of computers, and file size were Jim's 3 main priorities in the development of the Aquarium. Having the Aquarium fit on a floppy is probably the cause of many hundreds of sales of the Aquarium early on in its life.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
08-02-2004, 06:22 PM | #6 |
Guest
Posts: n/a
|
Jim, you never cease to amaze me.
|
08-02-2004, 06:47 PM | #7 |
~Author~
Join Date: Apr 2003
Location: Rocky Mount, NC
Posts: 7,429
|
Talented and intelligent, and not too bad looking.
|
08-02-2004, 07:16 PM | #8 |
Guest
Posts: n/a
|
Thanks, Marian.
|
08-03-2004, 04:40 AM | #9 |
~Author~
Join Date: Apr 2003
Location: Rocky Mount, NC
Posts: 7,429
|
|
08-03-2004, 10:37 AM | #10 |
Registered
Join Date: Sep 2003
Location: Connecticut
Posts: 905
|
Morgan, i see your point. So how come I am having
trouble finding info on this type of animation? Does it have a name so I can read more about it? SUB |
08-03-2004, 12:26 PM | #11 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
Vertex Morphing.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
08-11-2004, 06:15 PM | #12 |
Registered
Join Date: Sep 2003
Location: Connecticut
Posts: 905
|
Can you use vertex morphing for any animal, say a shark or a snake that doesn't wag back and forth like MA fish. Wouldn't it look awkward with it's movements?
SUB |
08-11-2004, 06:27 PM | #13 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
The fish in SereneScreen Aquarium are not morphed as one piece. The front 50% of the vertices morph. Then after a half-second, the rear 50% do the same thing.
Morphing would not work for a snake. Specifically for a sidewinder. You are much better to use a sine wave. Other snakes have different movement types. Sharks do wag from side-to-side so morphing is certainly a possibility, although even more complex than the 50-50 being done by Jim. Morphing is a type of "procedural" animation. Procedural animation is always smoother and more efficient than motion-captured or frame-stepped animation because you can generate an infinite number of frames. But it may be impossible for complex creatures. One of the drawbacks of procedural animation is that it requires that you have full control over each vertex. The roadblock Jim kept running into with these 3D animation programs is that the vertex list would be saved in a different order each time. As a result, the fish would fly apart during each morph. Getting this under control usually means writing your own import/export routines and using specialty 3D modeling and animation programs like Rhino.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
08-11-2004, 07:24 PM | #14 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,788
|
That's why I use Lightwave - it keeps the same vertex order each time the object is saved. I can load in my generic fish, stretch the vertices until it's a triggerfish, and the list will still be in the same order, even though the points are now in wildly different locations. Other programs re-arrange everything based on polygon efficiency, the phase of the moon, or often nothing at all.
Jim Sachs
Creator of SereneScreen Aquarium |
08-22-2004, 01:33 PM | #15 |
Registered
Join Date: Sep 2003
Location: Connecticut
Posts: 905
|
The goldfish uses traditional animation right?
(Judging from the size of the program) It looks very smooth. Why didn't Jim do it the same way?? SUB |
08-22-2004, 04:08 PM | #16 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
No, the Goldfish Aquarium does not use keyframe animation. It uses procedural animation as I have described earlier in this thread. If you watch GA in wireframe mode, you will see that the fins never repeat the exact movement but instead use a series of sine waves to generate smooth, semi-random movement.
By switching to keyframe animation, the realism would drop dramatically, the filesize would mushroom, and the amount of time it takes for the Aquarium to start up would exceed 10 seconds like all the other keyframe-animated aquariums out there.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
|
|
|