Weekly Developer Notes - animate1978/MB-Lab GitHub Wiki

Weekly developer notes will usually be posted during the weekends (FRI - SUN).


08/02/20

MB-Lab 1.7.8 has officially launched! With this release comes the following updates and bug fixes.

Also note that the MB-Dev tools could have bugs that we have not encountered just yet!

Feel free to clone the repository or visit https://mblab.dev/ for a copy!

MB-Lab 1.7.8

Added

  • MB-Dev Character Development Framework introduced
  • Hair Engine now adds hair shaders to Cycles and EEVEE

Changed

  • MBLabSkin2 uses Principled BSDF yet again
  • Removed SSS scale group, replaced with Vector Math node
  • Bump map added, Thickness map removed
  • Modified skin oil maps
  • Eyelash shader now has bump and gloss
  • ExpressionEngine class now in it's own file
  • Blush map converted to grayscale
  • Modified Albedo maps
  • Bump maps now 4k resolution
  • Modified Freckle masks
  • Modified Material Engine
  • Changed lighting code
  • MB-Lab has new version numbering scheme. Last number for dev purposes
  • Sliders are now highlighted
  • GUI update
  • MBLab Pupil use Diffuse Node instead of Emission
  • SSS Radius changed to more accurate values
  • Freckles now include two colors

Bug Fixes

  • Poses don't show when user selects IK model
  • Preserve Phenotype random function code fix
  • Typo: Hands_Lenght, fixed in transformation and measurements JSON
  • Typo: Various names in transformation files fixed
  • Hair Dynamics bug fix for Nvidia GPU cards

Known Issues

  • MB-Dev tools may contain bugs that are unknown at this time

07/26/20

Again it has been quite some time.

MB-Lab 1.7.8 is nearing release. I have been testing out the new MB-Dev tools.

So within the next week this new version will be available for download.


06/27/20

It has been a LONG time since the Weekly Developer Notes has been updated. A LOT of personal issues came into play and I simply was unable to work on MB-Lab for a couple of months.

Now that I am slowly getting back into the swing of things...

  • GUI Change!

The GUI has been worked on for one, the changes are more compact. You can see examples here : https://github.com/animate1978/MB-Lab/issues/256#issuecomment-615434783

  • More editing tools

I have not been able to test any of these new tools out but so far Teto has been working hard and steadily on making these tools available.

https://github.com/animate1978/MB-Lab/issues/264

03/06/2020

More work has been done to the morph and expression editing. Teto has an open issue documenting the process of development here https://github.com/animate1978/MB-Lab/issues/234

Some minor edits to the humanoid library were made, one was the lights were removed finally, now that there is code that adds the lights via Python rather than Appending the object in. This makes the humanoid blend file totally devoted to mesh and armatures.

Another change was the SSS Scale group node was replaced with a Vector Math node. Simplifies the file a bit.

02/07/2020

A new feature has been added to the dev branch, Morph Creator. This is a new tool that allows the creation of new morphs, the morphs are what you customize in MB-Lab such as the various body part dimensions, it is what makes MB-Lab so powerful.

One of our new programmers, Teto, came up with this excellent tool that uses part of the script that was used for the Toon Girl exporting tests months ago, as well as the Latino addition. Well that code was refined, a GUI was added and made available for users and developers alike. What makes this so important is that this will make the process of developing new characters for MB-Lab so much easier, we have already proven that we can add new mesh to the project, there were just some key things missing and it was messy. Well now that process is streamlined so to speak.

At this time the code was just added to the repository, very little testing has been done and documentation is being worked on as well. This will be available for MB-Lab 1.7.8. More to come on this in the very near future.


01/10/2020

Happy New Year! A bit late but... anyways. Development has been slow but steady. There has been improvements in the skin shader, the shader will now be using the Principled BSDF node, yet again but this time I actually kinda know what I am doing, as opposed to the last time I tried using the shader node I had a million maps for things that I did not need. This time I am using the same shader network just deleted the SSS nodes as well as the Glossy nodes, rearranged the network a little and then started to paint the maps.

  • There will be edited albedo maps, this is without the scalp fuzz that has been present in the texture map since the beginning.

  • The Oil maps are completely redone.

  • The Thickness map is now removed.

  • The bump map will now be a 4K map. With compression and set to gray scale, the file size is around 2 MB which is not too bad really.

