Inside: SereneScreen Fan Forum

Inside: SereneScreen Fan Forum (https://www.feldoncentral.com/forums/index.php)
-   Marine Aquarium 2 for Windows Archive (https://www.feldoncentral.com/forums/forumdisplay.php?f=2)
-   -   animation (https://www.feldoncentral.com/forums/showthread.php?t=2511)

Submariner 08-01-2004 03:39 PM

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

feldon34 08-01-2004 05:04 PM

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.

Jim Sachs 08-01-2004 08:38 PM

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.

Submariner 08-02-2004 12:18 PM

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?

feldon34 08-02-2004 01:31 PM

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.

klyntun 08-02-2004 06:22 PM

Jim, you never cease to amaze me. :TU:

Marian Nichols 08-02-2004 06:47 PM

Talented and intelligent, and not too bad looking.:D

klyntun 08-02-2004 07:16 PM

Thanks, Marian. ;)

Marian Nichols 08-03-2004 04:40 AM

;)

Submariner 08-03-2004 10:37 AM

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

feldon34 08-03-2004 12:26 PM

Vertex Morphing.

Submariner 08-11-2004 06:15 PM

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

feldon34 08-11-2004 06:27 PM

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.

Jim Sachs 08-11-2004 07:24 PM

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.

Submariner 08-22-2004 01:33 PM

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

feldon34 08-22-2004 04:08 PM

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.


All times are GMT -6. The time now is 09:02 AM.

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.