[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5284: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5284: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5284: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
The Official Reality forums • Animation Guide
Page 1 of 2

Animation Guide

Posted: Tue Mar 01, 2016 10:16 am
by tripleslash
Rendering animations is a slow process, even on fast machines expect days of rendering.
Let us say a frame takes 30 minutes to render. At 24 frames per second, a minute will take 24x60*30=43200minutes or 30 days to render.
Here is a quick guide on how to ‘cheat’ and speed up the process in such a degree that rendering 4k animations is possible on a normal stationary work station anno 2016.

GPU
The Absolutely first thing you want to consider when rendering animations is how to get the massive speedup from using a GPU instead of a CPU. A 4 core Intel i7 3770k overclocked to 4.5GHz can render a test scene at around 150 thousand samples per second (ks/s). An Nvidia GTX 970 can render at 1500 ks/s = 1.5Ms/s.
So you get around a 10X speed increase.

GPU RAM
You will need to watch the GPU’s graphics RAM usage, G-RAM is different from your normal RAM in that it is insanely fast but you seldom have more than 2-6 GB of it. If any errors occur after export in Luxrender you most likely are running out of G-RAM.
You can use GPU-Z to view the amount of G-RAM available,
You can decrease the amount of G-RAM used by setting the lowering the output render size, using lower resolution on the textures, using lower polygon figures or simply remove anything from the scene the camera does not see.

You can use the “frame size” in output to quickly change the output resolution.

You can use texture collection to quickly change the resolution of the textures used.

You can lower the polygon count by setting subdivision to 0 in the materials under modifiers.

My experience tells me that the next time I buy a graphics card G-RAM will be the major priority. I have 4GB of the stuff and it is barely enough for single figure scenes.

Also, having two graphic cards of say 2GB GRAM in your computer does not give you 4 GB of G-RAM available, they are independent units like two different computers. So for your next graphics card think single card with lots of G-RAM

Don't use the skin material
Change all skin material to glossy when rendering in OpenCL

Embrace Noise
How many people complains about noise issues in movies from before the year 2000?
Terminator, Alien, Barry Lyndon, all have one thing in common, good old film grain derived from using high ISO film in very dark scenes.

Since each frame is only displayed at a 1/24th of a second, the noise will ‘disappear’ in the eyes of the viewer.

This only happens if the noise falls randomly on each frame and not at the same pattern over and over. The Sobol sampler has this problem, it is very fast, but if you start seeing a “mask” of noise which looks like a smudge on the lens that it sticks to the camera, then go for the Metropolis sampler instead.
That said, you can render animations with a sample per pixel value as low as 25 in some 4k scenes. Go for a higher sample per pixel value if you render in FHD 1920x1080.

h264 codec and HVAC also removes noise by using information from multiple frames. You'll be surprised how much noise you'll find acceptable in a 4k video clip compared to a 4k still image

On a off site note, you might find that the time used for the GPU to render a frame with say 25 samples is shorter than it is for Luxrender to prepare the image for rendering.


Use Reality's 'Lights' and 'Cameras' Panel

When animating, the last thing you want is the auto exposure to flicker just because a light or a reflection turns up in the animated sequence.
Render a still frame from the middle of the sequence.
In Luxrender tune each light to your exact specifications, i.e gain and color temperature.
Choose manual exposure and find the correct exposure settings there.

Once the picture looks how you like it, copy the camera and light settings into Reality.

DOF Looks Great
Use Depth of field, it makes your animations look a lot more “realistic” and it is impossible to do it after the rendering of the animation is completed. DOF can really bind a 3d scene together, and works really well together with camera movement.

Use the focus distance guide, in poser: Display->Guides->Focus Distance Guide

And remember to animate the focus distance!


Focus Tip: Always focus on the Iris not on the eyeball.
Focus Tip2: For precision focusing you can use the "one side square" in Poser by grouping it to your main camera. So that you can use it to measure the distance instead of using Posers own distance guide.


Use Transparent Background
In output you can boost the rendering time by rendering over a transparent background. This is because the computer power needed to calculate zero textures, zero reflections and zero caustics is pretty low.

Transparant backgrounds are also great if you want to use the same character animation on different scenes in post production.

In animation classics like The Flintstones or Wile E. Coyote and The Road Runner the animation of them moving their feet were almost always the same while the background changed. This technique saves a lot of time, even in the digital age

I.e you can render a character animation for example dancing and change the background like a green screen.

If you do this, make sure lights and so isn't visible in the scene and keep the camera steady.

If you use poser 11, make sure the "ground" dome texture is set to hidden in Reality's material editor

Don't use transparent backgrounds if you use DOF effects.


Borders match figure, Forget 16:9
If you use a transparent background and choose to add the background later in your post production you can speed up the rendering time of each individual frame greatly by reducing the render dimensions. Usually people are tall standing up and seldom as fat as 16:9, Jabba the Hutt being the exception. No one is going to see the pixels that does not contain a figure since you are working on a transparent background anyways, so reduce the sides. Render in 9:16 instead of 16:9 i.e. 1215x2160 instead of 3840x2160. Note the height is still 4K, but the megapixel count is reduced by a factor of 3. This little trick can increase the sample speed from 1.6Ms/s to around 3Ms/s on my system.

Just be careful that the figure does not move outside of the frame, not even a hand for a few frames, since the cropping will look very bad on the finished project

This also helps you reduce G-RAM usage

DISK SPACE!
You need LOTS of disk space. A 900frame sequence in 4K easily eats up 600GB of disk space due to the creation of .flm files.

Key frames and vectorized motion
Here is an interesting trick that requires After Effects ‘Timewarp effect’, Twixtor or Premiere Pro CC. You can speed up the whole render by only rendering every second frame, and use pixel motion interpolation to “dream up” the missing frames. This works well if you are dealing with slow action motion, like moving a camera around etc.
In some scenes you can go as low as only rendering 1 out of 5 frames.

Network Rendering Slows you Down

This one is totally counterintuitive.

Luxrender lets you set up a network rendering farm of your own. It works very well when rendering still images especially when using CPU rendering. But as soon as you render using the GPU you'll quickly discover that the time it takes for the computers to negotiate and exchange data, even on a gigabit LAN slows down the rendering time when dealing with animations.

You'll end up having one computer waiting for the other to finish, idling.

You'll have inconsistent samples per pixels, that is. inconsistent noise levels in each frame.

The reason for this is the way Luxrender works by insisting on having the computers working on the same frame, instead of dealing out each frame to each computer.

Before the developers Luxrender finds some way to change this behavior it is far better to simply start a completely different animation on your other computers.



Professional Render Farms
Nothing beats raw power. If you have a very fast upload on your internet connection and moeny, you might consider finding a rendering farm for your animation. Search for Luxrender rendering farms.

I don't have experience with this, most professional farms charge you per core GHZ hour. Now different CPU's has very different processing power even running at the same speed due to instructions like AVX2 ect. So the cheapest option might not actually be the cheapest.

My only advice here is to be careful and run a few small tests, so you don't end up with a huge bill.


SAVE BEFORE YOU PRESS RENDER ANIMATION
In 1 out of 4 cases, Reality makes its host program Poser crash, and nearly half of the time you figure out you want to change some of the animation while exporting. The only way to stop the export is to use the task manager or tskill command on Poser itself. A stop button has yet to be implemented.

My Settings
Here are the settings I have found works best for OpenCL rendering
reality animation guide.jpg

1. Check OpenCL rendering
2. Uncheck CPU under OpenCL devices
3. Don’t use extra boost.


Next Check off texture collection,
reality animation guide 2.jpg


Create a good path to a disk that has LOTS of disk space, set max samples to 100. You can go as low as 25-30 in some 4k animations.
reality animation guide 3.jpg



Examples
Tunnel:

The reason I know how much disk space is needed is because of this animation. I took me roughly 48hours to complete. This version is scaled down due to the bandwidth cap on dropbox. The "original" is in 4K and pretty cool.

The tunnel's textures are made of a huge png file containing the schematics of a printed circuit board which is used as a "light emission" texture under modifieres. The texture is wrapped around a simple cylinder with normals inwards. A simple Box is used as mesh light at the end of the tunnel. It took a lot of "pre renderings" to figure out the correct gain and power of the individual light emissions.

Rose:
https://dl.dropboxusercontent.com/u/286 ... y/rose.mp4
This example demonstrated the use of DOF and frame interpolation. As you can see the background remains nice and blurry, as the camera moves closer and zooms out the background "sharpens up". this is exactly what you would expect from a fixed f number.
The general motion is very smooth, but if you look at the rose's thorns you'll see that After Effects 'Timewarp' has trouble figuring out exactly how to move the pixels around between the key frames.

Re: Animation Guide

Posted: Tue Mar 01, 2016 10:18 am
by pciccone
Fantastic resource for animators. Thank you for posting it.

Re: Animation Guide

Posted: Tue Mar 01, 2016 10:26 am
by pciccone
Are you sure about the hard disk requirement? 600GB seems a bit high.

Re: Animation Guide

Posted: Tue Mar 01, 2016 10:54 am
by tripleslash
You commented before I was done editing the post! The text might have changed since so please press reload.

The .flm files are the disk hog, a 4k frame can easily have a 400+ MB .flm file. Ive since deleted the flm files for the tunnel animation above. But I remember it as 960 frames X 625mb.. Yes I was surprised too, and only glad i had just invested in a 8tb hd.

Re: Animation Guide

Posted: Tue Mar 01, 2016 10:55 am
by pciccone
Would it make sense to give an option to disable the flm files for animations?

Re: Animation Guide

Posted: Tue Mar 01, 2016 11:20 am
by tripleslash
I think it would be a useful option, if you can get Luxrender to clean up after itself and only keep the png files.

On the other hand the .flm files are nice to have if you want to experiment with bloom, which is something you cant control from within Reality yet.

That said, I would rather want to see you implement that 'stop animation export button' I've been talking about since Reality 3

An ability to import panel settings from Luxrender to Reality, so that light groups, exposure and effects like bloom could be controlled this way would also be very useful.

Luxrender has an option to export the panel settings, so all Reality needs to do to accomplish this is to point to this file at export.

Re: Animation Guide

Posted: Tue Mar 01, 2016 11:33 am
by pciccone
That stop button is in the to do list for the next version :)