There has been some code changes. Now there will NOT be the option to use poses or animation if you are using an IK based rig. This has been something that has confused users for so long but I had no idea how to fix it. Thanks to a user / developer this is now fixed and they will not be visible in the MB-Lab tab. Really simple fix too, kind of shameful I didn't notice.

This weekend I will be pushing my commits to GitHub.

12/24/19

Merry Christmas!

Developments will be paused for a week or so as we take time to be with our families and friends. Of course this means that this probably won't happen but that is the plan! I will be making some video tech demos, or at least trying to, as well as update the gallery more with features and such. The website has been a success, even with all the packaging issues (forgot to add the Face Rig).

For now enjoy the holidays!


12/05/19

Very soon I will be opening up the doors to the website www.mblab.dev

This is where 1.7.7 SHOULD be downloaded from, although I will be providing a ZIP on GitHub as well. Due to the Large File Storage "issue" it is NOT RECOMMENDED to download a clone of the "dev" branch. At least until the LFS issue is cleared up. The reason it is taking so long is because I am reading docs on how to deal with this successfully so that the repository does not have problems.

This all should be resolved within the next few days.


11/27/19

THIS IS IMPORTANT

As of right now there is an issue that if you download a ZIP file of the dev branch, that the binary files will not be included. This includes the texture maps! This is because of the switch to Large File Storage. This is causing a huge headache on my end and is forcing me to find a web host (finally) where the releases will be stored and downloaded from.

There will be more on this later. For now stick with the 1.7.6 version until further notice.


11/22/19

So the Developmental version is nearing release, I will be making a release branch soon.

One of the changes is that unfortunately MB-Lab would require Blender 2.81 to function. This comes after many days of thinking about it but the problem lies in the changes to the shader nodes and backwards compatibility with Blender 2.80. It is generally ill advised to open up files from latest version of software in older ones but there is not MUCH different, however the changes break the iris shader nodes, specifically the Mapping Nodes. So this forces an upgrade to use MB-Lab 1.7.7...


11/15/19

Right now there is work trying to fix this issue related to the IK rigs of MB-Lab

https://github.com/animate1978/MB-Lab/issues/166

I am thinking about making a release branch soon, going with the git flow workflow method. I think that the changes and new features that have been made over the past month qualify as a new release. That is once this IK bug gets fixed.

The documents are getting updated too, that is one of my jobs for this release :)


11/06/19

It has been far too long for development updates!! My apologies.

Version 1.7.7 is being developed largely by volunteers this time, which in my opinion is awesome and what I was hoping for. These amazing developers have come up with some really cool things and have fixed some bugs that were badly needed.

First off is the addition of the Hair Engine. Particle hair has been a long sought feature by users of MB-Lab and it has finally arrived, brought to you by Noizirom. This is a very rapidly evolving feature right now so it is not considered stable but it is functional.

The Proxy Engine also has been improved, one of the new key features is that there is better support for assets or mesh that are in real close proximity of the MB-Lab character, such as stockings, socks, underwear etc...

The Muscle system has been fixed, there has been some bugs since version 1.7.0. One thing that happened was the loss of constraint data in the blend file, somehow this was lost during the conversion from Blender 2.79 to 2.80. There were also some mismatches in rotation that required some changes using a script to precisely align them. All these issues have been fixed.

Remember all changes so far are in the Developmental branch of MB-Lab.


10/13/19

MB-Lab 1.7.6

This morning I merged the Dev branch to the master, making MB-Lab 1.7.6 go live.

This release was delayed quite a bit due to issues with the new nail shader, plus some real world issues that I will not discuss here, sorry for the long delay.

Already I am looking at Blender 2.81 as the next development version of Blender for MB-Lab, there will be code changes because already there are bugs. The numpy site package included with Oct 12 build of Blender 2.81 is 1.17.0, while the version MB-Lab uses is 1.15.0, this causes an error at startup and MB-Lab fails to load. A quick fix until this bug is corrected is to take the site package of numpy from 2.80 and place it in 2.81. HOWEVER this is not a fail proof method and could cause issues downstream in other areas so be aware this is a hack.


09/28/19

There is going to be a delay in the release of MB-Lab 1.7.6 sadly. It was going to happen this weekend but due to a bug related to the new Nails shader, this has to be sorted out before release because it breaks MB-Lab and the rest of the shaders fail to load - resulting in a very off looking character. So until this gets fixed locally on my system and runs bug free I am putting this release on Hold for now.

Hopefully I can consume enough caffeine to fix this so by the end of the weekend there will be a new version of MB-Lab.


