update to blender 4.0
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)
-
-
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 crashAnd If I’m wrng sorry for wasting ur time
-
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.
-
- changed status to open
-
As a side note, with 4.0 it is now possible to add curves in python. Thanks to Donald for pointing this out.
https://www.daz3d.com/forums/discussion/612756/
curves.data.add_curves( [ 42, 30, 49 ] )
This call will add 3 curves to the hair curves object, with 42, 30, and 49 points respectively.
-
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
-
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.
-
repo owner Changes to the principled node are described here: https://projects.blender.org/blender/blender/issues/99447
-
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
-
repo owner The comment at the top of pbr.py shows how I mapped the principled sockets.
-
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.
-
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.
-
Ok, will check the new principled and let you know.
-
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:
- 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:
- 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:
- 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.
-
repo owner The bugs have been fixed. The subpanels are not opened because I don’t know how to do that.
-
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.
-
repo owner Socket order changed in last commit. For consistently I also changed the order for multiplication nodes.
-
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.
-
- changed title to update to blender 4.0
- marked as enhancement
-
reporter thanks to you all, It still import issues but import poses, Mhx and all rigging things are workin in 4.0 beta thanks
-
what import issues do you have ?
-
reporter here this
and also I overwrite daz 3d diffeomorphic foldr with what I got in the zip
Still same
-
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:
- import anything with the pbrskin shader as principled or extended principled
-
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
-
repo owner The last bug is fixed in the latest commit.
-
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.
-
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.
-
reporter OK thanks and itb worrks for everything I treid 5 characters everything imported without any issues
Thanks sir
-
- changed status to resolved
-
- Log in to comment
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.