Daz3d Tips for optimizing animation's?

Deleted member 416612

The 'landlord'
Donor
Game Developer
Feb 2, 2018
924
3,922
Hi mates,

I was getting the idea to add animation to the game and so I made a test and rendered a 1 second animation of a low poly object. It took 60 frames, around one minute and the size of the video was around 120 mb (using Intel codec).
Now assuming it will way more time and size for a normal scene where you have two gen8 characters and an enviroment with props, can anyone help with tips and tricks to optimize the time and size of the animation?

I am using geforce OC 1080 and 32 ram. A rendered scene usually takes around ~1.5 h with the Max Samples set to 4000 and full HD resolution

Cheers
 

Deleted member 167032

Alternate Existence
Donor
Game Developer
Aug 16, 2017
2,719
4,933
Well...

For animations 2 chars i use 1920 res with 2000 iterations or less. depending on the scene etc...
I first do one still image in the animation to test quality and speed. The last animation i did was a sex scene and one still took 10 min to render and it looked really good.

However the animating had 210 frames so that took around 10 hrs if i remember correctly.

So try 1920 res with 1000 iteration samples and do one render to see the speed / quality. Then you can work out how long 60frames or more would take.
 

mickydoo

Fudged it again.
Game Developer
Jan 5, 2018
2,446
3,548
I do mine at 150 to 200 interations and use the denoiser at the end, animations don't have to be as good quality as static images as the movement takes the eye away from lack of any details, only takes a minute or two per frame. Sure higher interations would be better but it's the whole time versus can't be fucked waiting that long argument. Sex scenes I only do around 10 - 15 frames and loop them in movie software, other types of animations that have more movement jerk if you use that little amount though. What you ever you decide on, start at stupid low interations and go up until you are happy.

Most advice I have gotten is not render as a movie, render as an image series and join them in movie software, could be easier said than done for some people if you are unfamiliar with movie software.