09/13/2019

Happy Friday the 13th! The stylized toon character test did NOT go well! So the toon character addition is being put on the backburner for now and focusing instead on getting 1.7.6 ready for release.

  • Latino model type - Needs review and testing again, it has been some time since it has been played with.
  • Fingernail shader - Adding to the rest of the models.
  • Skin Shader - Needs to be reviewed

MB-Lab 1.7.6 should be released in the next week or so.


09/07/2019

Working on a new test model this week, after a model was found on Blendswap that is not only licensed as CC-0, which is ideal for this project, it is also well made. It is a bit high in the polygon count though at 60k faces.

Created a new feature issue here - https://github.com/animate1978/MB-Lab/issues/161


08/31/2019

The Latino male and female vertice JSON have had Prettier run on them, making them human readable. More work needs to be done to those model types to make them look more Latino than they currently do. Expect changes to these files. The South American phenotype was added, that too needs to be fine tuned.

More work has been done to export to JSON, now we have the ability to export vertice, vertex groups and polygons. Noizirom has done some excellent work to reverse engineer MB-Lab so that we can start replacing the mesh with new ones. We still need to figure out more JSON before we can fully do this but we are on our way.

More work to the new skin shader has been in progress, specifically the lips. Added more texture to them via a Voroini node.

More work to the freckle masks has been done, this too is a WIP and should be expected to change if you are using the Dev branch of MB-Lab.

Also I alphabetized the character list in MB-Lab, though it is still the Caucasian female that is the default model type on start up.

08/17/2019

Over the past week there have been quite a bit of changes to MB-Lab, as well as some experimentation with JSON files.

First off the code, textures, new Latino type and shaders have been committed to the Dev branch of MB-Lab. It has officially become 1.7.6 because of these new features, previously I was just making changes and updating things as usual without thinking that any of this would become "things".

So if you want to clone a copy of MB-Lab 1.7.6 go here - https://github.com/animate1978/MB-Lab/tree/Dev

The experimentation with JSON went smooth, with the only caveat is that the newly generated JSON files are over double in size due to the vertice information being more detailed in our version than Manuel's version.

In the test I placed the newly generated JSON file of the Anime 1 character, also called f_an01 and in this case the file itself is f_an01_verts.json, into the data folder /vertices. I of course backed up the original file just in case, plus I really don't want to accidentally commit this experimental file to the Dev branch anyway. I booted up Blender, selected the Anime character and boom - MB-Lab successfully creates the character using the experimental JSON file. Well it doesn't directly import the JSON as a mesh, what happens is that MB-Lab appends the appropriate mesh from humanoid_library.blend and then uses JSON to manipulate the mesh.

Here is a video of this test

https://vimeo.com/353994274

What is interesting is that there was no error at all from MB-Lab about the JSON files, usually when there is some kind of change there is almost always some kind of error, human error is usually the root cause but this test, it produced NOTHING.

The code we used is freely available too so don't think that we are hiding this from you, no this tool is on GitHub as well - https://github.com/Noizirom/Blender-Python-Tool/blob/master/co_to_js.py

We are still learning as we go but we are on that path now.


08/10/2019

This morning while developing new textures for model types I asked myself, why are there no Latino model types in MB-Lab? Yes the Asian type has a phenotype for Latino's but I think they should be in a whole new model type. So that is what I did, there are now Latino model types in MB-Lab!

It was actually pretty easy, all I did was change the characters_config.json file for a new type, added this type into the list, copied the required Asian JSON files and renamed them the Latino prefixes.

It works! However all I have done for now is the Female model, I still have a LOT of work to do for the Male.

Hopefully all my changes will be added tomorrow.


08/02/2019

Took a break from the project for a couple of weeks after release to focus on real world activities and events.

During the downtime I started playing with a new skin shader, to replace the current model that in retrospect is not that great and consumes a good chunk of disk space with texture maps that are not really needed. Maps like roughness and specular, the SSS map, the bump map... pretty much most of them. The idea is to replace the texture maps with mask maps that drive procedural texturing instead of the current model which uses the maps for rendering features. This reduces the disk space since the masks don't have to be 2K resolution, one of them is like 256x256, not to mention the maps don't contain a lot of variation of color information so they are reduced in file size.

The project this week broke 400 stars and 100 forks! Amazing and thank you!


07/18/2019

