rendering bigger scenes
thistledownsname
Posts: 1,336
So, for the first time I'm having to render a bigger scene (3 big scenes, actually). And it seems my system has reached its limit. I'm looking at about 20 people in combat in Aslan Court. So far, I've got the characters designed and dressed, but haven't done any scene layout or posing yet. I'm trying to use Iray, since it's what I'm used to and it looks so nice, but even trying to render a test block of about 15 people crashed DAZ. I have managed to render the test blocks in 3DL, but some of the skin renders blank and I'm not really set up for it.
I'm thinking I might be able to render some of it in pieces then layer them together in photoshop, but not sure. I'm also on retextureing a low-poly zombie hord prop I picked up to look more like normal fighters so I can fill in the background.
Can I get some advice on how to do this without crashing the system?
Also, any advice on staging big crowd battles?

Comments
Compositing is the way to go. Plan it out and do them in sections. Render only what you need. Keep an eye on your texture file sizes.
Remove all normal maps unless you have a really close up going on.
Where possible, replace image based tectures with flat color shader.
Heck, I've had problems just rendering Aslan Court itself.
One big problem is that Aslan Court has this gorgeous and highly reflective floor. Reflection KILLS RENDERS DEAD. ;)
What you could do is reduce reflection a lot. This does two things: first, it cuts down on some of the render effort. Second, it makes compositing in figures a lot less obvious.
Are the figures fully covered or can you see the figures inside? If they are in full armor then don't use the figures, just the armor on its own and pose that which should cut down the amount of memory used.
Hmm. If Aslan court itself is part of the problem... Any recomendations on similarly large, pale ballrooms that might work better? I played around with Baroque Grandeur and with The Ballroom, but they're both too small.
You can see the people. It was a court ball, then it turned into a Ballroom Blitz.
What are your computer specs?
What is your Operating System?
For Iray there is no way it will be a GPU render....but another thing that can cut down the memory load, adjust the texture compression settings in Iray to compress just about everything (basically make it so everything over 512 x 512 is being compressed).
Let's say you have twenty people in a scene... ten are Genesis 3 Males, and ten are Genesis 3 Females. Breaking that down even further, say that you want a few of the females to be V7 and a few to be Mei Lin 7, and you want some of the males to be M7, and others maybe Leo 7. First, you only need to load ONE Genesis 3 Male and ONE Genesis 3 Female to do this. Before you dress your figures or choose your characters, select either the male or the female in the scene tab, then go to the top menu bar and click "Edit", then from the drop down menu select "Duplicate". If you select "Duplicate Node(s)" you will get a duplicate of your figure. As I understand it, this 'duplicate' figure does not add any extra geometry to to the scene (meaning in terms of using more system memory). You can duplicate a figure as many times as you want like this, and unlike instancing, you can still pose and texture and morph each figure independently. If you want twenty figures all dressed in the same uniform, simply load your first figure and clothing. Again, select the human figure and then go to "Edit / Duplicate" and this time select "Duplicate Node Hierarchy(s)"... this duplicates the figure along with the items that are conformed or parented to it. Everything can still be textured, morphed, and posed independently.
Hope this helps!
Chuck ;)
Running windows 10. 16GB ram, i7 2.5GHz processor. GPU is Geforce GTX-860m.
Interesting. I've used duplicate before, but didn't know it helped on memory.
"Duplicate" doesn't. "Instance" does. All duplicate does is make an exact copy of the node and put it the scene. Which is why you can change materials/morphs/poses independantly of the figure it was duplicated from.
"Instance" will make a shallow copy of the item with references that link back to the original. You can only reposition and change it in very limited ways. Chaning anything that is referenced will cause the original item to change to match, as the instance has just got a pointer back to the original object for those parameters. That's why it saves memory.
I wouldn't try this on a laptop...
It is going to be a long render, no matter what you do and laptop cooling isn't designed for that kind of extended, full blast usage...
But back to the actual problem. 16 GB is not quite enough for the whole scene. Layered rendering, cutting back on textures duplicates and all of that might get you there, but the hard limit is RAM. You will probably need to use ALL the mentioned techniques to do it... the render layers/parts and composite later route may be the easiest, in the long run.
I do have some access to a desktop with a 3.2Ghz processor, but also with 16GB ram. I typically don't use it for rendering because it doesn't have a graphics card. Would it be worth transfering everything onto there?
Still believe I'm right in what I said... but I've been wrong before. I was told that the "Duplicate" is similar to an Instance in that it refers back to the same base geometry. It doesn't save as much memory as instancing, but it does save. Unfortunately, the Daz Studio documentation is.... how can I most easilly say this? Oh yes... The Daz Studio Documentation isn't.
That's not a typo... I'm sure most of you know what I mean.
A background figure does not need and 8000x8000 texture. For background figures, you can lower the texture size to as low as 2000x2000 or even 1000x1000. Take the texture into an image editor lower the size and save under a new name so you don't overwrite the original.
Lower the size for midground figures as well. At the very least, halve the texture size. On background figures, get rid of bump maps, displacement, and any other maps. Midground may need some of them but you can lower the res on them as well.
You can do the same to background and midground prop textues as well.
also you can set the figures down to sub-d 1 or even base resolution
What I'd do is save a copy of you're current scene as "scenename_unoptimized" and then get to work optimizing this way if you mess something up you have a backup
other things to do.
Convert everything to props. You will find this in the scene tab under properties>edit>rigging>convert figure to prop. if the item uses smoothing temporarily set it to interactive update before you convert other wise it won't copy over, and set the resolution will be baked at whatever it is currently in the veiwport.
Any textures that aren't seen, delete. Character wearing pants and shoes? Iray is still loading up his leg textures, delete with extreme prejudice
And yes, render piecemeal I doubt all the characters are overlapping/interacting so if you, say, have 2 characters fighting you can temporarily delete everybody else and just spotrender them + the background.
And when you do that...change the textures on each surface and save the scene. Then shut down Studio and restart it...that will completely clear the memory and load only the reduced textures.
So, as long as you shrink the texture proportionally, the UV will still wrap it around correctly?
Yes, that's how UVs work; they don't count by precise pixel values across and down from the zero corner, they count by percentages of the full width and depth of the texture image. This is why different sizes of texture for, say, a Genesis figure will still work using the same UV set.
Would Decimator be good for a situation like this? I have a scene in mind (with Aslan Court as well) for multiple characters. I imaging that lowering the polygon count along with the suggestions above for characters in the background would work well, especially if I narrow the depth of field and they are out of focus anyway.
I have a new, very powerful PC: Intel i7 6 core processor, 64GB RAM, GeForce GTX 980ti, so power isn't the problem, but my patience is!
As long as you're working with the genesis's I'd start with just setting them down to base resolution. The base resolution gen3's in particular are already pretty miniscule.
It may actually come more into play with clothing. there's some clothing in the store thats not what I'd call completely optimized and hair will often have a decent number of polys (though that's more excusable to me)
Easiest way to tell is to switch the view to one of the wireframe modes, if something's rendering black, it'll chew up a lot more memory
Frankly, at longish range, you can probably skip texture maps entirely. And definitely skip SSS/translucency.
You were partially right (or partially wrong). Duplicating will not double the memory used by the first figure, but will still significantly increase the memory usage for a complex figure like Genesis. There are various in memory parameters that can be shared between the first and duplicated figure, but there is still a fair amount that is not shared (pose info, material data etc).
Now with an instance, it is a real copy in the sense the two will remain identical except for size and position. With an instance any memory increase is close to zero.
I thought that's what I said? In any case, that's what I meant... apologies if I was unclear.
Reducing polycount and size of textures can go a long way in adding more into the scene. Those elements that are furthest from the camera should have reduced texture resolution and if you have Decimator ( http://www.daz3d.com/decimator-for-daz-studio ) you can reduce the polycount on the models as well. Then after the reduction, you would still want to use instances if possible. There's a lot of channels in the surfaces tab that can be cleared also on these background characters like specular, reflection, bump, displacement. each of those textures add to the memory usage. If the character is in full uniform, delete all the skin files except the hands and head.
The main subject character in the foreground would have full detail but all the rest can be more like props obscured by distance.
There's other options like using LowRez characters, that can be retextured.
This image has 50-60 lowrez figures.
I ended up trimming the population quite a bit, and my system surprised me. I used what you described of deleting every element and texture not shown, and it managed to render without needing to superimpose things. Only let it run for two hours each though, and definately had to close out DAZ before each render.
This is the same ballroom blitz, told by three different (drugged out) witnesses.
Such fun images!
Love all the tips here (madly scribbling)