animate1978 / MB-Lab

MB-Lab is a character creation tool for Blender 4.0 and above, based off ManuelBastioniLAB
Other
1.84k stars 314 forks source link

Blender 2.81 upgrade #164

Closed animate1978 closed 4 years ago

animate1978 commented 4 years ago

Now that Blender 2.81 is in Beta I think it is time to look at it to upgrade MB-Lab from the current version minimum of Blender 2.80.74. https://builder.blender.org/download/

Here are some of the highlights from this upcoming version.

Cycles

So the above could potentially change the shaders in future versions. I have not played around with these new features and changes yet as I have been working on MB-Lab 1.7.6 in Blender 2.80 so I can't say for certain what will change in the shaders for MB-Lab.

EEVEE Shadows

Soft shadows were changed and now enabled with the Use Soft Shadow option in the render properties Shadow panel. This will progressive smooth shadows, in combination with a more conventional shadow filtering method (PCF). Exponential and Variance Shadow Mapping methods were removed. This improves shadow accuracy, makes light and shadow setup simpler, and improves performance for soft shadows.

Other notable improvements:

Transparent BSDF Transparency handling has been reworked and now supports the same BSDF combinations as Cycles.

Associated node tree
The Additive and Multiply blend mode have been replaced by shader equivalent that is compatible with Cycles. Compatibility code has been added to load blend file containing materials using these deprecated blend modes, but there is a corner case where it can fail.

Node setup replacing deprecated blend modes. Holdout Holdout is now supported and works with both opaque and semi transparent surfaces.

Other Changes

The changes that really apply to MB-Lab are the Transparency BSDF and the Bump Mapping.

Python Upgrade Python has been upgraded from 3.7.0 to version, 3.7.4. API Changes

I am going to have to go through the code and see if any of the above needs to be changed.

animate1978 commented 4 years ago

As of this morning I get this error

Switching to fully guarded memory allocator. Blender 2.81 (sub 15) Build: 2019-10-12 23:01:11 Linux Release argv[0] = /home/farishta/blender-2.81/blender argv[1] = --debug Read prefs: /home/farishta/.config/blender/2.81/config/userpref.blend read file /home/farishta/.config/blender/2.81/config/startup.blend Version 280 sub 75 date 2019-07-29 14:47 hash f6cb5f54494e found bundled python: /home/farishta/blender-2.81/2.81/python Traceback (most recent call last): File "/home/farishta/blender-2.81/2.81/scripts/modules/addon_utils.py", line 351, in enable mod = import(module_name) File "/home/farishta/.config/blender/2.81/scripts/addons/MB-Lab/init.py", line 38, in from . import humanoid, animationengine, proxyengine File "/home/farishta/.config/blender/2.81/scripts/addons/MB-Lab/humanoid.py", line 34, in from . import morphengine, skeletonengine, algorithms, proxyengine, materialengine File "/home/farishta/.config/blender/2.81/scripts/addons/MB-Lab/materialengine.py", line 26, in import numpy as np File "/home/farishta/blender-2.81/2.81/python/lib/python3.7/site-packages/numpy/init.py", line 142, in from . import core File "/home/farishta/blender-2.81/2.81/python/lib/python3.7/site-packages/numpy/core/init.py", line 67, in raise ImportError(msg.format(path)) ImportError: Something is wrong with the numpy installation. While importing we detected an older version of numpy in ['/home/farishta/blender-2.81/2.81/python/lib/python3.7/site-packages/numpy']. One method of fixing this is to repeatedly uninstall numpy until none is found, then reinstall this version.

Looks like something with numpy, going to look into it

animate1978 commented 4 years ago

I took the site-package of numpy from Blender 2.80 and replaced the site-package in 2.81, this cleared up the issue, going to check on the Blender bug reports to see if this is an issue yet.

EDIT

Looked up the info regarding numpy in version 2.80 vs. 2.81

2.80 uses numpy 1.15.0 2.81 uses numpy 1.17.0

Not sure why it is reporting that numpy is older in the most recent build of Blender?

animate1978 commented 4 years ago

https://developer.blender.org/T68833

This is not a bug, just delete everything in your Blender directory, then extract Blender 2.81 beta, should clear up.

Hopefullyidontgetbanned commented 4 years ago

blender 2.81 should release in the next few days, likely tomorrow from their official estimates.

animate1978 commented 4 years ago

Yes I've been awaiting this release, however not sure if I want to bump up the min version MB-Lab will run only because there has not been really anything changed that can't run on the 2.80 release version. I will think it over the next couple of days.

animate1978 commented 4 years ago

Something changed between versions, obviously, it does in fact affect the iris shader (somehow, not sure at this point what).

What happens is that if a user makes a MB-Lab character in 2.80, saves it in 2.81 and then tries to open it up in 2.80 again.... well the below screenshots give an example of what happens. It is not advisable to open up files of latest versions in previous versions of Blender, there should not be much change but there is enough.

iris_change_blender_281

iris_change_blender_280

animate1978 commented 4 years ago

Side note. While the Min Blender version is set now 2.81.16, MB-Lab will in fact run in Blender 2.80.75, I just tested it and MB-Lab will function as expected.

animate1978 commented 4 years ago

Found the real root of the problem. It is in the shader nodes. When it's saved as a 2.80 file it's fine, until the file is saved in 2.81 where some of the nodes have changed.

shadebug_test_02

The above is the nodes in 2.81

shadebug_test

Same file but saved and opened in 2.80.

With the changes in 2.81 I was afraid this would happen. Again it's bad practice to open up files from latest versions in previous as I stated above but people do things that are unexpected. This could be one of them and now we know what happens.