Did some more work on the eyeball shader, made the executive decision to go with just the texture map network rather than mix it with procedural. The problem was how the network is currently designed, it was having issues with SSS, you would set the value to something like 0.05 and then switch to the other network and the SSS on that would be canceled out. So you set the value to 0.051 and then switch back and then THAT would be canceled out. Strange behavior and it happened on both Cycles and EEVEE so it was not a bug but how the shader was built, I am assuming it just could not figure out the SSS between the two. The procedural network looked pretty bad too so while the nodes are still there in the file, currently it will not render. I am just keeping them there for future development. This means the eyeball shader is still technically a WIP but good enough for release.

Also connected the iris bump texture to the shader, it was being loaded into MB-Lab but was never connected to it.

On the fence with animation BVH files. So far have only added two to the repository but they look pretty bad and I am not an animator, at least not of human movement. Still leaving them in the directory but not sure if adding more would be useful or not. It's one of those ideas that sound good on paper but in practice doesn't work so well. That is the spirit of open source right? Introduce new experiments, see if they work? Well this is an experiment. It may or may not work or be useful for anyone at all. I figured it would be handy to see what the final outcome would be after downloading and converting animations. Maybe I will add the Mixamo to MB-Lab script to the project, or make a new repo just for it? Decisions...

The release date for MB-Lab 1.7.5 is set for July 20, 2019.

I think it is pretty stable right now and the last of the shader work has been completed.


07/12/2019

The Iris and Eyeball shaders have been updated, now they are half procedural and half texture. Giving the option we believe can be a good choice for users rather than being stuck with one or the other. This also adds some new textures and texture masks to the collection.

There is also work being done to split up the code into a cleaner version of MB-Lab. Mainly it involves taking code from one file and splitting into logical modules rather than the current code, which works but it is messy and hard to follow at times. That change will happen at a later time, we were waiting to see if the changes would be included in this release but this will wait for now.

MB-Lab 1.7.5 will be released soon, in the next few days ...


07/03/2019

The Face Rig issue is not fully fixed but the cause was found, which was critical elements not added to the humanoid_library.blend file, which was caused when the file was rebuilt for Blender 2.80. The code was fixed, at least to Add the face rig however to delete there is still issues locally, so more testing with the next immediate builds of Blender is critical.

Now the face rig is even more advanced, with the ability to load a FACS rig as well which will be explained on a later date.


6/30/19

This is the testing phase of MB-Lab 1.7.5.

It is kind of a critical phase because I am trying to get the addon ready for the first RC of Blender 2.80, which soon after will be released officially. The last version of MB-Lab for Blender 2.79 was 1.6.5 and this version, 1.7.5, is the final buildup of the last 6 months. For some this has been an evolution in the making, which it has, remember that Blender 2.80 has been in Beta status and things worked or did not. There have been mistakes made, bugs introduced and squashed and more. In all this journey has been a learning experience for everyone.

MB-Lab 1.7.5 is planned to be released in the next week or two once testing is done, plus some attempts to fix some weird bugs (nothing critical just weird).

EDIT - Just after writing this entry a NEW SERIOUS BUG was discovered in the Dev branch, related to the Face Rig.

It has been some time since I opened up Blender 2.79 and used MB-Lab 1.6.5, so some screenshots have been made for later use in "marketing". None the less here are some highlights...

  • Blender 2.80 Port
  • GUI change
  • Auto-Updater (which caused a HUGE bug in the works for months)
  • Face Rig
  • EEVEE Shader work
  • Procedural Skin features
  • More Texture Maps
  • Various code clean up and optimizations

In all the difference between MB-Lab 1.6.5 and 1.7.5 is very obvious when seen side by side.


6/21/19

It is the first day of summer, well at least in this part of the world. Marks for an new development update.

The rigs of MB-Lab were updated over the past week due to inconsistent rolls between the base skeleton and the muscle rig.

It was also found that MB-Lab does some strange things to the rigs after the appending of the data from humanoid_library, for instance the root bone and the entire spine bones are set with rolls of 0.00, but after the character is created these rolls change slightly by an average of 0.000009 (or something to that nature). Not sure if this will affect things downstream such as Rigify (which is how these rig bugs were discovered). I have not fully tested with the Rigify for MB-Lab addon though so I am not %100 the changes I made to the rigs will be corrected.

There is new reports about the bump map, there have been changes made on my system but have yet to make it to the Dev branch. More or less it changes certain features that should not be "inverted".

