I'm calling this one a pre-release as major changes have been made to the code and it could really do with more testing, but so far it seems to be stable enough.
Edit: As such it still in the
Dev branch of the repository. The main repository is still at 0.7.1. The add-on auto updater in the add-on preferences should also be able to you upgrade to 1.0.0.
As it turns out it is possible to generate a working JSON data file with CC3 to Blender. Which can then be used to automatically setup the material parameters of the character to reproduce (almost / nearly) the same appearance in Blender that you see in CC3 without any further user intervention.
To generate JSON data for Blender exports, you need to tick the
Export JSON for Auto Material Setup and
Unity Textures boxes.
75% of original size (was 671x19) - Click to enlarge
(The Unity Textures options just adds a few extra Textures that Unity needs, but for Blender it forces the exporter to write a complete JSON data set for the objects and materials.)
Between this, the new shaders and instancing the material parameters per character and per material this meant major changes to the code affecting almost every function. Outwardly, though, it all looks and works almost exactly the same as before.
So what does this JSON data actually do?
It allows the add-on to setup the character fully as per what you would see in CC3, meaning you don't need to fiddle with the material parameters to make it look as it should anymore.
These example images show the character in CC3 and the result in Blender immediately after import:
Both characters have custom skin, eye and hair material settings and the hair materials are
not baked on export. This would normally require quite a bit of time to recreate in the Blender material parameters,
75% of original size (was 671x19) - Click to enlarge
75% of original size (was 671x19) - Click to enlarge
In addition to supplying the shader parameters the JSON data also contains all the texture mapping, offsets and tiling and supplies all the texture path information so that the add-on no longer has to guess where the textures are. This
should mean that it resolves some of the strange texture problems that have been encountered: e.g.
this and
this, at least I hope so.
Also each character now keeps it's own material settings so you can import multiple characters and adjust them independently as needed.
As part of the new shaders, I have incorporated a more compatible with CC3/iClone PBR and SSS material shader with displacement nodes, though it remains to be seen if the displacement works as intended. I've also added a lot of the missing texture controls such as normal strength and opacity and emission to all the relevant shaders.
To do:
The new shader model allows much greater flexibility, so it should be possible to include
Cycles specific material outputs. The hair and eyes in particular could do with Cycles versions of the shaders.
Notes:
It is not yet possible to generate JSON data for iClone exports to Blender.
Also with iClone it is best to export characters one at a time as there may be an issue I've noticed where materials with the same name overwrite each others textures on export. So two or more characters would overwrite each others skin, eye and hair textures.
Due to all the major changes it is unlikely to work with any existing character imports in Blend files. Characters
will need to be re-imported to work with this new version of the add-on.
This is a pre-release version so if you have any major problems with it you should probably roll the add-on back to version 0.7.1.