Daz to Blender test.

Home Page Forums General Chat Daz to Blender test.

Tagged: , ,

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #1731995
    SkippyTheMeh
    Participant
    Rank: Rank 3

    There's been a couple of threads about the use of Blender recently so I thought I'd do some thoroughly non-scientific testing of the Diffeomorphic Daz to Blender plugin.

    I'll start by saying that I normally use Blender for converting Daz objects for 3D Printing and have almost zero experience with it's render settings as I'm usually not interested in any of the textures. I also only briefly read the instructions for the plug-in.

    Installing the plugin in pretty easy; copy the scripts folder from the zip file to one of your content folders and run the 'setup menus' script, then install the Blender part of the plugin in the usual way (preferences, add-ons, install from file), then click on the new 'DAZ Importer' option on the right pop-out menu and configure your base paths and material settings. I chose options that are supposed to give the best results using Blender's Cycles engine, but the Eevee real-time renderer is also supported.

    Using the plug-in is a bit more complicated; you need to save your scene normally in Daz, then also use the 'export to blender' menu option that gets added to your file menu. Exporting a large scene can take a while - the one below took about 30 seconds to complete.

    Then in Blender, you click on the pop-out menu again and choose either Import DAZ or Easy Import DAZ. I chose the latte as it gives you more options at the time of imports and that's what the author of the plugin recommends...

    Importing the file takes a few minutes, all your scene objects appearing in the Outliner as you'd expect.

    At this point, I saved the file off, chose the correct camera view, hit render and Blender immediately crashed.

    I reloaded and tried again, resulting in another crash, but I was also able to see my RAM and virtual memory quickly get maxed out. I've had similar problems when trying to export files for printing when using a lot of modifiers, so I re-loaded for a third time and applied all the modifiers on every object before hitting render again.

    This time blender didn't crash and after a couple of minutes a very noisy render completed. I spent a few minutes googling and messing with the Cycles settings (mostly upping the samples count to 1000) and tried again to get the result you can see below compared to the same scene rendered in Daz:

    View post on imgur.com


    Rendered using AMD 5600X, 32gb RAM, Nvidia GTX1070 8GB.

    As you can see, there are some differences; the skin tones are slightly different (tbf, this could also be down to me messing with Blender's settings), and the plugin doesn't seem to know how to handle instances. Render times are about 20% faster using Blender which is nice as is the ability to cancel a render, make some changes, and re-render without having to restart blender because it's stopped rendering on your GPU.

    #1732089
    SkippyTheMeh
    Participant
    Rank: Rank 3

    The contrast is down to me doing a lot of 'let's click this option and see what it does!' I'd somehow defaulted my render settings to 'high contrast'... I've run another render with the correct contrast settings:

    View post on imgur.com

    Blender V3 is supposed to come with a large performance increase for Cycles (aka CyclesX). I may try downloading one of the Alpha versions to give it a try. I could probably also reduce render times by turning on the denoiser and/or fiddling with the bucket size and progressive render settings.

    I haven't tried posing inside Blender yet; I started to look at the rigging section of Blenders manual and it quickly went beyond me. You can load Daz poses (and morphs) via the plug-in though.

    Overall, I'm quite impressed with the results; I didn't mess have to mess with any of the materials (which is a massive improvement over 'interposer' on C4D back in the day) and once I'd figured out the modifiers issues, the ability to do half-a-dozen partial or viewport renders without Iray clogging my GPU's VRAM and then crapping out is a huge improvement.

    I also tried an Eevee render, but that was less than great and I need to figure out how it handles HDRI environment maps. I've got a feeling it either doesn't or I need to bake the lighting, which might offset any speed gains.

    EDIT: I downloaded one of the alpha builds for Blender-Cycles-X. Render time dropped to a hair over 6 minutes.

    #1732332
    Corbeau
    Participant
    Rank: Rank 5

    The great question is how Blender (or rather Cycles) handles memory. The current limit on my rig (somewhat solid with Titan X) with Iray is 6 (sometimes 7) fully clad G8 in a decent environment (with full textures, I know I could limit that but it is time consuming because I have several scenes with the same characters and you get closer there are "problems"). Does it use the GPU CUDAS (one of the limiting factor in Iray rendering) or part of the CPU ? Hair impact ? ligthing impact ? (you could test this with your beach scene (for the record use "convert instance to object" in the files post section to use your DAZ instances in Blender https://zonegfx.com/instances-to-objects/).
    Thank you for sharing your results.

    #1732455
    Ecthelion
    Participant
    Rank: Rank 3

    @corbeau The great thing about Blender is that you can choose. You can render with CPU only if you like, GPU only, or both.

    If you have an RTX GPU, you can also switch from CUDA rendering to Optix, which (blah blah blah something about ray tracing and AI I didn't really pay attention to) is much faster than CUDA. When I used to work on a GTX 1070, the DAZ hairs were a bit tough on my system, the strand base in particular. Lighting through windows and low lighting can also get tough, but there are ways to lighten the load there as well.

    #1732514
    SkippyTheMeh
    Participant
    Rank: Rank 3

    @Corbeau, I tried an 8 character + clothes + environment test. Daz dropped to CPU-only rendering straight away and Blender with default Cycles settings threw some CUDA out-of-memory errors. Peak Memory usage was around 14gb. However, Cycles has a 'Simplify' section that, amongst other things, allows you to limit texture map sizes. Setting a max texture size of 1024 brought the Peak Memory value down to 3.5gb (or 6.9gb for 2048 maps) and I had no problems rendering the scene. A bit of rough estimation leads me to believe that I should be able to render scenes with around 10 characters in it if I set the texture maps to 1024, or possibly 9 characters at 2048.

    This is the 8 character 2048 map test from Blender at 1000 samples with no denoising. It took 29.5 minutes to render using Cycles-X:

    View post on imgur.com

    For comparison, this is the same scene rendered in Daz, stopped after 29.5 minutes at about 34% convergence and 280 iterations:

    View post on imgur.com

    The nice thing about using the Simplify option to set texture map sizes is that it's a single setting, so you don't need any add-ons like Iray Memory Assistant or Camera Optimizer etc, and Blender handles the texture resizing on the fly (which is also very fast), so it's also non-destructive; you can keep your characters 4k maps as defaults and adjust the max map size at render time depending on the number of characters in your scene. So for large group scenes you could set the texture limit to 1024, or even 512 or 256, but for close ups on just one, two or three characters, leave the limit setting alone.

    Cycles will render on GPU, CPU or both, and you have the option of limiting CPU threads (useful if you want to use your PC while it's rendering...). The current version of Cycles (Blender 2.93) supports Nvidia either via CUDA or OptiX and AMD with OpenCL, although support for OpenCL is being temporarily dropped for Cycles-X/Blender 3.1.

    Cycles-X is fast. The scene in my last post above took 6 minutes on my GTX1070, compared to 25 minutes for Daz/Iray. Unfortunately, it's still in Alpha so it can be a bit quirky, but I'll happily take a 4x speed increase over the occasional crash or missing feature; it's the equivalent of upgrading to an RTX3060.

    #1732520
    SkippyTheMeh
    Participant
    Rank: Rank 3

    @Ethiopia, No problem. I'm full of cold and fever at the moment and not feeling very creative so I thought I'd give the plug-in a try and document my findings.

    Next things to try are dforce hair and some indoor scenes using emissive to see how well those settings transfer over. After that I'm hoping to dig into Blender's cloth simulations engine and maybe also the fluid sim for swimming pools etc.

    #1732558
    Corbeau
    Participant
    Rank: Rank 5

    @Ecthelion
    @Terahurts
    Thanks for sharing your experience and knowledge (both of you). Extremely inbteresting and really food for thought. I appreciate the way you can adjudicate your rendering power in Blender (according to what you describe). I am now really on the verge of crossing the Rubicon....

    #1732923
    Frank21
    Participant
    Rank: Rank 5

    @Corbeau re. textures and RAM limits - If you don't mind your characters having the same textures, and I usually prefer it because they are so often very starkly different, then one can limit VRAM load by sharing textures between characters. This way the huge skin texture load, which are the main things gobbling up VRAM, only need be loaded once to GPU memory.
    In theory, I haven't tested it, you could have 10 G8F in a scene with the same textures/shaders and if they are identical they will be loaded only once to VRAM and "should" greatly reduce memory use. Of course there is also the geometry load to consider.

    #1732949
    Corbeau
    Participant
    Rank: Rank 5

    @Frank22
    Thank you for sharing your strategy, however I read somewhere that the same texture may be loaded several times under an alias (I am not sure about that and the reason for it). But I will test this with an army of warriors and check the impact. Regarding differences (I suppose that you meant there was not a lot, I am not sure of your interpretation of "starkly" as I am not a native speaker, it may be ironic ?) in texturing I consider that they have quite an importance for my precious G8Fs when scantily clad...
    Again, thanks to all the contributors to this useful thread.

    #1742815
    Some Guy
    Participant
    Rank: Rank-1

    I know this is an old thread, but I have a question about diffeo. For scenes do you have to essentially create shaders from scratch or is there anyway to do import a 1:1? I imported the Elegant living Daz scene because I wanted try something fancy, but it was almost pitch black, even with adding lights in cycles.

    I also need a diffeo hair tutorial. I just cant figure out how to convert dforce hair.

    #1742831
    SkippyTheMeh
    Participant
    Rank: Rank 3

    Shaders are converted on import but you might need to tweak any emissives. I don't have Elegant Living at the moment, but from the promos I'm guessing it's mostly lit by emissive mats so you'll need to edit the blender materials to boost the strength values.

    Hair takes a bit of getting your head around and I'm finding Dforce hair to be a bit of pain in the arse. Here's a really quick and dirty How-To:

    Select Figure Mesh (Make sure you selecting the one that says it's the mesh!)
    Holding Control, select hair mesh.
    Expand 'Advanced Setup' settings, expand 'Hair Settings'
    Click convert hair.
    Deselect both options in middle column, choose Principled Hair BDSF as material type.
    Change Viewport Children to 1, Render Children to 5, Viewport Steps to 8, Render steps to 8
    Press okay, wait for some time.
    Select Combine hairs, select all, okay.

    You'll need to play with the numbers for viewport and render children until you get a good result and a lot depends on how many dforce guides the hair imports with. You can play with the number of render children in the particle settings after you've converted the hair, but you can't change the number of viewport children so it's a good idea to save just before you hit convert.

    Edit: I just gave it a quick try with the dforce Suzina Hair. This is 10 viewport children and 50 render children with the default Principled Hair shader with the tip size set to half the root size:

    View post on imgur.com

    #1743351
    Some Guy
    Participant
    Rank: Rank-1

    Thanks. I'll test the hair out, and yeah I was thinking the shaders didn't have enough emission as well.

    Edit: So it turns out the reason it didn't look like the hair was updating was because I had it set to the eevee render, make hair is only for cycles.

    #1743778
    SkippyTheMeh
    Participant
    Rank: Rank 3

    @Hamburgler, Particle hair should render in Eevee. Make sure you are using Principled Hair BDSF as the shader type.

    See if https://www.youtube.com/watch?v=wiYk0I3_xss&t=439s helps.

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.

 

Post You Might Like