AKA why does my animation look so bad?
Ive asked myself this question a couple times and decided to sit down and explain what I’ve come to understand to everyone else. For this article I’m going to use and animate the Orbital Fern 3d Fractal I created a while back – this article assumes you have a decent working understanding of Xenodream.
There are few things to know about Xenodream off the bat.
Most important is that it leaves the task of anti-aliasing to you. This can usually be accomplished by simply sizing down your image in any decent graphics program like photoshop. Below are two images from the same source file. The image on the left is the raw render at 1024×768 with all the aliased edges giving a very rough unpleasant feel to it. The one of the right was simply resized down to 800×600. I hope everyone agrees that the image on the right looks better, even though it is at a smaller resolution.
Now why is this? As far as why the program doesn’t anti-alias Garth (the programs creator) says on the discussion list that its largely a technical issue but the details are available in this post for those on the Xenodream pics yahoo mailing list.
As to why the smaller image with technically LESS detail ends up looking MORE detailed? It’s been explained much better elsewhere than I could ever hope to convey so I recommend you read this article on anti-aliasing (you can simply mouse-over to get the gist of it)
So with that in mind – if you are creating a Xenodream Animation and you aren’t taking this into account and outputting frames at the final end size of your project you will be creating another problem. There will be frame to frame aliasing as well which a good motion graphics editor should be able to fix, but simpler gif animation suites may not.
The end result will be that if your animation has any kind of small details it will probably sparkle, shift and jump in a bad way which will be totally distracting to the viewer. Digital Noise. The smaller you render your file the more noticable these artifacts will be.
Here is an example of a scaled down animation compared to an not scaled down animation at the same size Side by Side so you can see the differences – the jump in the middle of the file is some oddity with animating metamorphs.
So here are the quick simple steps I took to create the better of the two of these animations.
open up or create an XEP file. I chose my orbital ferns since I really like the detail in that one and wonder what it would look like in motion.
Goto the animation tab and click on the first memory spot. I also changed some other values for these reasons:
Steps: aka frames. Most standard motion video uses 29.97 frames per second. Ive chosen 329 frames which will yeild roughly 10.97 seconds of footage
Apply Pits: this will remove any ‘pits’ from the image. (for example see the lighting window image below) A pit will show up on your render as a sort of square box. If you are getting pits the general solution is to render for a longer time. I changed this to 4 because it seems to get almost all the pits without effecting the image.
Apply Polish : This smooths out some of the rough edges and bumps but not to be confused as a replacement for anti-aliasing. Ive found this to work for some images and not well for others, play with this and see what looks best for your image.
3) Play with and tweak your fractal until you find the destination point and click the second box in the memory spot grid – I liked how this one looks.
4) Now goto the rendering tab and Ill show you the options I’ve adjusted for this animation as well as why.
terminate at: very important for batch renders. When rendering in chaos mode you’ll see a number counting down in the render tab, starting high and working its way lower – this essentially represents how rendered the image is; the lower the number the more rendered the image is. If you watch the number you’ll see that it jumps around but not randomly or wildly – It centers around an average. This is what what the terminate at field essentially deals with – telling the image when to stop rendering and move onto the next in the batch. As you will be dealing with a large number of images improper setting can have a large impact on the outcome – From unfinished frames or frames that take hours each.
If you do a test render at your desired size its smart to watch the numbers – I do this by working on the lighting preset while its rendering and clicking and dragging around inside the preview window of the lighting window. When all the pits are gone and the image doesn’t seem like its gaining any detail I take a mental note of the number in the render window.
Working this way I came to a really high number for this one 1124 (I usually terminate at 150) So this saves me a bunch of render time.
Render Size: I chose 1024×768 because I wanted to scale down to 800×600. This is where you over compensate. Just make sure you keep the same aspect ratio (1024×768 = 4:3 | 800×600 = 4:3)
5) Do a test render and adjust the lighting – I usually start a full scale render and watch the numbers as mentioned above in the terminate at: section. While doing this I tweak the lighting to my satisfaction. Another thing I always check for is by clicking the lights and checking that for all lights the smoothing and fringe values are set to zero. (below) I find that this adds extra lines around the details and if its not intentionally added it ends up looking sort of bad.
6) After this point you wont be able to change the lighting, opacity, or shadows so before you do this make sure you are satisfied. In the Animation tab hit ‘Create Batch’ and name your file. This will export all of the individual XEP files to a folder of your chosing with the name +0001-bat.xep
7) After you’ve set the directory where xd will place all of your rendered files via the Destination dialog below “Select Files”
Right next to the Create Batch is the Batch render button – you can load all the xeps you just exported and start the rendering process.
8) string them all together in a motion graphics program – I use after effects to import the JPG sequence and then export as a mov file using the sorensen3 codec at 98% quality
Below is the finished animation
This tutorial is by no means comprehensive and there are many options Ive left out which are useful to creating animations. Feel free to leave comments with any tips you’ve found and would like to share or questions.