Cheers.

Re: Animation Guide

Posted: Sat Mar 05, 2016 11:50 am
by tripleslash
Next version!.. Are you hinting on Reality 5 :-)

With my limited programming experience, I would guess a stop button could be implemented by using a loop break condition, you know... something like this.

flag=0;
while (i>total_frames AND flag==0){
export frame i;
if (stopbutton==True) {
set flag=1;
}
}

I really dont care if I have to hold down a key or something, just as long as i dont have to kill poser from the terminal.

Also the more I think about it, the more useful being able to point to a Panel settings ini file from within Reality. or even import the ini file back to relaity to setup the lighting ect. That would help the workflow a lot.

Re: Animation Guide

Posted: Sat Mar 05, 2016 12:17 pm
by pciccone
I'm hinting that there will be a next version, what that will be, and when it will be, it's early to say.
It's not a matter of complexity. Building a new release of a program is a complex affair. It requires a lot of testing, done over the span of a few weeks. It does not matter that the change is trivial, the whole process has to be used for a new release. There are 6 variants of Reality and they need to be tested on all aspects when we release a new version: Poser/Studio, Mac OS, Windows, 32- and 64-bit.

That's why it's necessary to group changes and improvements together. I can't just add a single button and start the whole process for that. Sorry.

Re: Animation Guide

Posted: Sat Mar 05, 2016 9:03 pm
by tripleslash
Absolutely no need to apologize, what you are doing is in amazing.

Your huge forum activity, moving from runtimedna to native, answering nearly everybody personally ect. while probably still in the midst of unpacking, is a herculean task. You'll meet nothing but sympathy and amazement from my part!

Bravo!