You then want to convert the movie into .webm, someone else will have to advise on the best free software for that, I use an old paid one that is in German (I'm not German).

As far as environments and props in the scene, plan the animation before you put the characters in the same frame as props, paintings etc, mine are all a bed and a wall mostly.

My animations are pretty simple mind you, bit like myself.
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
Now assuming it will way more time and size for a normal scene where you have two gen8 characters and an enviroment with props, can anyone help with tips and tricks to optimize the time and size of the animation?
Trick #1 - consider your frame rate. Doing 60 frames per second is nice, but usually way overkill, depending on what you're using the animation for. 30 fps or even 24 fps will usually give you smooth enough motion, and will require a lot less rendering. (Classically, movies in theaters were done at 24fps, and television in the "old days" was effectively 30 fps.) It also means the final animation will be smaller. In a pinch, you can sometimes get away with as little as 15 fps without it looking too blocky.

Trick #2 - Many times, when you render out your animation, you find something isn't right, and have to go back, fix it, and re-render. If you're just looking at "does everything move together well" (at opposed to lighting, etc.) you can use the OpenGL renderer, an option many people don't know about in DS. This is what DS uses to render the viewport when you're not in "iRay Preview" mode. It's FAST - a couple of seconds per frame. Lets you bang out a draft, pull it together into your movie form and check out all the motion without waiting hours and hours.

Trick #3 - Obviously, anything that will slow down an iRay render will hurt your overall rendering time. Reflective surfaces are one - they cause iRay to have to evaluate more light bounces. Make sure your scene is well lit.

Trick #4 - Same recommendation as MrKnobb made. Take the first frame of your animation and render it manually, watching it converge on the screen. Figure out when it's gotten to the point where it looks pretty good and note the number of iterations it took. You can then adjust the Progressive Render settings to a reasonable number of iterations. Because the animation is, well, "moving", and because of frame-to-frame compression you don't need as much image quality as for stills.

Trick #5 - As mickydoo said, don't render directly to movie. If Windows decides to update and restart on you overnight (happened to me a couple of times) or if DS crashes or whatever, you'll have to start from scratch. In addition, you only get one shot at choosing your compression level, etc. Render as an image series, then convert to a movie. If something blows up, you can just pick up where things left off. In addition, in the process of converting from the image series to your video format, you can play with the target bitrate, which will let you make "quality vs size" tradeoffs. I do this conversion using FFMpeg, but I'm an old "command line" guy - that application may not be for everybody. I believe VirtualDub (excellent package) will also do this for you.

Trick #6 - Sometimes the animation involves, um, "repetitive motion." LOL Just to keep things G-rated (why? why not. LOL) let's suppose I have an animation in which I raise my arm over my head and then lower it again. Depending on the effect you want to achieve, you might be able to just render the "raise my arm" sequence, and then create the "lower it again" sequence by using the same images in reverse. Takes a little extra work doing the conversion between image series and movie, but could potentially cut your render time in half. Another reason to render to image series. (I've been known to render one pass 123456 but then construct videos that go 1232123454321234565432, if you follow what I mean...)

Trick #7 - when trying to evaluate whether your movie loops cleanly, you typically want to create a movie that has your image series repeated several times so you get a good look at the last-frame-to-first-frame transition. When you generate your final movie, you might only need one copy of everything - Ren'py, for example, usually does a really clean job of looping.

Trick #8 - when you set up your animation in DS, you'll typically want to make the very final frame identical to the first frame so that things will loop cleanly. If you do that, however, you don't really need to render that last frame, and definitely don't want to include it when you build the video, as that will inject a tiny delay at the loop point.

That's what comes to mind at present.
 

Deleted member 416612

The 'landlord'
Donor
Game Developer
Feb 2, 2018
924
3,922
Thank you guys for your help. I will give it a try when I get back home.
Rich those are some neat recommendations that you gave me. I will put them to good use.

Thank you mates
 

mickydoo

Fudged it again.
Game Developer
Jan 5, 2018
2,446
3,548
Just to add to Trick 8 that Rich said, when I loop animations, say it's 10 frames for arguments sake, when I put in movie software, I copy and paste the 10 frames and then delete the first and last one of the ones I just copied, then add them in reverse. Meaning the first 10 frames are 12345678910 the copy is 23456789 and then the whole thing becomes 1234567891098765432 and THEN (phew), I render that out as a movie, put it back in and copy the whole thing 10 times or whatever, and then speed it up heaps cos its really fucking slow. The less frames you have the faster it has to be or it will jerk, but it works fine for simple up and down humping. Might sound a long way to go about things but it only takes me about 5 minutes now.

Keep in mind that Rich and MrKnobb have been doing it longer than me so my tips are from a simplistic point of view.
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
Just to add to Trick 8 that Rich said...
Ya, this is one of the reason I use FFMpeg to build my videos, because it can use a text file listing the frame files to be added, so I can do all that 123454321 stuff by just preparing a text file that lists the files in the correct order - I don't have to actually make separate copies of the images.
 

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,692
Another small piece of advice apart from the very good ones who have already given you... :D

Use DAZ 4.12; they have improved a lot especially in the animation part... it has KeyMate and GrapgMate integrated, and in addition there are the IK-Chains... ah, awesome IK-Chains!! :love:
 

Deleted member 167032

Alternate Existence
Donor
Game Developer
Aug 16, 2017
2,719
4,933
It does? Strange I had to import my Graphmate and KeyMate separetly... Mmmmm

Another small piece of advice apart from the very good ones who have already given you... :D

Use DAZ 4.12; they have improved a lot especially in the animation part... it has KeyMate and GrapgMate integrated, and in addition there are the IK-Chains... ah, awesome IK-Chains!! :love:
 

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,692
It does? Strange I had to import my Graphmate and KeyMate separetly... Mmmmm
Maybe you can still use the old plugins separately, but you don't need it when you have it integrated, and I think with improvements...

Here a part of the changelog...
You don't have permission to view the spoiler content. Log in or register now.
 

Deleted member 167032

Alternate Existence
Donor
Game Developer
Aug 16, 2017
2,719
4,933
it should be in About installed plugins not so? Also I would not have to add a serial number then?

1570038951616.png

Maybe you can still use the old plugins separately, but you don't need it when you have it integrated, and I think with improvements...

Here a part of the changelog...
You don't have permission to view the spoiler content. Log in or register now.
 

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,692
and "were" two plugins that added new and interesting options when creating animations in DAZ. If you use version 4.12 you don't have to worry about anything since they are integrated; if you use any previous version, it is highly recommended to use them... simply, the options that the previous versions of DAZ brought were somewhat limited or complicated. In my opinion "KeyMate" was a must have; "Graphmate" didn't use it but because, in my case, it didn't work well, caused errors in DAZ and closed it :p

"KeyMate" allowed a better use of key frames and had a very good interface.

"GraphMate" allowed to modify the "speed curve" to which bones or objects moved in an animation.

As far as I can see they have already been removed from the DAZ store as they are already included in 4.12 :ROFLMAO:
 

Deleted member 416612

The 'landlord'
Donor
Game Developer
Feb 2, 2018
924
3,922
and "were" two plugins that added new and interesting options when creating animations in DAZ. If you use version 4.12 you don't have to worry about anything since they are integrated; if you use any previous version, it is highly recommended to use them... simply, the options that the previous versions of DAZ brought were somewhat limited or complicated. In my opinion "KeyMate" was a must have; "Graphmate" didn't use it but because, in my case, it didn't work well, caused errors in DAZ and closed it :p

"KeyMate" allowed a better use of key frames and had a very good interface.

"GraphMate" allowed to modify the "speed curve" to which bones or objects moved in an animation.

As far as I can see they have already been removed from the DAZ store as they are already included in 4.12 :ROFLMAO:
Thank you mate!
 
  • Like
Reactions: Porcus Dev

Deleted member 167032

Alternate Existence
Donor
Game Developer
Aug 16, 2017
2,719
4,933
I actually did an animation last night using Keymate for first time... It's not that hard to figure out but for me gives me more usability than Timeline or Animate does. The animation turned out pretty good, but i can still edit the anim to fine tune it. I think with Graphmate you can smoothen out a lot of awkward movements.
 

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,272
22,420
If you want a (somewhat) smooth preview playback of your animation without having to render it, simply disabling all smoothing modifiers helps a lot. Reducing subdivion levels helps as well.

Daz skips some frames in the preview automatically. In 4.11 you could set it to show every single frame (resulted in a slow, but consistant playback). However, this option seems to be gone in 4.12 :(

If you're not happy with the animation flow between the key frames, change the interpolation method (TCB: ease in/out, Linear: every frame changes an equal amount, Constant: no idea, never used it^^)
 

Deleted member 167032

Alternate Existence
Donor
Game Developer
Aug 16, 2017
2,719
4,933
Hopefully my Bad Memory wont fail me when i try your advice tonight.... sorry just had to throw that in.. BTW great game you making, really love that innocent little redhead sister and the mom...

Now ill definitely try what you suggest for sure as it will save time yes. Ive rendered it to OpenGL whch is pretty fast but still id like to view the whole anim in DAZ on the fly without any skipping frames which it does do.

If you want a (somewhat) smooth preview playback of your animation without having to render it, simply disabling all smoothing modifiers helps a lot. Reducing subdivion levels helps as well.

Daz skips some frames in the preview automatically. In 4.11 you could set it to show every single frame (resulted in a slow, but consistant playback). However, this option seems to be gone in 4.12 :(

If you're not happy with the animation flow between the key frames, change the interpolation method (TCB: ease in/out, Linear: every frame changes an equal amount, Constant: no idea, never used it^^)
 
  • Like
Reactions: recreation