A lot of document changes have been happening over the last month as well, to try to update the imagery from Blender 2.79 to what Blender looks like now. During the past 6 months the GUI of Blender has changed quite a bit but is now frozen so more effort into taking current screenshots happened, which also helps users out considering the GUI of MB-Lab has changed as well. This also means a lot of old image files will be deleted since they are now obsolete.

The humanoid_library.blend file has been reworked as mentioned before, which actually makes it easier for developers to modify the file (though it is recommended they should not unless they know exactly what they are doing), this was a pleasant surprise to figure out during the debugging of the rigs as well as the file surgery. What is known is that one can add new rigs and base meshes in quite easily by appending from a source file (this is the best form of practice), then if these changes are to be recognized by MB-Lab then some changes to the source code will need to be made but the actual practice of building a new character base mesh is easier knowing this information.

Also the "release" of MB-Lab 1.7.5 should be around the time that Blender 2.80 comes out of the release candidate phases. The idea is to have a really solid build of MB-Lab for this release, each version upgrade since the 2.80 port has been a buildup to this, not this exact version really but the timing fit nicely, so a LOT of testing will happen before it is officially "released". Now that the GUI has been redone, that registering bug fixed, the rigs fixed (at least in testing), and new shader and animation files added testing should be done to ensure that by the time Blender 2.80.xx is finally released as production ready, MB-Lab should be too.


6/18/19

Normally our weekly notes are on the weekends but something happened that needs to documented.

Somehow the humanoid_library.blend file became somewhat corrupted. In a way that only the Human Female and Male models, the FK rig, the IK Rig and the Face Rig were "editable", meaning that the others such as the Muscles and the Anime models were not visible nor could you edit them. They were there, but not. This was found out during the investigation of this bug and one could not access the muscle system in the file. Panic! WHAT!!

Looking at the Blender file and the Data API in the Outliner it was obvious the data was there. Something happened to make it currently impossible to fix. I started to go back through the backups, with the current Blender build the same thing was seen all the way back to the original 1.6.1 version. So this was a Blender issue, not a file issue. I could still create characters in MB-Lab. The Anime and the Muscles did append from humanoid_library.blend, so the ideas started to pop. How to fix this? Whatever happened to the translation over time between file versions of 2.79 and 2.80 this was correctable.

So surgery began and I started to extract each and every mesh, armature and whatever else, save them as separate files. I could append them back into a single file once more. Just a little differently this time with Blender 2.80 in mind, rather than letting Blender convert the Layers to Collections, this file was designed specifically for Blender 2.80 so this means that version 1.7.5 will have a different file. This file is NOT backwards compatible, which means that you will NEED to have Blender Version 280 sub 74 date 2019-06-19 18:29 hash d30f72dfd8ac.

I began testing this file.

Each model and armature was tested.

Everything is working.

What a scary couple of days.

This file will be committed soon, there is things that need fixing before it is ready.


6/14/19

A new feature has been added to the Dev branch - Saving and Loading of Bone Rotation offsets. With this feature, you'll be able to tweak XYZ bone rotations, store in a file for a specific BVH Animation ( or more depending on the adjustments ) and then simply load this file whenever you want to reuse that BVH animation and the tweaked bones will self-adjust.

The documents have been updated as well, replaced all the older Blender 2.79 and ManuelBastioniLAB imagery with MB-Lab and Blender 2.80 screenshots.


