Exporting to Blender: a review
I find that I am increasingly confused as to which method I should use to get content from my DAZ Studio scene into Blender so I'm suggesting a review of the methods. From what I can see, here are the options with a few of the advantages and concerns that I have noticed so far (bearing in mind that I have a very limited grasp of Blender as yet).
1. OBJ export. I use this when I want to create morphs. The figure and the clothing need to be exported individually by hiding one or the other in the DAZ Studio scene. These figures don't have rigs.
2. FBX export. These do have rigs but I have never tried this method so am unaware of any advantages or otherwise.
3. Diffeomorphic DAZ Importer. This is the one I have tinkered with. Seems to get most of what I want over to Blender but there are problems. For example, the materials look ok in Cycles but flat and featureless in Eeevee. I don't yet know enough about the material node system in Blender to adapt the imported materials for Eevee as, for example, I used to with Luxrender using Reality. I also find that some in-depth knowledge of how DAZ figures are constructed might be required to get the most out of this tool. Apart from the node system it may be helpful to know how to use shape keys in Blender and understand JCMs and rigging - including different types of rigging such as Media Human or Rigify. For HD, I think baking to Normal Maps is required but I might well have misunderstood the HD option as I have not tried it yet (nor have I tried baking normal maps).
4. The "official" DAZ Studio to Blender bridge. I have not downloaded this mainly because there is a showstopper right at the outset - it does not support 3rd. party geografts.
5. Alembic. I've only tried the new utility written by @TheMysteryIsThePoint and he is still working on the materials side of that so I have put it aside for now awaiting that update. However, the advantage I see is that the figure comes across looking exactly as it does in the DAZ Studio viewport - HD morphs and Geografts included. If I understand it correctly, all the posing and animation needs to be done in DAZ Studio so we can't take advantage of some of the features of Blender such as the cloth sim and animation timeline which are supposedly better than the DAZ Studio alternatives.
Please feel free to correct my misunderstandings and add details as necessary. I just think it would be helpful to get a good overview of all the alternatives (or, perhaps, combinations of methods).
Comments
Having said what I said about the Diffeo Eevee materials, I have just downloaded Blender 2.9 and the latest Diffeomorphic version and I'm thinking that the Eevee render has improved. Perhaps my imagination because I don't have a saved image to compare with but this is a render I just did (rendered almost instantly).
Can you show the same render in cycles? If it not too much of a hassle?
interesting comparison. I am still holding out on trying renders with Blender.
Not exactly the same because I had to create the scene again.
IRay render time was 3 minutes. Cycles @ 240 samples/pixel took 2 minutes. I have a GTX 1070 GPU.
IRay on the left, Cycles on the right.
Looking good!
It is possible to create normal maps from HD morphs in Substance Painter. I try to create displacement maps from the HD morphs in Substance Designer. These can be used in Cycles, but not in Eevee, as far as I understood. I'll let you know, if I have a resonable workflow.
I don't have (and am unlikely to buy) Substance Painter. I was under the impression it could be done in Blender but I'll have to dig out the tutorials I watched a while ago to confirm that.
I envisage using Eevee for animations (image sequences) so I don't think that HD will be crucial for that. Looking at my comparisons above, I think there is a marked difference in quality between IRay and Cycles with the IRay render being far superior to the Cycles example. However, I need to learn a lot about lighting and material set-up in Blender. That said, both were rendered with minimal effort on my part to tweak either lighting (default HDRi) or materials. Note too the fact that Blender doesn't have the benefit of HD which shows in the gap between the lips which are filled out by the additional HD rendered in IRay.
Materials are done; it is truly one-click now. But one needs to set up paths to all one's resources, just like in Diffeo. An unlimited number of paths is supported. The final wrinkle is that there is a small problem when a surface has multiple UV maps, but @Padone has helped me work it out. I expect to have that done by the end of the weekend.
While the posing and animation need to be done in DS, cloth sim works beautifully in Blender. I've written some other tools to, say, pin a vertex group to the nearest vertex of another object. That's why the exporter has the option to mark a surface as "dynamic" so it won't be exported as part of the Alembic file, but rather as a separate object file. That's how I simmed the front and back of the skirt without it falling to the ground; its upper hem is pinned to the underside of the belt:
Phaedra in the Galería de la Basílica de San Isidoro
Walking Back
My lord, you are surpassing all my expectations with your anticipation of needing the cloth sim and your examples look fantastic. I don't have a clue how it works but I'm keen to try it. So a couple of questions for you:
1. Are you incorporating the Diffeomorphic material conversion? If so, would my renders above in Cycles and Eevee looks precisely the same? I imagine that the HD would come across so they will look slightly different?
2. When you say that you have written other tools - are they also incorporated in your Alembic exporter? I do hope you'll include a user guide for the Blender-challenged such as myslef.
Ha ha, I "incorprate" Diffeo's materials much less than steal them outright. They are simply too good not to, much better that DTB in its current state. All that business of recursively reading all the duf files to get the material and uv IDs is just so that I can make them match what Diffeo does, and the materials will immediately just work upon importing the Alembic into a scene where a Diffeo import has already been done. I find the added complexity to be 100% worth it.
I'm not at all sure if the same converted materials that look good in Cycles will look good, unmodified, in EEVEE. None of my materials made from the Daz maps do, at least not for skin.
Some are actually generated by Sagan, while others, like the hem stitcher I mentioned above, are standalone (but it apparently broke somewhere between 2.81 and 2.90). A user guide might be a bit ambitious, but I'll of course always be here to offer assistance. The generated scripts should already be ready to run because Sagan already knows everything and can fill in the corect details, and the hem stitcher only has three things to change: the target object to pin to, the dynamic object that will be simulated, and the dynamic object's vertex group to be pinned. More on that once I get to a certain point with the Sagan.
Wow, the blender crew here is top notch amazing with the progress you made in such a short time.
So let me get this right - you have other scripts as well as Sagan all of which you will make available for download?
I have to say that the skin in your video examples (above) looks really good. Is that Cycles and how much tweaking did it take?
As for reasons for wanting to render in Blender, I am still a little unsure of some things. Each time the subject of running out of VRAM comes up, it seems that someone will chip in the comment "render it in Blender". Am I missing something or is Cycles less demanding on VRAM than IRay? From my perspective, there would be two reasons for moving my scene to Blender - (a) to render it quickly (which implies GPU render and VRAM availability) with as little loss of quality as I can tolerate and (b) to use some of the tools available in Blender (such as the better cloth sim as discussed).
At the moment, I have not been able to reproduce the quality of IRay to the extent that you seem to have done in your video clips. And Eevee is too much of a loss of quality, even for animations. I can't use the animation tools in Blender if I choose Alembic but, from what I can see in various tutorials, Blender is not the best tool for posing and, by extension, animating by keyframing poses. So I'm still a little on the fence about the value of Blender to my workflow.
It really is. Who needs Daz's help when you've got Padone, I'm going to start saying :)
Yes, I've encountered and overcome a few problems, which I assume others will encounter as well. I could sit in my den alone, but its more fun to make it a community thing. I think Blender may solve the problems with simulating hair particle systems before I finish it, but that's the next area. I had spent a lot of time converting a particular dForce hair to a particle system, but it only worked for stills, and then I realized that hair done natively in Blender just better. But simulating it just doesn't work all that well because I think strands from different parts of a human's scalp need to have different properties in order to look natural, and the particle brush in Blender is just not very good, making styling difficult when the brush applies to all of the hair. So I'm working on an addon that will set up the vertex groups on the head, make a separate particle system for each of them, and make managing the settings for them more convenient. Many times things you have to change are all the way at the top of the panel, while other things are all the way at the bottom; it's really not convenient.
Yes, everything is cycles. If you use the "Write Texture Maps" option on the Materials tab, it'll write out all the maps, in reasonably named files. Then, you can use a common node set up. There was really not that much tweaking to be done. And this was before I had discovered Diffeomorphic. I will say that Diffeo's results are stunning, but man, the volumetrics really do a number on render times and I would only use the Diffeo materials for closeups when it'll actually make a difference. I've attached they node setup for the face, all the others are similar. You may not need the Bright/Contrast node, so the simplest setup is only 5 nodes, beside the BSDF and output node.
It's not less demanding, it's more forgiving. When you see the memory usage meter go over what you've got on your card by a lot, that's Cycles doing "out of core" rendering, i.e. using your system RAM for texture maps. It doesn't do this for geometry, and not at all with Optix, only CUDA.
Also, there is so much you can do to get Cycles to render faster. I won't list everything, but google something like "Blender Guru speedup cycles" and you'll find a great tutorial. Since that tutorial, I think people have pointed out that you can also turn off Ambient Occlusion and use the Simplify tab under Render. It's like Scene Optimizer on steroids.
And instead of asking people what is better in Blender, I'd say go to Blender Nation and subscribe to a few people to see for yourself on a daily basis.
But that's just it... Like I said, those clips are from before I started using Diffeo. In the attached image, I didn't modify the Diffeo materials at all; that's how far it has come. How much better than that does the conversion have to be? I don't particularly like the hair, but I'm going to use a hair particle system and the Hair BSDF anyway. It's within spitting distance of what I will use in production and I changed virtually nothing.
I've seen great, realistic characters with EEVEE, but I admit I haven't developed a "feel" for how to fix EEVEE materials to my liking at all.
I'll have to disagree with you on posing in Blender; it's pretty much the same once you commit to muscle memory the most useful key combinations. RXX is basically bend, RYY is side-to-side, and RZZ is twist. The doubled character just means to rotate around local axes. With time, you might even come to prefer it over having to click on some slider somewhere.
Thanks for such a comprehensive reply. Just a couple of comments, if I may.
I have no reason to doubt your experience of Diffeo material conversion being as good as you say it is but my simple efforts seem to indicate that there is more to it than just importing with the DAZ Importer. If you look at my examples of the young lady (above), there is - to my eyes - a considerable drop in quality. I didn't tweak anything in either DAZ Stdio or Blender so I'm at a loss to guess how to get similar results in both IRay and Cycles. Eevee is another step away from the quality I would hope for but I too have seen much better human skin renders from Eevee users. Clearly I have a lot to learn (and I wish that I didn't find the node system so intimidating even after a dozen or so tutorials).
I did watch a video describing how to speed up Cycles but it was architectural rather than human figures. I've also looked at videos describing alternatives such a E-Cycles (costly) and Luxcore (I am familiar with Luxrender from my time rendering using Reality). Really, I just want to be able to reproduce IRay only faster (and my hoped-for RTX 3070 16GB GPU didn't materialise either).
So my first project in Blender will probably be to have a G8F character dance (probably Mixamo animation) and have her clothing swish about her naturally. I'm really not sure about the best workflow for that yet and I'm notorious for prolonged procrastination so don't hold your breath for my results.
Did you use specral rendering on the iray one? I find that the results are very different if you render iray with spectral vs cycles, but closer if comparing iray without spectral vs cycles. There might be a way to turn on spectral or something similar in cycles that I don't know about. Still haven't found time to start taking courses on materials or cycles engine yet. Specrtal looks great, except when it decides to show seams lol. Not sure why it does it, if it's only certain skins or whatever. The biggest seam issues happen when using geographs, but I have seen seams pop up between like the arm and torso, or the head and face etc.
@marble
Are your materials Iray to begin with?
Are you selecting Cycles as your render engine before importing with Diffeo? Do you make sure "Auto Material Method" is checked, and it chose BSDF, Principled, and Volumetric?
There's got to be a simple delta; I literally just clicked a few buttons with no art nor science about it.
The video I would reccomend is by Blender Guru.
I did not turn on Spectral so if it isn't on by default, then no, it wasn't on.I loaded the character into my default IRay scene which has no lights other than the HDR environment, positioned the camera and hit render. Without changing anything, I saved the scene and exported using the Diffeo add-on and then imported to Blender. Again the scene was lit by HDR. When I get a change I'll try different light configurations and see if I can get some kind of skin specularity. The colours are so very different too with the Cycles version being several shades lighter. I'm not seeing much by way of SSS in Cycles either.
Looking at your renders the main difference seems to be the lighting The Iray render has strong frontal lighting (perhaps the auto headlight) while the cycles render the lighting is super flat (it looks like it might be just a very blurred hdr)
also my personal preference in both cycles and Iray is not to use the sss maps but use the diffuse for both -especially on dark skin due to the differing ways Cycles and Iray hadle sss this can be extra important. roughly speaking in Iray the diffuse and sss maps multiply together in cycles they are mixed so with a light sss map in cycles ass you tun the sss up the skin will lighten
but a lot of the difference is the auto headlamp
Great animations. I really like the quality.
Holy crap! That's fantastic. I subbed to follow your work more, so please post... :-)
+1000
.
Damn, excellent job.
My default DAZ Studio scene is configured with the camera headlight set to "Never". I've been caught out so many times with that damned headlight. But you are right in that I am using a blurred HDR image - I didn't realise that would make a difference in Blender as it gives my good lighting in DAZ Studio. I'll play with the lighting in the Blender scene and see if I can get some reflections and specularity. Maybe I can try a "World" image in Blender that is sharply defined.
So I tried with a different HDRi background as you can see in this image. I increased the Cycles samples to 512 and the render took a little over 4 minutes (now slower than the original IRay render). Skin still looks flat to me.
So I did my own comparison
only changes from absolute default plug and play:
Cycles is much lighter- personally I find this a feature as it gives me more control whereas in Iray I can struggle to make dark skins not go completely wonky
Iray has more visible spec - some of this is that the unerlying elements are darker so it shows up more but some of it is the different specular setup specular is definitely one of the things I tend to tweak more in cycles
the sss looks stronger in cylces - a bit too strong for me honestly, id probably lower the scale a hair
the lighting matches same hdri in each and for me it matches pretty perfectly this is why I assumed you had the headlamp in your Iray image I cannot fathom how you got such different results if you were using identical hdri in each as that has simply not been my experience at all.
And this is my best effort yet with Cycles. This time I used a different HDRi and added a spotlight. I then ventured into the material nodes and tinkered with specularity, roughness and height (bump). I'm quite pleased with the result and, as you say, I'm beginning to appreciate the lighter tone but I'm sure there must be a way to replicate the IRay tone, I just don't know which I prefer. I'll try playing with SSS too just for fun :)
Here's a new attempt at Eevee rendering now that I know how to fiddle with lighting and materials. This took 6 seconds @ 512 samples/pixel. Much better than my earlier efforts, I think.
I don't know what causes the white line on the upper eyelid.
Just something to keep in mind regarding cycles renders -
There was a guy on DeviantArt that was making some pretty good stuff exporting from DAZ and rendering in C4D/VRAY ('Random 1 by the artist Bamhor'). He said the skin textures in DAZ had luminance values that were too high and may not work well in other software. Since all of these textures are made specifically for DAZ and IRAY rendering, it's definitely a possibility and after some experimenting I tend to agree. You can add a brightness/contrast node or an HSV node between the original DAZ texture and the Principled BSDF to darken. You can also take the texures into an editor and adjust there. I like sliding the Levels up a bit on the input slider (screenshot: https://www.daz3d.com/forums/discussion/425906/exploring-daz-to-blender-skin-material-sss-w-diffeomorphic-nodes#latest).
Thank you. I may gripe all day long about Daz Studio, but no one will ever here me say bad thing number one about the G8 armature...
That was with the dForce hair animated in Daz, and I don't really like it. I'll post something else when I get the particle hair working in Blender. Hair collisions just recently started working again in 2.8x, but I've found some instances where it doesn't work quite right and I'm not sure if it is me or Blender...
Thanks for the tip. I checked out Bamhor on DevArt - some quality renders there although, as you say, in VRAY, not IRay or Cycles. Your observation does confirm, however, that rendering the Diffeo import "out of the box" does not give the desired results (certainly not always, anyway). I'm getting better results now that I've been a little adventurous and tentatively tweaked some material settings in the nodes. I'm not yet at the stage where I know what nodes to add but I will get there.