update to blender 4.0

Issue #1764 resolved
Gu Ki created an issue

Do you have any intentions to convert atleast posing to new posing in blender 4.0 it always gives no layer attribute,

and make all bones posable is also not working remaing thing working fine

Comments (30)

  1. Alessandro Padovani

    Blender 4 is now in beta, meaning the api shouldn’t change and could be used for preliminary tests, though of course there may be bugs. A release candidate would be a much better beast to deal with. Not to mention that usually it takes three or four releases to get bugs and regressions fixed enough on a new blender, so for production the previous LTS is better.

  2. Gu Ki reporter

    well blender 4.0 cmes new material bdsf and etc., that will aactully help with a lot for lot of people and the poses actually works in blender 4.0 alpha build like august build it has import issue but remaining worked properly like morph, mhx and posing
    and new posing issue probably realted new posing set up from blender 4.0 beta total UI looks differentmay be u need check it make sure wheatehr APi change or posing overhaul by the way I don’t know anythingabout these APi and stuff Is is just old pose UI worked and new pose UI crash

    And If I’m wrng sorry for wasting ur time

  3. Thomas Larsson repo owner

    Unfortunately my main computer is still running Win 7, so it has to wait for the official release (and nalexandru’s recompilation). I will see if if find some time with my work computer next week.

  4. Kat

    I tweaked Diffeo myself to get a somewhat basic Cycles import functional. I loaded in two dufs containing different G8.1Fs, both with some clothing, and neither experienced any issues. Its possible that I overlooked something, but this the bulk of the work done for that section of the code.

    For now, I only have Cycles/BSDF functional. Imports using the Principled modes still have issues, but that would just be finding which lines of code need replacing.

    Thomas, if you’re interested in implementing what I did into the base Diffeo, you’re welcome to do so.

    https://bitbucket.org/kittkatt/import_daz/commits/9f2cd43896b1d2cf521a7a8de4a71e802b158336

  5. Thomas Larsson repo owner

    Thank you, Kat. I implemented a slight modification of your code, and now materials seem to work in Blender 4. Also the names of the principled bsdf inputs had to be changed.

  6. Alessandro Padovani

    As for principled, I see there’s no more a separate sss color so we can’t mix translucency and diffuse. And of course they didn’t add translucency that’s a missing principled feature from ages. Again basically they managed to break it “improving” it as they did with volume.

    What it means for us is principled in 4.0 will be bad for daz skins. Not that it was wonderful before.

    p.s. Will look how the new channels can map to the old and let you know. But I’d prefer an official documentation to come out, since it seems the blender docs for 4.0 are not up to date with the new principled. It is insane that they removed the old principled shader. I mean all the blender projects before 4.0 are not portable this way, because the new principled is not compatible it has different features.

    https://docs.blender.org/manual/en/4.0/render/shader_nodes/shader/principled.html

  7. Alessandro Padovani

    Ok here is a first conversion, eventually we can improve it if something comes out.

    principled v2 < principled:

    • base color < mix(A = base color, B = subsurface color, Factor = subsurface), ** if subsurface is zero then use base color alone ** see below for the node setup
    • metallic < same
    • roughness < same
    • ior < ** see below
    • alpha < same
    • subsurface method < same, ** apart random walk fixed radius
    • subsurface weight < subsurface
    • subsurface radius < same
    • subsurface scale < 1.0
    • specular ior level < 0.5
    • specular tint < daz glossy color ** this wasn’t possible in previous principled
    • anisotropic < same
    • anisotropic rotation < same
    • transmission weight < transmission
    • coat weight < ** see below
    • coat roughness < clearcoat roughness
    • coat ior < ** see below
    • coat tint < daz top coat color ** this wasn’t possible in previous principled
    • coat normal < daz top coat bump ** this wasn’t possible in previous principled
    • sheen weight < 0 ** we don’t use it for daz materials
    • emission color < same
    • emission strength < same
    # principled v2 ior
    # the new principled use the same ior for specular and transmission, so we have to choose
    if transmission weight == 0
        ior = reversed from specular, where specular = ((ior -1) / (ior +1)) **2 / 0.08
        a possible approximation is ior = 1 + specular
    else
        ior
    
    # principled v2 coat
    # clearcoat and coat v2 use different models, again clearcoat was a specular channel, so below a possible approximation
    if clearcoat == 0
        coat weight = 0
    else
        coat weight = 1.0
    coat ior = 1 + clearcoat / 10
    

    As for the sss method it seems “random walk fixed radius” is removed, now there’s only random walk and burley. I strongly advise to always use burley as default for daz materials, since random walk gets bleeding artifacts on open meshes, other than not working in eevee.

  8. Thomas Larsson repo owner

    I think everything has been implemented. However, I had to use a crappy old laptop with Win 10 to run Blender 4, so I haven’t tested thoroughly. Nothing seems to crash and nothing is obviously wrong in my view.

  9. Alessandro Padovani

    Commit 4a7dccf, blender 4.0 beta.

    bug. subsurface. The sss scale is not set to 1.0, we already adjust the radius so the scale has to be 1.0 to have the same effect as the old principled. In the old principled there’s no scale it is assumed 1.0.

    steps:

    1. import g8f as extended principled and check the torso material

    bug. ior. The ior conversion is not implemented correctly when there’s a texture, it has to be ior = 1 + texture * specular, while the current implementation does ior = texture * (1 + specular) that’s not the same thing. Below as it should be.

    Note that clamp must be disabled.

    steps:

    1. import g8f as extended principled and check the torso material

    bug. coat. Same as ior, it has to be: coat ior = 1 + texture * clearcoat / 10

    steps:

    1. import g8f as single principled and check the torso material

    note. principled channels. By default the new principled comes with closed channels, we may want to open all channels or at least the used ones, otherwise the links are not visible. This is not a bug but rather a nuisance.

    Other than these notes the conversion seems good. Then we can fix other bugs if they come out.

  10. Thomas Larsson repo owner

    The bugs have been fixed. The subpanels are not opened because I don’t know how to do that.

  11. Alessandro Padovani

    Commit b321a51.

    Works fine thank you for the fix. I see the texture is connected to the multiplier channel, that works the same but usually we connect the texture to the value and we use the scalar as multiplier. If this is to simplify the code then it’s fine let me know.

  12. Thomas Larsson repo owner

    Socket order changed in last commit. For consistently I also changed the order for multiplication nodes.

  13. Alessandro Padovani

    Commit fbd0f25 works fine.

    If there’s nothing to add we may mark as resolved since 4.0 works now, then other specific bugs may be better dealt with on separate discussions.

  14. Gu Ki reporter

    thanks to you all, It still import issues but import poses, Mhx and all rigging things are workin in 4.0 beta thanks

  15. Gu Ki reporter

    here this

    ‌and also I overwrite daz 3d diffeomorphic foldr with what I got in the zip
    Still same

  16. Alessandro Padovani

    blender 4.0 beta, diffeomorphic 1.7.2.1855

    bug. pbrskin to principled in blender 4. Yes I can confirm the issue, we didn’t check the pbrskin for principled conversion, bsdf works fine, blender 3 works fine. The equations above are the same since they’re from old principled to new principled so they cover all the shaders.

    steps:

    1. import anything with the pbrskin shader as principled or extended principled

  17. Gu Ki reporter

    well tried but some them worked some them don’t still no prob, I can do some work around like import them 3.6 and and blender has autosave feature I will use that to open a 3.6 file in 4.0 beta
    I will link errors images u guys find out what is happening

  18. Thomas Larsson repo owner

    I don’t find any problems with pbrskin, and there is no reference to the “Clearcoat Normal” socket in code that Blender 4 can access. Presumably I found the bug myself and fixed it in an earlier commit.

    The “DAZ Principled” node group has been removed. It was an empty shell that Engetu requested to fill with his own node tree. I never thought it made much sense in the first place, and when the principled sockets changed in Blender 4 it became completely obsolete.

  19. Alessandro Padovani

    Commit 673c09c works fine, thank you for the fix, pbrskin imports fine too. If Gu Ki has nothing to add we can close as resolved.

  20. Gu Ki reporter

    OK thanks and itb worrks for everything I treid 5 characters everything imported without any issues
    Thanks sir

  21. Alessandro Padovani

    Issue #1830 was marked as a duplicate of this issue. There’s improvements for principled.

    See also #1909 for better refraction for principled v2.

  22. Log in to comment