Creating scenes with LARGE numbers of people in them

2

Comments

  • HavosHavos Posts: 5,577

    Thanks Spooky for the info. I am fairly sure iRay also reduces textures in some way, probably I assume, by reducing texture resolution for background objects like 3DL does. I rendered one scene with quite a few figures in it and I was surprised when I looked at my GPU usage to see it was just over 1 GB.

  • DAZ_SpookyDAZ_Spooky Posts: 3,100

    It compresses textures, it doesn't mip-map. Compression can be problematic for close ups though. 

     

  • Here's a crowd of over 500 people rendered in a single shot using mostly Lorenzo/Loretta figures and a LOT of instancing. The three people on the steps and the executioner are normal G2M/G2F figures. The guards are a single G2M figure instanced eight times. The crowd of bloodthirsty peasants are 13 Lorenzo and Loretta figures, wearing the sharecg costumes already mentioned, and each one copied 43 times to make a crowd of 559 people. Daz renders this surprisingly easily.

    The main issue when dealing with crowds this big is getting them all positioned properly. Here's the technique I use:

    • Produce at least 13 different figures for your crowd. This is the "base group".
    • Use node instances to duplicate each of those figures nine times.
    • Position and group those figures into nine 2x2 scale metre blocks, such that each block contains one of each figure, but juggled in to different positions within each block.
    • These nine blocks, arranged 3x3, gives you a 6x6 metre block of crowd containing 117 people- place them into a group.
    • You can then duplicate the group to produce bigger crowds - I have five of them in this image.
    • You can move the blocks of 13 around to quickly shape up the crowd how you want it, and move the individual characters to fine tune if necessary. It would take forever to position each figure individually.
    • Turning off the visibility of the base group hides all the instances - which makes scenes quicker to pose. Then make them all visible again when you're ready to render.
    witch05d.jpg
    1280 x 800 - 251K
  • JimmyC_2009JimmyC_2009 Posts: 8,891

    Great image Chris, thanks for showing it.

  • Oso3DOso3D Posts: 15,085

    Thanks for the tip!

    You know, an 'instance management' plugin would be something worth making -- imagine stuff like the ability to place different random assortments of instances, interleave multiple sets of instances, randomly change various translations..

     

  • Thanks for the tip!

    You know, an 'instance management' plugin would be something worth making -- imagine stuff like the ability to place different random assortments of instances, interleave multiple sets of instances, randomly change various translations..

     

    Maybe a revised version of this product (which I don't have): http://www.daz3d.com/send-in-the-clones-ds4-pro

  • j cadej cade Posts: 2,310
    edited December 2015

    Chris that is really impressive.

     

     

    My one tip  for crowd scenes would be that when using the genesis line (or anything that uses subD) if its not directly in the foreground Set it to base resolution!

     

    Also, in adition to tuning things off in the scene outline you can turn geometry off in the tool setings panel while using the geometry editor tool (its the one with the pencil next to spot render). In particular you can turn things off by material zone. This is particularly useful for buildings which are often 1 prop that in the scele outliner can just be turned on or off, but have multiple material zones.

     

    Turning material zones off with the geometry editor is also different than just making them transparent, when something is transparent the mesh and any textures still have to be calculated, this works the same as turning something off in the scene outliner

    Post edited by j cade on
  • Oso3DOso3D Posts: 15,085

    Chris: Huh, I wonder if that would work for modern figures. Hmmmm.

    Might be worth picking up and trying it.

     

  • chrisschellchrisschell Posts: 267
    edited December 2015

    What I usually do for large crowd scenes is to set up groups of lower poly figures (Poser's P4 Low-poly Businessman or the like) with appropriate textures and some add-ons in the background to get the look roughly right... I use higher res Generation 3 figures (Hiro3, Vicky3 etc) for middle-ground figures and then use the highest resolution figures as my main foreground/hero figures...

    If you have access to them, the old generation 1 and 2 figures (Vicky 1, etc) and the old low-poly Poser figures are extremely usefull for crowd scenes...

    Here are a few examples...

    In the fantasy image (Eternal Emnity) I used a total of over 30 figures (mostly generation 3 figures) and rendered it twice... once with the camera further away so that I could use the image as a backdrop texture for a second render close-up of the main fighters and crowd (creates an optical illusion of more people and a larger scene without over-extending your system).

    In the other 2 military scenes there are 100's of figures... crews on the decks of ships, pilots in aircraft etc... in this case I used Poser's P4 Low-poly Businessman (with custom textures and a few extras to create the right looks), imported into DAZ and set up in clusters to position as needed...

    These were all rendered in DS 4.7...

    Eternal Emnity.jpg
    1024 x 487 - 107K
    Day of Infamy.jpg
    1024 x 465 - 66K
    Yankee Station.jpg
    1024 x 480 - 119K
    Post edited by chrisschell on
  • RGcincyRGcincy Posts: 2,862

    Thanks for all the ShareCG links! I've been able to add to my Lorez wardrobe. I also found this on ShareCG: a video titled "Making Mob Scenes with Low Poly Figure". Doesn't give a lot of info on how but it is somewhat humorous (for a number of reasons):

    http://www.sharecg.com/v/73078/browse/3/YouTube-Video-Tutorial/Making-Mob-Scenes-with-Low-Poly-Figure

    Thanks Chris for your approach to 500+ figures. I've done some of those steps myself but not the idea of grids and grid of grids. I'll have to give that a try. 

  • HavosHavos Posts: 5,577
    edited December 2015

    Whilst I am not saying it is a bad idea to use Generation 3 characters for medium ground characters, my understanding is they are in fact much higher polygon figures than Genesis 1/2/3 when reduced to base resolution. The Generation 3 chars have 70K polys compared to the 20-25K or so of a non-SubD Genesis. However Genesis characters will eat a lot more memory inside the scene, particularly if you have lots of Genesis morphs installed. That is why you need to convert background Genesis figures (at base resolution) to props first, and then their memory requirements will drop dramatically. The issue then is with their textures, since generation 3 textures are more light weight (smaller and only have a single head + body map). However background Genesis characters can be given lower res textures, or no textures at all, just a skin shader, but from what Spooky said all this is mute anyway as the renderer reduces the textures for you (however I suspect the memory needed to read in the scene file would be enlarged).

    V2 and M2 have around 34K of polys, so are also higher res than a base Genesis figure.

    Post edited by Havos on
  • L'AdairL'Adair Posts: 9,479

    L'Adair - great tip there and thank you for that.

    You're welcome.

    I'm just happy I actually have something to contribute to this conversation. I've yet to try doing scenes with large crowds, (though I have used instancing for props.)

  • K T OngK T Ong Posts: 486

    Here's a crowd of over 500 people rendered in a single shot using mostly Lorenzo/Loretta figures and a LOT of instancing. The three people on the steps and the executioner are normal G2M/G2F figures. The guards are a single G2M figure instanced eight times. The crowd of bloodthirsty peasants are 13 Lorenzo and Loretta figures, wearing the sharecg costumes already mentioned, and each one copied 43 times to make a crowd of 559 people. Daz renders this surprisingly easily.

    The main issue when dealing with crowds this big is getting them all positioned properly. Here's the technique I use:

    • Produce at least 13 different figures for your crowd. This is the "base group".
    • Use node instances to duplicate each of those figures nine times.
    • Position and group those figures into nine 2x2 scale metre blocks, such that each block contains one of each figure, but juggled in to different positions within each block.
    • These nine blocks, arranged 3x3, gives you a 6x6 metre block of crowd containing 117 people- place them into a group.
    • You can then duplicate the group to produce bigger crowds - I have five of them in this image.
    • You can move the blocks of 13 around to quickly shape up the crowd how you want it, and move the individual characters to fine tune if necessary. It would take forever to position each figure individually.
    • Turning off the visibility of the base group hides all the instances - which makes scenes quicker to pose. Then make them all visible again when you're ready to render.

    I'm going to have to find out more about this 'instancing' thing. Any tutorial videos or things like that anywhere?

    Great scene, by the way. I'm actually thinking of doing something like that, except it will be a scene in a royal court of sorts where a king will be surrounded by his subjects. :)

  • K T OngK T Ong Posts: 486

    There are some interesting comments here many of which don't really apply in 64bit. 

    1. Instancing will help but does have its limitations. . 

    2. If rendering in 3Delight the render engine will mip-map textures for you (reduce texture size as it gets further into the background. ) so there is no need to reduce texture sizes. 

    3. With 64 bit, while it won't fit onto a video card it will use virtual memory on the hard drive. 

    Granted this is not quite as dense a scene as some may be interested in, but it is 4 million polys. (Note this was done before Iray.) The goal was 4 million Polys and designed to stress test both DS and a new computer. LOL

    Great image. Seems like both DS and the new system held up pretty well under the stress! I can see Chinese is becoming a prevalent language. LOL. :D

  • Oso3DOso3D Posts: 15,085

    K T Ong: I was thinking the same thing. It's actually... pretty easy. Just click on something, select 'Node Instances' and pick how many you want. It distributes a gaggle of copies, which you can then move wherever. And ... that's it.

     

  • If you are strapped for cash this Holiday season. I would suggest MakeHuman. It is OpenSource so it is free. You can export the mesh once you have the one you like with clothes and hair then just change textures in Gimp to give you different characters. When you import the mesh Obj with textures into Studio you can then use the genesis or M4/V4 bones so your character can use the poses and animations you can get for free or cheap. You can also take this mesh into wing3d for Blender and modify them for your own use. Just remember the bones for genesis and V4/M4 were created by daz and is owned by them you can use them for your own use but don't share your new creations unless you make a bone rig for your charater from scratch.

  • K T OngK T Ong Posts: 486

    K T Ong: I was thinking the same thing. It's actually... pretty easy. Just click on something, select 'Node Instances' and pick how many you want. It distributes a gaggle of copies, which you can then move wherever. And ... that's it.

     

    Will have to try this out. Thanks for the info!yes

  • K T OngK T Ong Posts: 486

    If you are strapped for cash this Holiday season. I would suggest MakeHuman. It is OpenSource so it is free. You can export the mesh once you have the one you like with clothes and hair then just change textures in Gimp to give you different characters. When you import the mesh Obj with textures into Studio you can then use the genesis or M4/V4 bones so your character can use the poses and animations you can get for free or cheap. You can also take this mesh into wing3d for Blender and modify them for your own use. Just remember the bones for genesis and V4/M4 were created by daz and is owned by them you can use them for your own use but don't share your new creations unless you make a bone rig for your charater from scratch.

    Will MakeHuman reduce the memory size of the mesh?

  • TangoAlphaTangoAlpha Posts: 4,587

    Wow. Ok, I thought there'd be more to instancing. Heh.

    So how does Instancing save memory, exactly?

     

    Instances are kinda like shortcuts on the Windows desktop. You can create a folder full of goodies buried somewhere deep in your file system, and then create a shortcut, which you put on your desktop. It behaves exactly like your folder -- open it and its full of goodies. But it's not the actual folder itself, it's just a pointer to the real folder. You can have as many shortcuts as you like and they'll all look exactly like the original. And it is the same with instances. (technically speaking they're misnamed, since an instance is generally thought to be a real thing. They're more like "references") They do have a few properties of their own - X, Y, Z, rotation, scale, a kind of wrapper around them.

     

    Think of them as a "lite" version of Carrara's replicators. ;)

  • wolf359wolf359 Posts: 3,931
    edited December 2015

    There's a number of ways to accomplish larger groups, but I often found multiple renders in group sections and then compositing gave me the results I was happiest with.

    Thank you..

    Trying to find ways to get hundreds of actual 3D figures into one scene
    is the wrong approach IMHO.
    Learn how to render separate elements
    with alpha channels and learn to COMPOSITE!!

    Post edited by wolf359 on
  • Ghosty12Ghosty12 Posts: 2,080
    edited December 2015

    Depending on what you want there is a product called M.O.M Movement of Mass Crowd generator by Powerage that uses 2D flat planes with images of people front, back, side and above and since they are flat planes they use very little resources and workd great for creating massive crowd scenes..

    It is made for Poser but works very well in Daz Studio..

    Post edited by Ghosty12 on
  • HavosHavos Posts: 5,577

    In my experience flat planes for crowds never look good, even for very distant crowds, and would look awful for a close up crowd like you see in Chris's image of the witch burning. It is the same reason I am not a fan of using a HDR in iRay to fill in most of the background, it just looks too flat, and little better than just adding a photo background during post. Geometry backgrounds, even low res ones, will always look superior, if you want the image to have proper depth.

  • DAZ_SpookyDAZ_Spooky Posts: 3,100
    edited December 2015
    Havos said:

    Whilst I am not saying it is a bad idea to use Generation 3 characters for medium ground characters, my understanding is they are in fact much higher polygon figures than Genesis 1/2/3 when reduced to base resolution. The Generation 3 chars have 70K polys compared to the 20-25K or so of a non-SubD Genesis. However Genesis characters will eat a lot more memory inside the scene, particularly if you have lots of Genesis morphs installed. That is why you need to convert background Genesis figures (at base resolution) to props first, and then their memory requirements will drop dramatically. The issue then is with their textures, since generation 3 textures are more light weight (smaller and only have a single head + body map). However background Genesis characters can be given lower res textures, or no textures at all, just a skin shader, but from what Spooky said all this is mute anyway as the renderer reduces the textures for you (however I suspect the memory needed to read in the scene file would be enlarged).

    V2 and M2 have around 34K of polys, so are also higher res than a base Genesis figure.

    The morphs, beginning with V4, in DAZ Studio, only consume memory if you use them. (And only the ones you are using.) Also, since we are talking about rendering, none of that information is sent to the render engine, that just gets static geometry.
    Post edited by DAZ_Spooky on
  • I don't have Lorenzo, but those outfits of his I've tried seem to fit the P3 and P4 males just fine.  If you have neither (if you have any edition of Poser, you've got 'em somewhere), go to Anthony Appleyard's site and grab his stand-in blank figures.

    http://www.buckrogers.demon.co.uk/3d/3dthumbw_people.htm

  • Havos said:

    Whilst I am not saying it is a bad idea to use Generation 3 characters for medium ground characters, my understanding is they are in fact much higher polygon figures than Genesis 1/2/3 when reduced to base resolution. The Generation 3 chars have 70K polys compared to the 20-25K or so of a non-SubD Genesis. However Genesis characters will eat a lot more memory inside the scene, particularly if you have lots of Genesis morphs installed. That is why you need to convert background Genesis figures (at base resolution) to props first, and then their memory requirements will drop dramatically. The issue then is with their textures, since generation 3 textures are more light weight (smaller and only have a single head + body map). However background Genesis characters can be given lower res textures, or no textures at all, just a skin shader, but from what Spooky said all this is mute anyway as the renderer reduces the textures for you (however I suspect the memory needed to read in the scene file would be enlarged).

    V2 and M2 have around 34K of polys, so are also higher res than a base Genesis figure.

    G3F - 17 000 faces (17 418 vertices)

    Genesis - 18 872 faces (19 296 vertices)

    Plus, afaik, triax weigh maps (genesis) use more memory than dual quaternion (G3F) ones.  

  • HavosHavos Posts: 5,577
    Havos said:

    Whilst I am not saying it is a bad idea to use Generation 3 characters for medium ground characters, my understanding is they are in fact much higher polygon figures than Genesis 1/2/3 when reduced to base resolution. The Generation 3 chars have 70K polys compared to the 20-25K or so of a non-SubD Genesis. However Genesis characters will eat a lot more memory inside the scene, particularly if you have lots of Genesis morphs installed. That is why you need to convert background Genesis figures (at base resolution) to props first, and then their memory requirements will drop dramatically. The issue then is with their textures, since generation 3 textures are more light weight (smaller and only have a single head + body map). However background Genesis characters can be given lower res textures, or no textures at all, just a skin shader, but from what Spooky said all this is mute anyway as the renderer reduces the textures for you (however I suspect the memory needed to read in the scene file would be enlarged).

    V2 and M2 have around 34K of polys, so are also higher res than a base Genesis figure.

    G3F - 17 000 faces (17 418 vertices)

    Genesis - 18 872 faces (19 296 vertices)

    Plus, afaik, triax weigh maps (genesis) use more memory than dual quaternion (G3F) ones.  

    Indeed it seems Genesis 3 makes one of the best low poly figures, and using decimator can be reduced further without looking too bad. Below I decimated her down to 5800 polys, about the same as Loretta and Lorenzo. Not great for close ups, but could be adequate as a back ground character. I have placed her next to Loretta as a reference

    G3F-5800.png
    1024 x 1024 - 822K
  • FSMCDesignsFSMCDesigns Posts: 12,843

    If you are strapped for cash this Holiday season. I would suggest MakeHuman. It is OpenSource so it is free. You can export the mesh once you have the one you like with clothes and hair then just change textures in Gimp to give you different characters. When you import the mesh Obj with textures into Studio you can then use the genesis or M4/V4 bones so your character can use the poses and animations you can get for free or cheap. You can also take this mesh into wing3d for Blender and modify them for your own use. Just remember the bones for genesis and V4/M4 were created by daz and is owned by them you can use them for your own use but don't share your new creations unless you make a bone rig for your charater from scratch.

    Unless you have a simple/easy way to get this part done, it is more problematic than the original topic, LOL. I have tried with little success in rigging imported ,OBJs. Please share your technique if it works 100%.

  • I haven't used it in ages, but if texture atlasing is still a thing, you should be able to use it to generate lower-res texture sets for a key background figures...use them as seed actors, and then I believe you can use instancing to populate more of your background.

  • If they are very background figures I have taken the two low poly proxies from the MakeHuman A7 release and posed them roughly in a Genesis 1 shape.

    If you take the figure, fit it to Genesis, then delete the Genesis figure and save it as an Actor you will have a low poly (one is 1774 and the other is 770 polys) background mesh that will be compatible with Genesis clothes and poses.

    http://www.sharecg.com/v/66007/view/5/3D-Model/Low-Polygon-MakeHuman-Proxies-in-Genesis-Pose

     

  • MadbatMadbat Posts: 382

    There are some interesting comments here many of which don't really apply in 64bit. 

    1. Instancing will help but does have its limitations. . 

    2. If rendering in 3Delight the render engine will mip-map textures for you (reduce texture size as it gets further into the background. ) so there is no need to reduce texture sizes. 

    3. With 64 bit, while it won't fit onto a video card it will use virtual memory on the hard drive. 

    Granted this is not quite as dense a scene as some may be interested in, but it is 4 million polys. (Note this was done before Iray.) The goal was 4 million Polys and designed to stress test both DS and a new computer. LOL

    Have you thought of converting that to an Iray render? I bet it would look great!

Sign In or Register to comment.