Home Register Arcade Gallery Chatroom Members Search Today's Posts Mark Forums Read Log In
Go Back   Inside: SereneScreen Fan Forum > SereneScreen Products > Marine Aquarium 3 for Windows > Marine Aquarium 2 for Windows Archive
Notices

Reply
 
Thread Tools
Old 08-01-2004, 03:39 PM   #1
Submariner
Registered
 
Submariner's Avatar
 
Join Date: Sep 2003
3 Highscores

Location: Connecticut
Posts: 901
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
Submariner is offline   Reply With Quote
Old 08-01-2004, 05:04 PM   #2
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,937
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
feldon34 is offline   Reply With Quote
Old 08-01-2004, 08:38 PM   #3
Jim Sachs
Developer
 
Jim Sachs's Avatar
 
Join Date: Dec 2000

Location: Southern Oregon
Posts: 9,768
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
Jim Sachs is offline   Reply With Quote
Old 08-02-2004, 12:18 PM   #4
Submariner
Registered
 
Submariner's Avatar
 
Join Date: Sep 2003
3 Highscores

Location: Connecticut
Posts: 901
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?
Submariner is offline   Reply With Quote
Old 08-02-2004, 01:31 PM   #5
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,937
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
feldon34 is offline   Reply With Quote
Old 08-02-2004, 06:22 PM   #6
klyntun
Guest
 

Posts: n/a
Jim, you never cease to amaze me.
  Reply With Quote
Old 08-02-2004, 06:47 PM   #7
Marian Nichols
~Author~
 
Marian Nichols's Avatar
 
Join Date: Apr 2003

Location: Rocky Mount, NC
Posts: 7,429
Talented and intelligent, and not too bad looking.
Marian Nichols is offline   Reply With Quote
Old 08-02-2004, 07:16 PM   #8
klyntun
Guest
 

Posts: n/a
Thanks, Marian.
  Reply With Quote
Old 08-03-2004, 04:40 AM   #9
Marian Nichols
~Author~
 
Marian Nichols's Avatar
 
Join Date: Apr 2003

Location: Rocky Mount, NC
Posts: 7,429
Marian Nichols is offline   Reply With Quote
Old 08-03-2004, 10:37 AM   #10
Submariner
Registered
 
Submariner's Avatar
 
Join Date: Sep 2003
3 Highscores

Location: Connecticut
Posts: 901
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
Submariner is offline   Reply With Quote
Old 08-03-2004, 12:26 PM   #11
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,937
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
feldon34 is offline   Reply With Quote
Old 08-11-2004, 06:15 PM   #12
Submariner
Registered
 
Submariner's Avatar
 
Join Date: Sep 2003
3 Highscores

Location: Connecticut
Posts: 901
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
Submariner is offline   Reply With Quote
Old 08-11-2004, 06:27 PM   #13
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,937
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
feldon34 is offline   Reply With Quote
Old 08-11-2004, 07:24 PM   #14
Jim Sachs
Developer
 
Jim Sachs's Avatar
 
Join Date: Dec 2000

Location: Southern Oregon
Posts: 9,768
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
Jim Sachs is offline   Reply With Quote
Old 08-22-2004, 01:33 PM   #15
Submariner
Registered
 
Submariner's Avatar
 
Join Date: Sep 2003
3 Highscores

Location: Connecticut
Posts: 901
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
Submariner is offline   Reply With Quote
Old 08-22-2004, 04:08 PM   #16
feldon34
Forum Administrator
 
feldon34's Avatar
 
Join Date: Dec 2000

Location: Rock Hill, SC
Posts: 10,937
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
feldon34 is offline   Reply With Quote
Reply
Go Back   Inside: SereneScreen Fan Forum > SereneScreen Products > Marine Aquarium 3 for Windows > Marine Aquarium 2 for Windows Archive



Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT -6. The time now is 11:19 PM.


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