6/7/2019

  • The Developmental version of MB-Lab 1.7.5 has some GUI changes, there are icons everywhere now. Gone are the checkboxes at startup for Cycles, EEVEE and such, now they are icon buttons. Also more options have icons added. So far users show approval on this change.

  • More progress has been made decoding the JSON files, one of our users has been making some great headway into understanding each files relationship with each other, which is quite intricate. So slowly we make more progress towards replacing the base models and morphs with new ones and eventually a new license (BUT DON'T EXPECT IT SOON!)

  • The minimum Blender version in Dev is now 2.80.74.

  • The EEVEE part of the human skin shader has been corrected, at least for now, the skin was too glossy compared to the Cycles network.

  • Document imagery has begun to be changed to Blender 2.80, the plan is to replace all "OLD" imagery of Blender and older versions of ManuelBastioniLAB. As well as updating the docs of course.


6/1/2019

  • The Blender API has been frozen, which is good news for addon developers as we don't have to keep playing catch up with bug fixes.

  • The minimum Blender version for 'master' is 2.80.72

  • The BVH animation import bug has been fixed, this was due to a change in the Blender API.

  • The long standing Blender bug that caused headaches for users wanting to use the Muscle system in MB-Lab has been fixed as well, thus rendering the issue solved.

Now the next wip is fixing the EEVEE end of the human skin shader as well as create the tongue shader.

Also as a side note there has been a little progress in decoding the JSON data, this information will be added to the wiki at a later date.


5/26/2019

Developments have been slow this month due to other commitments.

The Blender developers did some API changes that have introduced a bug into the BVH animation function. It is recommended that you do NOT use this, it will fail. If you need to use the BVH animation function use a previous version of MB-Lab (1.7.3 or earlier for instance)

The MINIMUM Blender version was changed from 2.80.00 to 2.80.70


4/27/2019

Not much has changed this week, only a small edit was committed to the Dev branch. The iris texture input was changed to UV as the iris texture would "swim" if you animated the eyes. Now the texture is locked in place.

The tongue in the next version will have it's own dedicated shader for it. Currently it uses the same shader as the skin so if you change the complexion of the skin, you also change the color of the tongue. Not realistic and at value 1.0 makes the tongue look black.


4/20/2019

MB-Lab 1.7.4 was released to the public today. This was an experimental release in that I merged the Dev branch to master on Thursday but wanted to see some traffic go through Github first to see how many clones it would get over the next couple days before making that "official" release announcement.

However it doesn't come without it's fair share of issues that are irritating to say the least.

  • The Eye shader looks weird.
  • The Area lights in EEVEE are a little high, they need to be fixed.

4/14/2019

The shader rework has been mostly completed and is now in the Dev branch, along with the changes to the code, as well as a new texture mask and a change in scaling of the sub dermal map.

The eye is completely procedural now, there is now a new shader in the library for the iris, this was done because the original tests did not go well with the way MB-Lab works. So the polygons where the iris would be were reassigned to the new iris shader. The pupil area was fixed as well.

The skin shader has undergone a complete transformation and the skin editor values have been tuned to the optimal settings for human skin, these values of course can be changed to your liking. One thing to note is the skin oil, the skin assumes there is oil, this value just changes the sheen of it, whether it looks ultra slick or rough. I may have to change the name of the value before it goes into production.

The lighting startup is now set to False by default, this was causing a minor startup bug that would reapply lights to a WIP character if you deleted the lights. This corrects that bug.

The scaling of the sub dermal map was to save on file size, this reduced it by 2 MB for each map. The detail is not needed as much for the SSS effect it is intended for.

The texture masks are a new feature that might have future use in other areas but for now the only one is for the freckles, this is a grey scale image that uses lighter values to expose more freckles than the darker areas.

It is getting closer to version 1.7.4


3/23/2019

This weekend is all about the shaders, or more accurately, what is going on behind the scenes on the skin shader. Back in version 1.6.5 I changed the shader network to use the Principled BSDF node, thinking that this will be the best solution to the skin. Or at least so I thought. There was also some issues with the freckle generator, which really it looked like the characters contracted some deadly virus when cranked up to high values.

It really became obvious when a user submitted their own shader solution to the group, I checked it out and the custom skin looked much better than the Principled BSDF skin I was using. I guess Principled BSDF is great for making PBR materials that are not human skin, or so the wisdom around the Internet goes. A lot of people use a custom SSS skin node networks anyway, so I began to tweak the shader and over the past week have made some serious progress. I would post some still images but don't want to ruin surprises, plus if you go to the Discord server you will see some small incremental versions I have posted, on my own hard drive are dozens of stills of shader development renders. Maybe someday compile them all into a video and post it on Youtube or something.

One feature that was lacking was veins. The user submitted shader had procedural veins added so I went and replicated the node to fit with the rest of the shader network, so now this procedural vein network's color is controlled via the skin complexion, so if your character happens to be green the veins will change color accordingly. The effect is subtle but it's there, however the effect is user controllable as well so you can either make them very obvious or non existent.

The main issue is now there is once again a custom SSS shader group that replaces the Principled BSDF SSS, using two layers of SSS (instead of previous versions of three), one for the skin layer and the other for the subdermal color, the skin shader has evolved in a weeks time. The Cycles and EEVEE networks have both been reworked to use SSS in their own way but use the same reflection node group to be more uniform. They also use a density map, which is a painted on texture map. That is something that also has been developed is more maps meant for masks. In this case there are two additions, the density map and the freckle mask which isolates (for the most part) the freckles to areas that are painted in lighter values. These maps are also small in file size so it is not a huge increase to the total MB that MB-Lab currently occupies.

These maps will also have to be added to the material engine code, as well as the JSON character config file, to each character, for each gender too. So while this week has seen some serious progress in the developmental stage of shader work, it is going to be some time before this will make it into the master branch as these maps will have to be painted out one by one. In the past there has been issues where things were rushed and errors were made, don't want to do it this time again so I want to make sure that the shader works and the code works before I make that merge into master, which at this time is not even in the Dev branch.

In my workflow I make a temp shader development file, do all the adding, deleting, modifying and adjusting and of course the hours of render time, then when it is ready to be added to the "production" blend file (humanoid.blend), I open up another instance of Blender and replicate the whole thing in one go, which is time consuming and borderline insanely irritating that I have to repeat it all but it is MUCH safer this way than other hacks or tricks.

This change in shader nodes will also happen to the eyes and the teeth. It just has not been worked on as much as the skin just yet. There is plans though to add veins to the eyes, making them a bit more procedural as well though still keeping the iris texture map. The teeth won't have much changed, other than the stated above.

Again there is no change in the master branch of version 1.7.3 but soon there will be a new version, with a slightly different look to the GUI (and that is at best) and of course the overhaul of the shaders.


3/15/2019

There was a lapse of a weekly dev note, because at this time there have not been much updates to MB-Lab as there has been in the past, this is primarily due to the real world and it's tasks. However that is not to say that things are not moving forward.

  • The skin shader has not had a lot of attention lately but this will change in the coming weeks. There will be improvements to the procedural areas of the skin, these will be subtle differences but noticeable. There also might be some additional texture maps, actually they are masks for the procedural functions of this next version of the skin shader.

  • There is a known issue that is a particularly annoying bug, involving the Auto-updater. This bug will cause an error when you try to disable MB-Lab in Preferences. No this is not an attempt to keep you guys locked in forever (lol), this bug will then further cause errors if you try to re-enable MB-Lab right after. There is a work around, if you want to get rid of MB-Lab, which is to manually delete it in your file system, at this time there is no fix. This bug will not cause issues in the normal functionality of MB-Lab, it is being actively investigated.

  • Some minor GUI changes are to be expected in the near future, nothing too drastic at this time. There is talk to change the GUI even more so in the future though at this time there is no solid plan.


3/2/2019

This day brings the release of MB-Lab 1.7.3, which is not a BIG release but an important one because it adds the inclusion of the Auto-Updater code by CGCookie, which had been worked on for the past week. This addition makes it possible to update your copy of MB-Lab to the most recent version. This also allows the user to make backups and restore older versions just in case we mess up and release a buggy version of MB-Lab (it has happened in the past).

After the merge from Dev into master, the addon was then tested to make sure that it does in fact work as expected and so far tests have good.

It would be wise to update your clone


2/23/2019

  • Only minor edits have been done in the Dev branch of MB-Lab, we removed the last of the old logging code (which in cases would cause minor errors in Blender). This will be committed to the master branch next week.
  • More time has been spent on researching how Manuel built the JSON files and that progress has been slow. We really need someone skilled in Python code to help us out.
  • Initial implementation for Auto-Updater from CGCookie has been committed to the Dev branch but it does not function yet.

2/16/2019

A number of changes happened over the past week.

First the term "Diffuse" has been replaced with "Albedo", this was brought to our attention that the "modern" terminology was not correct. Diffuse refers to a shading method, where as Albedo is a fancy name for Color Map. However it does make sense and even though the Diffuse map for MB-Lab was not shaded, I went and processed it anyway just to make sure. I followed a process from here : https://www.cgdirector.com/albedo-map/

This change in terms also caused a bug that failed to finalize a character when trying to export all the image maps, it was calling for the Eyes Diffuse map still but that too was changed. This has been fixed as of today.

Next the Roughness Map was changed, from what really was a glossy map to a more accurate version. This map also is smaller in file size so that is a nice bonus.

Talk in the discord server this week revolved around the hair issue. The project really wants to include this or these, as an option after finalization. But what is going to be the method? Particle hair cannot be exported directly to any other rendering engine out there (it's not just a Blender thing either), so using particle hair outside of Blender is not an option and there is no plans by the Blender developers to ever do so. So this leaves faking the hair using polygons.

Some ideas include -

  • Hair cards (cards, strips, strands etc...)
  • Polygon meshes with armatures
  • Polygon meshes turned into cloth sims

Each has it's own pros and cons, not going to go into depth here but each will be explored in some way and tested. There is no concrete plan right now to incorporate a hair system just yet until there is something that doesn't look just awful.


2/9/2019

Not much has been changed in the past week, only the development docs of MB-Lab were finally put into master, though it is still a WIP the basis is there.

More has been done on the research end of MB-Lab, specifically what is in the JSON files? Some of it is human readable, as in that it makes sense what the data is for and can be modified with expected (somewhat) results. The other data that does NOT make sense to us humans but is perfectly readable by algorithms, THAT is the data that needs to be reverse engineered. However research into this is slow so don't expect instant results. Right now it is more of taking notes locally, might make use of the #TODO in the code of MB-Lab, just so that things make sense. There is not much in the terms of comments in the code, which makes decoding the JSON files that much harder. One tool I have come to love is Stanis Python Editor, invaluable for this project in my workflow. Has not been actively developed in a few years but still available on Sourceforge.

The armature of MB-Lab is also being researched to being changed in the near future. The research part is what is called, what data needs to be entered and or changed, actually make the change to the armature and then hope that it all runs smooth, fingers crossed. For this reason a new branch might appear in the repository just so that nothing gets broken like it has in the past.

Was also informed that the terminology in the shaders is wrong, plus the roughness map is not correct (which I really knew I just have yet to fix), so expect a texture and shader update in the Development branch sometime in the next week or so.


2/2/2019

Documentation WIP

Since Manuel had taken his website down, the tutorials and manual to use the addon are now gone. So work has gone into developing a new manual that is being hosted at Readthedocs.org. Currently the docs are being held in the Development branch of MB-Lab until it is mostly complete, it is being written in Sphinx so it is a whole new syntax to learn but so far looks good. If you want to take a look just be warned that it is still a WIP and many sections are currently being written but not committed to repository yet and sections already written may be changed in future updates.

https://mb-lab.readthedocs.io/en/development/index.html

As of this week there has been little in code development, more work into documentation.


1/25/2019

New Repositories and Sites

MB-Lab has not undergone any code changes or updates this week, other than the earlier bug fix (see below). A lot has been focused on getting a test site up, which is "live" at this moment. It is based on GitHub Pages but uses a template from another GitHub repo (unrelated to MB-Lab) as a basis. Have a look!

https://mb-lab-community.github.io/MB-Lab.github.io/

The User Guide NEEDS work, it is currently empty but will be worked on very soon.

Now that some work has gone into an online presence it's time to shift gears and focus on MB-Lab itself again.


1/22/2019

BUG FIX

  • morphengine.py and humanoid.py restored back to working order. MB-Lab should be stable right now.

1/20/2019

  • The Proxy Fitting system was reverted back to the 1.7.0 version, it works correctly now.
  • AutoModelling is now broken, which also ties into another bug
  • Using the Body Measures system, when clicking on Update Character will result in a bug.
  • The EEVEE Skin shader network has been updated, with a setup similar to the original shader network in ManuelBastioniLAB 1.6.1, it is not an exact duplicate but a close enough approximation.
  • Facial Rig bug fixed.

At this time there are new bugs that have to be looked at, existing bugs that need to resolved and only a new feature in the shader network, it is NOT recommended to update your clone from 1.7.0 until these issues get resolved.


1/12/2019

KNOWN ISSUES

The Proxy bug is a serious bug, this will break the armature from the mesh. Do not use at the moment until it is fixed.

The Toe flip bug is ONLY present in the toe bones, not exactly sure even how to fix this right now. (FIXED)


1/11/2019

  • A lot of code cleanup happened in the past 24 hours, quite a few optimizations done by user dvdmgl, including a complete rework of the logging system. The logging system can be read about here : https://code.blender.org/2016/05/logging-from-python-code-in-blender/

  • A new facial rig was developed by Amir Shehata which are connected to the expressions shapekeys, this includes a new script in the repo.

  • The skin, teeth and eyes shaders have been updated with separate shading networks for Cycles or EEVEE, they have separate outputs so that depending on the render engine you are using, will use that output. Known issue : Cornea shader is rendering in EEVEE a lot darker than it should be, working on a fix.

  • The assets got a huge update, there are now male and female clothing that were adopted from the MakeHuman project (user contributed assets were licensed as CC0), correctly scaled for MB-Lab and ready to be fitted to your proxy. The clothes also have packed textures so all you need to do is add the asset then fit to the proxy.

This is a big update, it is recommended to update your clone.