Maybe,, future,,,mcjTeleBlender have option to export genesis family as collada with rig and weight ,I think @@;
then, it is great because,, I thought I might not export ghost bone of clothing and hair, with weight map,
but,, it can do. after export as collada,, and re-assign only the ghost bones as child of genesis node,
it can work without problem,, (Now I only try with pony tail and one ghost rig of hair, to child as head,)
I may hope to check,, collada keep vertices order. (count seems ok,,)
that means,,, we can import genesis morphs from ds to blender,, as shape key, then use it
rigged genesis (with clothing and hair,,,) it seems really wonderful ^^; .......
and may can use blender phiscs cloth simulation with clothing which rigged with genesis, I think,
but I do not have clear knowledge about collada and blender bone tools, so that now studying ^^;
1) Bump maps don't get exported when the SSS parameters are turned on. Am I doing something wrong?
2) Where does mcBlendBot get the materials data from? Does it get them from the .mtl file?
hello, glad you like mcjTeleblender
it seems that the skin shader that gives you Subsurface scattering, does not have its bump map exported by Daz Studio mcjTeleblender does indeed inspect the .mtl file to build the material nodes
here is the section of the mtl file for Aiko5's skin
newmtl 1_SkinFace
d 1
Kd 1 0.905882 0.87451
map_Kd Maps/A5FaceM.jpg
a default daz material would include a map_Bump line
Thanks Casual!! I will stop using the DAZ Studio SSS shader.
I have a suggestion -- Instead of using the .mtl file as the materials source, perhaps the DAZ Studio part of mcjTeleBlender could create the Blender materials in an open shader language file.
Hello MJC - I am wondering if there is a good strategy for adding/appending an element/object in a scene and subsequently modifying or appending the MATLIB.Blend file. It seems that if you add a new object to the scene but are using the matlib.blend option, that new object does not cross into the scene file with cycles materials defined. If you teleblend the project with the new object and without the matlib option, all of the materials are included but one must now re-edit all of the materials that required changes or tweaking before the new object was added to the scene.
I've been experimenting with equirectangular images/renders created in Blender from models exported with mcjTeleBlender. I am looking to better accomplish set replacement for film applications, both live actors and animation. I'm using CC Environment in After Effects as well as the "background" option in Elements 3D to provide a 3D environment that responds readily to camera movement and with Elements 3D can result in rapid renders using a combination of video and 3D models.
I love working in Blender with Cycles.....thanks Casual!
Hello MJC - I am wondering if there is a good strategy for adding/appending an element/object in a scene and subsequently modifying or appending the MATLIB.Blend file. It seems that if you add a new object to the scene but are using the matlib.blend option, that new object does not cross into the scene file with cycles materials defined. If you teleblend the project with the new object and without the matlib option, all of the materials are included but one must now re-edit all of the materials that required changes or tweaking before the new object was added to the scene.
I hope I've described this well?
i didn't use matlib in more than a year, so it's possible i broke it during an update
if i'm not mistaken, when the "use matlib" option is enabled, the Blender scripts that import the daz scene will inspect each material in your scene, and look in the matlib.blend file for a material having the exact same name, if this material is found, it gets imported into the blender scene and applied to the surfaces that use this material - Materials in your scene which are not found in the matlib.blend scene should normally get the default cycles nodes;
so lets test this
i open a daz scene
in teleblender's "process materials" i use the "Cycles Nodes" option
i send it to Blender
the scene contains just 1 object a bridge (from 3dwarehouse) with 7 materials
i save this scene as testMatLib.blend
i close Blender
in Daz Studio i add a different object with different materials, a soccer ball with materials named Black and White
in teleblender's "process materials" i use the "Use mat-lib" option
and i specify testMatLib.blend as my matlib file
and everything seems to work as expected
the bridge has cycles materials and the soccer ball too
the materials for the bridge were (hopefully) imported from testMatLib.blend and since thesoccer ball materials were not found in testMatLib.blend , they had brand new cycles materials built for them
are you saying you followed a similar procedure and the equivalent of the soccer ball had no cycles materials?
Hello MJC - I am wondering if there is a good strategy for adding/appending an element/object in a scene and subsequently modifying or appending the MATLIB.Blend file. It seems that if you add a new object to the scene but are using the matlib.blend option, that new object does not cross into the scene file with cycles materials defined. If you teleblend the project with the new object and without the matlib option, all of the materials are included but one must now re-edit all of the materials that required changes or tweaking before the new object was added to the scene.
I hope I've described this well?
i didn't use matlib in more than a year, so it's possible i broke it during an update
if i'm not mistaken, when the "use matlib" option is enabled, the Blender scripts that import the daz scene will inspect each material in your scene, and look in the matlib.blend file for a material having the exact same name, if this material is found, it gets imported into the blender scene and applied to the surfaces that use this material - Materials in your scene which are not found in the matlib.blend scene should normally get the default cycles nodes;
so lets test this
i open a daz scene
in teleblender's "process materials" i use the "Cycles Nodes" option
i send it to Blender
the scene contains just 1 object a bridge (from 3dwarehouse) with 7 materials
i save this scene as testMatLib.blend
i close Blender
in Daz Studio i add a different object with different materials, a soccer ball with materials named Black and White
in teleblender's "process materials" i use the "Use mat-lib" option
and i specify testMatLib.blend as my matlib file
and everything seems to work as expected
the bridge has cycles materials and the soccer ball too
the materials for the bridge were (hopefully) imported from testMatLib.blend and since thesoccer ball materials were not found in testMatLib.blend , they had brand new cycles materials built for them
are you saying you followed a similar procedure and the equivalent of the soccer ball had no cycles materials?
Thanks so much Casual for your quick and VERY detailed test and response. You fully understood my question and concern. The script is definitely not working for me as it is working for you, I will experiment some more just as you did to confirm one way or the other. I am using the version of mcjTeleBlender with a last revised date of April 14 2013. Is that the most current?
You are so great to follow these posts and to respond and for me, mcjTeleBlender is a game changer.
Thanks so much Casual for your quick and VERY detailed test and response. You fully understood my question and concern. The script is definitely not working for me as it is working for you, I will experiment some more just as you did to confirm one way or the other. I am using the version of mcjTeleBlender with a last revised date of April 14 2013. Is that the most current?
You are so great to follow these posts and to respond and for me, mcjTeleBlender is a game changer.
i use the April 14th 2013 version too
but note that the blender script file that handles the "use matlib" function ( mcjUseMatLib.py ) did not change since February 2012
maybe an error occurs while loading your additional object, for example, maybe one of the texture files cant be found.
if you look in the folder where you told teleblender to export your..obj scene-file, there's a .bat file - if your scene was exported as myscene.obj, there will be a myscene.bat, - if you run this batch file by double-left-clicking on it, it will launch Blender, open your scene file and create the materials -- the difference is that this time you have access to the Blender Console - it's a small black DOS window and it displays a log of what happened at load time -- so you may see an error message that helps you understand what went wrong ( https://www.youtube.com/watch?v=UqiU5SV0Q7A )
Thanks so much Casual for your quick and VERY detailed test and response. You fully understood my question and concern. The script is definitely not working for me as it is working for you, I will experiment some more just as you did to confirm one way or the other. I am using the version of mcjTeleBlender with a last revised date of April 14 2013. Is that the most current?
You are so great to follow these posts and to respond and for me, mcjTeleBlender is a game changer.
i use the April 14th 2013 version too
but note that the blender script file that handles the "use matlib" function ( mcjUseMatLib.py ) did not change since February 2012
maybe an error occurs while loading your additional object, for example, maybe one of the texture files cant be found.
if you look in the folder where you told teleblender to export your..obj scene-file, there's a .bat file - if your scene was exported as myscene.obj, there will be a myscene.bat, - if you run this batch file by double-left-clicking on it, it will launch Blender, open your scene file and create the materials -- the difference is that this time you have access to the Blender Console - it's a small black DOS window and it displays a log of what happened at load time -- so you may see an error message that helps you understand what went wrong ( https://www.youtube.com/watch?v=UqiU5SV0Q7A )
Thanks again Casual. I spent all day working on nodes and doing tests. I can confirm that "my" setup is not working like yours unfortunately. What happens is the new object is teleblendered into the Blender project BUT the new object consists of materials that are labeled mcjmat## with various numbers and are not cycles node materials. The original materials have specific material names.
It seems as though this has something to do with the fact that the materials in the blender project that is created using the matlib option are "linked" materials. They do not exist in the project but rather only in the linked library. Is that what you would expect? I can tell you that the new material files are being copied into the mat folder when the collect materials option is checked so the script is definitely finding the materials but something happens during the linking of the library (matlib) and the assigning of the new object materials in the new project. I am using Blender 2.67b if that might be part of the issue.
BTW....I have some node setups that I'd like to share with you. Is the forum the best way to do this?
Thanks again Casual. I spent all day working on nodes and doing tests. I can confirm that "my" setup is not working like yours unfortunately. What happens is the new object is teleblendered into the Blender project BUT the new object consists of materials that are labeled mcjmat## with various numbers and are not cycles node materials. The original materials have specific material names.
It seems as though this has something to do with the fact that the materials in the blender project that is created using the matlib option are "linked" materials. They do not exist in the project but rather only in the linked library. Is that what you would expect? I can tell you that the new material files are being copied into the mat folder when the collect materials option is checked so the script is definitely finding the materials but something happens during the linking of the library (matlib) and the assigning of the new object materials in the new project. I am using Blender 2.67b if that might be part of the issue.
BTW....I have some node setups that I'd like to share with you. Is the forum the best way to do this?
couldn't you use the "Render Engine : Scene file" for your purposes?
yes you can show your setups in this thread many did.
---
when you create your matlib.blend file it's important that you are working from a scene that was exported from Daz Studio without the "use matlib" option turned on -- because the blender script that performs the matlib trick does rename all materials in the scene
Thanks again Casual. I spent all day working on nodes and doing tests. I can confirm that "my" setup is not working like yours unfortunately. What happens is the new object is teleblendered into the Blender project BUT the new object consists of materials that are labeled mcjmat## with various numbers and are not cycles node materials. The original materials have specific material names.
It seems as though this has something to do with the fact that the materials in the blender project that is created using the matlib option are "linked" materials. They do not exist in the project but rather only in the linked library. Is that what you would expect? I can tell you that the new material files are being copied into the mat folder when the collect materials option is checked so the script is definitely finding the materials but something happens during the linking of the library (matlib) and the assigning of the new object materials in the new project. I am using Blender 2.67b if that might be part of the issue.
BTW....I have some node setups that I'd like to share with you. Is the forum the best way to do this?
couldn't you use the "Render Engine : Scene file" for your purposes?
yes you can show your setups in this thread many did.
---
when you create your matlib.blend file it's important that you are working from a scene that was exported from Daz Studio without the "use matlib" option turned on -- because the blender script that performs the matlib trick does rename all materials in the scene
maybe that's the issue
---
No sir...I do get that the initial scene must be created without the use matlib.blend option selected. Perhaps I'll create a scene and get some screen shots to show you what is going on with the materials.
I haven't searched yet on this forum.... but I will.... regarding the material setup for eye reflection, tear, cornea and iris. I am really struggling to come up with a formula that works for a very close up render. Obviously eye materials can vary greatly. Are there some preferred textures being used by folks exporting to Cycles? I can't seem to eliminate the specific circle that is formed, I suspect, where the iris object meets the sclera.
I am also experimenting with the new "bump" vector option that DAZ has provided. It appears to convert a bump map to a normal for inclusion in the "normal" noodle path. This may not provide an improved result but I'm having some good luck with it. I'll try to post some very close up renders when I get this eye material issue resolved.
No sir...I do get that the initial scene must be created without the use matlib.blend option selected. Perhaps I'll create a scene and get some screen shots to show you what is going on with the materials.
I haven't searched yet on this forum.... but I will.... regarding the material setup for eye reflection, tear, cornea and iris. I am really struggling to come up with a formula that works for a very close up render. Obviously eye materials can vary greatly. Are there some preferred textures being used by folks exporting to Cycles? I can't seem to eliminate the specific circle that is formed, I suspect, where the iris object meets the sclera.
I am also experimenting with the new "bump" vector option that DAZ has provided. It appears to convert a bump map to a normal for inclusion in the "normal" noodle path. This may not provide an improved result but I'm having some good luck with it. I'll try to post some very close up renders when I get this eye material issue resolved.
another thing to factor in is that i use Blender 2.67b -- there could be issues if you use a more recent version, though older versions should not be a problem
for eye glint i use a setup like this ( see below )
a transparent and slightly reflective cornea
the result is that anything not excessively bright is not seen reflected on the cornea
else the corneas would look like chrome
but emissive surfaces with an intensity of 10 for example will be visible as a reflection on the cornea
so i place a very intense but very distant emissive surface
i put Blender in interactive -rendering mode , and move the emissive surface until i see it reflected on the cornea
what's easier is to add one pure white pixel or 2 on the cornea in post, using paintshop
----
and you're lucky, while testing this i discovered that the "use mat-lib" option does cause problems
for example, the 2 textured panels with materials named "default" had no cycles materials
so i have something to work on to understand your problem
----
( Aiko is standing like this between 2 panels because this scene is part of the development of the shrink-wrapping script )
No sir...I do get that the initial scene must be created without the use matlib.blend option selected. Perhaps I'll create a scene and get some screen shots to show you what is going on with the materials.
I haven't searched yet on this forum.... but I will.... regarding the material setup for eye reflection, tear, cornea and iris. I am really struggling to come up with a formula that works for a very close up render. Obviously eye materials can vary greatly. Are there some preferred textures being used by folks exporting to Cycles? I can't seem to eliminate the specific circle that is formed, I suspect, where the iris object meets the sclera.
I am also experimenting with the new "bump" vector option that DAZ has provided. It appears to convert a bump map to a normal for inclusion in the "normal" noodle path. This may not provide an improved result but I'm having some good luck with it. I'll try to post some very close up renders when I get this eye material issue resolved.
another thing to factor in is that i use Blender 2.67b -- there could be issues if you use a more recent version, though older versions should not be a problem
for eye glint i use a setup like this ( see below )
a transparent and slightly reflective cornea
the result is that anything not excessively bright is not seen reflected on the cornea
else the corneas would look like chrome
but emissive surfaces with an intensity of 10 for example will be visible as a reflection on the cornea
so i place a very intense but very distant emissive surface
i put Blender in interactive -rendering mode , and move the emissive surface until i see it reflected on the cornea
what's easier is to add one pure white pixel or 2 on the cornea in post, using paintshop
----
and you're lucky, while testing this i discovered that the "use mat-lib" option does cause problems
for example, the 2 textured panels with materials named "default" had no cycles materials
so i have something to work on to understand your problem
----
( Aiko is standing like this between 2 panels because this scene is part of the development of the shrink-wrapping script )
I am SOOOO relieved that the materials problem is not unique to my system or configuration. It can be so hard to solve a problem without first identifying or defining it!
Thanks for the Material node setup. That is quite similar to what I am using though I have added a diffuse shader as well for the eye reflection with just a very little influence since the eye is slightly opaque. I'll share these nodes setups once I have them tweaked more and can upload an image with them as a sample. I've got to figure out what problems I may be creating by using V4 textures on Genesis and Genesis 2 for close up renders, particularly of the eye. I have a feeling this may be problematic so I will likely end up having to mix and match textures for the best result.
All of the exports for cycles that I've done using mcjTeleBlender with figures and eyes require the modification of the eye reflection, cornea and tear. Since none of these materials use specific images for defining the texture, is it possible to have those textures default to a material node setup that works better in cycles? If not, I've found a nice work around by simply including those textures with fake objects (so they don't disappear) in my scene.blend file with default lights and camera.
BTW Casual....I looked on your website sometime ago but don't recall seeing a way to donate to the cause. If there is a way to make a contribution for your efforts, I'd like to do that.
OK...it has taken me a good two full days and lots of experimentation but I think I finally have an eye render that I am pleased with. I'm not sure if it has more to do with the eye I used from DAZ studios or the node setup. I'm fairly sure both were involved. The skin textures are Lyon and Paris from Danae.
I'm including here three renders - two that are tweaked a bit in Photoshop and one of the original renders from Blender Cycles. I changed the lighting in the second render to create catch light in the eye so one can better assess the material setup and performance. Let me know please how I can improve these if you see any issues.
I am SOOOO relieved that the materials problem is not unique to my system or configuration. It can be so hard to solve a problem without first identifying or defining it!
Thanks for the Material node setup. That is quite similar to what I am using though I have added a diffuse shader as well for the eye reflection with just a very little influence since the eye is slightly opaque. I'll share these nodes setups once I have them tweaked more and can upload an image with them as a sample. I've got to figure out what problems I may be creating by using V4 textures on Genesis and Genesis 2 for close up renders, particularly of the eye. I have a feeling this may be problematic so I will likely end up having to mix and match textures for the best result.
All of the exports for cycles that I've done using mcjTeleBlender with figures and eyes require the modification of the eye reflection, cornea and tear. Since none of these materials use specific images for defining the texture, is it possible to have those textures default to a material node setup that works better in cycles? If not, I've found a nice work around by simply including those textures with fake objects (so they don't disappear) in my scene.blend file with default lights and camera.
BTW Casual....I looked on your website sometime ago but don't recall seeing a way to donate to the cause. If there is a way to make a contribution for your efforts, I'd like to do that.
some materials on some figyres like the eye cornea and tear specify transparency by lowering the "Opacity Strength" channel
unfortunately the .mtl filex exported by Daz Studio lose that setting during the export/import process.
So the way to get transparent materials with teleblender is to apply an entirely black image to the Opacity Strength channel of the surface'
a small 128 x 128 image as shown below does the trick
in the Daz store there's a way for you to give me gift certificates which i can then use to buy clothes for my hard working virtual actress
this evening i'll study closely what's the matter with the use mat-lib function
note that there's another way to re-use your custom materials -- it's in the section of the manual titled added june 26th 2012 - another way to re-use custom materials (.blend files )
first test with the "use mat-lib" option turned on
teleblendering a DazStudio scene containing materials not found in testmatlib.blend
problem : some materials in the Blender scene have no Cycles materials
shown here, the Blender console which is visible when one launches Blender using the batch file ( amayo.bat )
which is a by-product of mcjTeleBlender and can be found in the same folder as the .obj scene file
there are no error messages
meaning the cycles materials build up was not simply interrupted mid-way
the scripts must erroneously skip some materials
==============
i read my code in the mcjUseMatLib.py python script module and i see that
it looks for the materials in the testmatlib.blend "material library"
but if it cant find it ..... it just leaves them in the state Blender imported them, meaning no Cycles node trees !!!
the other little annoyance may fix is : After the cycles materials are built, the script will restore the original material names
instead of leaving them in a name like mcjMat3
breaking news ... it started to work ... details to follow
so now, if a material ( in the imported .obj ) is not found in your matlib, the usual cycles node-tree gets created for it
and i also added code to revert to the original material names ... hoping there wont be name collisions tho
Casual...I know this takes a lot of work and a HUGE commitment on your part. I cannot tell you how much I, for one, appreciate your work on this. Please let me know when you are comfortable providing a new release for your mcjTeleBlender script, maybe a direct link to the version.
Your renders are wonderful BTW. I like how you methodically place objects to test your theories and script performance....and they're fun to look at!
you only need this update if you sometimes use mcjTeleblender's "use-mat-lib" option
2013 - September 10 The mcjUseMatLib.py Blender python module was corrected - if the "use-mat-lib" option is in effect, but the material-library doesn't contain a given material, a cycles node tree is built anyway - this is not a perfect patch since it breaks compatibility with non-cycles renders - This version also reverts to the original material names instead of leaving them with numbered names.
you only need to download the mcjBlendBot package and unzip it according to the manual ( in the blender modules folder )
Casual...I know this takes a lot of work and a HUGE commitment on your part. I cannot tell you how much I, for one, appreciate your work on this. Please let me know when you are comfortable providing a new release for your mcjTeleBlender script, maybe a direct link to the version.
Your renders are wonderful BTW. I like how you methodically place objects to test your theories and script performance....and they're fun to look at!
it's ready ( i'll double check in a minute)
tomorrow i'll probably post another update that restores compatibility of the use-mat-lib function with non-Cycles renderers
OK...it has taken me a good two full days and lots of experimentation but I think I finally have an eye render that I am pleased with. I'm not sure if it has more to do with the eye I used from DAZ studios or the node setup. I'm fairly sure both were involved. The skin textures are Lyon and Paris from Danae.
I'm including here three renders - two that are tweaked a bit in Photoshop and one of the original renders from Blender Cycles. I changed the lighting in the second render to create catch light in the eye so one can better assess the material setup and performance. Let me know please how I can improve these if you see any issues.
in my cornea shader i used the type of glossyBSDF shader named "Sharp" because it's like a mirror, i think it makes the glint sharper
and i avoid roughness - the glossy shader is mixed with the transparent shader with a very low ratio, so the reflected lights have to be very intense to show up on the cornea surface - this way we avoid having the cornea look like chrome... i think
Casual...I know this takes a lot of work and a HUGE commitment on your part. I cannot tell you how much I, for one, appreciate your work on this. Please let me know when you are comfortable providing a new release for your mcjTeleBlender script, maybe a direct link to the version.
Your renders are wonderful BTW. I like how you methodically place objects to test your theories and script performance....and they're fun to look at!
it's ready ( i'll double check in a minute)
tomorrow i'll probably post another update that restores compatibility of the use-mat-lib function with non-Cycles renderers
it wasn't too much work on my part don't worry :)
Casual...feel like I'm being a pest BUT...I loaded the new blender scripts into the module folder. mcjTeleblender works as expected on the first export but when I save the materials to a matlib and save my lights to a scenefile, and then reload pointing to that scene file and to the matlib file, the scene loads with materials but none of the materials have names in the resulting blend file. Also, at least one of the materials is corrupt or has converted to full glossy with a chrome look (a pair of jeans). It is hard to trouble shoot at this point because none of the materials are named so I'm just guessing.
Also, I mentioned this the other day but the materials in the blend file created from using the matlib option are all linked materials. I assume they are linked to the matlib file. If one makes subsequent changes to a material in this "linked" configuration, those changes cannot be saved back to the matlib.blend file because it is essentially open and active. How do you handle this or is that just a limitation...i.e., you cannot change a material setting once you have executed the matlib option.
You are so kind to help with all of this but I know you want to make sure your script is working as designed also.
... none of the materials have names in the resulting blend file ...
no problem it's my fault i didnt test the feature i added at the last minute .... renaming the materials to their original names
i'll post a fix soon, but in the meantime if you are in a hurry and courageous enough, you can open "mcjusematlib.py using a text editor like notepad/wordpad and delete the last 3 lines which read
for obj in bpy.data.objects:
for mtrlslt in obj.material_slots:
mtrlslt.material.name = mtrlslt.material.oldname;
.... oh i think i get it ...
the script initially attaches the names of the materials to those materials, a bit like a tattoo then it renames then to matxxxx where xxxx is a number if i remember well - i did this to avoid having Blender refuse to import a material with a name that already exists in the scene -- it imports materials from the matlib -- then when it attempts to re-rename the materials to their old names .... it fails to do this on the imported materials, since they don't have the tattoo!
[ ..... one of the materials is corrupt or has converted to full glossy with a chrome look (a pair of jeans). ....
the way teleblender interprets materials is : materials in daz studio that have a texture image applied to their reflection channel , become mirrors in Blender. ( glossy-sharp )
it that's not the reason, then maybe it's because this material has the exact same name as another material in the matlib or the scene
----
my test procedure was :
- in Daz Studio 4.6 build a scene with 2 planes and 2 spheres and a radio prop with 5 materials, 4 lights
- export to blender using mcjTeleblender, use-mat-lib option = off, renderer = Cycles
- in Blender save scene as test001_matlib.blend, delete everything except the lights, save scene as test001_scene.blend, close blender
- in Daz Studio 4.6modify the materials so that they differ from the ones in the matlib, add a clothed figure to the scene
- export to blender using mcjTeleblender, use-mat-lib option = on.
mat-lib file = test001_matlib.blend, renderer = use blend file = test001_scene.blend.
- successfully reproduced the failure !! yay i.e. the materials from the matlib have no name.
- fixed the python code : only rename materials to their old names if they "know" their old name.
can't wait to try this update, I had issues texture issues last night, turns out I had the old version of the script and Blender 2.68 and the computer I was on was not able to reach my router so I didn't know you updated. Never trust XP making a bridge over a wi-fi for Ethernet. what a cluster!
Comments
This would make a great tutorial! Daz to Blender (rigged) would be very popular!
Maybe,, future,,,mcjTeleBlender have option to export genesis family as collada with rig and weight ,I think @@;
then, it is great because,, I thought I might not export ghost bone of clothing and hair, with weight map,
but,, it can do. after export as collada,, and re-assign only the ghost bones as child of genesis node,
it can work without problem,, (Now I only try with pony tail and one ghost rig of hair, to child as head,)
I may hope to check,, collada keep vertices order. (count seems ok,,)
that means,,, we can import genesis morphs from ds to blender,, as shape key, then use it
rigged genesis (with clothing and hair,,,) it seems really wonderful ^^; .......
and may can use blender phiscs cloth simulation with clothing which rigged with genesis, I think,
but I do not have clear knowledge about collada and blender bone tools, so that now studying ^^;
Some questions regarding mcjTeleblender:
1) Bump maps don't get exported when the SSS parameters are turned on. Am I doing something wrong?
2) Where does mcBlendBot get the materials data from? Does it get them from the .mtl file?
hello, glad you like mcjTeleblender
it seems that the skin shader that gives you Subsurface scattering,
does not have its bump map exported by Daz Studio
mcjTeleblender does indeed inspect the .mtl file to build the material nodes
here is the section of the mtl file for Aiko5's skin
a default daz material would include a map_Bump line
note that if mcjTeleblender's "Collect Maps" is turned on, the texture images, including the bump images will be correctly exported in the Maps folder
so you could use wordpad / notepad to manually add them to the .mtl file ( map_Bump /Maps/A5FaceB.jpg )
this would add the bump node to your Blender material, but you would still need to adjust its strength
Thanks Casual!! I will stop using the DAZ Studio SSS shader.
I have a suggestion -- Instead of using the .mtl file as the materials source, perhaps the DAZ Studio part of mcjTeleBlender could create the Blender materials in an open shader language file.
Hello MJC - I am wondering if there is a good strategy for adding/appending an element/object in a scene and subsequently modifying or appending the MATLIB.Blend file. It seems that if you add a new object to the scene but are using the matlib.blend option, that new object does not cross into the scene file with cycles materials defined. If you teleblend the project with the new object and without the matlib option, all of the materials are included but one must now re-edit all of the materials that required changes or tweaking before the new object was added to the scene.
I hope I've described this well?
I've been experimenting with equirectangular images/renders created in Blender from models exported with mcjTeleBlender. I am looking to better accomplish set replacement for film applications, both live actors and animation. I'm using CC Environment in After Effects as well as the "background" option in Elements 3D to provide a 3D environment that responds readily to camera movement and with Elements 3D can result in rapid renders using a combination of video and 3D models.
I love working in Blender with Cycles.....thanks Casual!
Feedback and suggestions are always welcome.
http://www.dalemetz.com/videoshare/cgitestjailhouse.html
i didn't use matlib in more than a year, so it's possible i broke it during an update
if i'm not mistaken, when the "use matlib" option is enabled, the Blender scripts that import the daz scene will inspect each material in your scene, and look in the matlib.blend file for a material having the exact same name, if this material is found, it gets imported into the blender scene and applied to the surfaces that use this material - Materials in your scene which are not found in the matlib.blend scene should normally get the default cycles nodes;
so lets test this
i open a daz scene
in teleblender's "process materials" i use the "Cycles Nodes" option
i send it to Blender
the scene contains just 1 object a bridge (from 3dwarehouse) with 7 materials
i save this scene as testMatLib.blend
i close Blender
in Daz Studio i add a different object with different materials, a soccer ball with materials named Black and White
in teleblender's "process materials" i use the "Use mat-lib" option
and i specify testMatLib.blend as my matlib file
and everything seems to work as expected
the bridge has cycles materials and the soccer ball too
the materials for the bridge were (hopefully) imported from testMatLib.blend and since thesoccer ball materials were not found in testMatLib.blend , they had brand new cycles materials built for them
are you saying you followed a similar procedure and the equivalent of the soccer ball had no cycles materials?
i didn't use matlib in more than a year, so it's possible i broke it during an update
if i'm not mistaken, when the "use matlib" option is enabled, the Blender scripts that import the daz scene will inspect each material in your scene, and look in the matlib.blend file for a material having the exact same name, if this material is found, it gets imported into the blender scene and applied to the surfaces that use this material - Materials in your scene which are not found in the matlib.blend scene should normally get the default cycles nodes;
so lets test this
i open a daz scene
in teleblender's "process materials" i use the "Cycles Nodes" option
i send it to Blender
the scene contains just 1 object a bridge (from 3dwarehouse) with 7 materials
i save this scene as testMatLib.blend
i close Blender
in Daz Studio i add a different object with different materials, a soccer ball with materials named Black and White
in teleblender's "process materials" i use the "Use mat-lib" option
and i specify testMatLib.blend as my matlib file
and everything seems to work as expected
the bridge has cycles materials and the soccer ball too
the materials for the bridge were (hopefully) imported from testMatLib.blend and since thesoccer ball materials were not found in testMatLib.blend , they had brand new cycles materials built for them
are you saying you followed a similar procedure and the equivalent of the soccer ball had no cycles materials?
Thanks so much Casual for your quick and VERY detailed test and response. You fully understood my question and concern. The script is definitely not working for me as it is working for you, I will experiment some more just as you did to confirm one way or the other. I am using the version of mcjTeleBlender with a last revised date of April 14 2013. Is that the most current?
You are so great to follow these posts and to respond and for me, mcjTeleBlender is a game changer.
i use the April 14th 2013 version too
but note that the blender script file that handles the "use matlib" function ( mcjUseMatLib.py ) did not change since February 2012
maybe an error occurs while loading your additional object, for example, maybe one of the texture files cant be found.
if you look in the folder where you told teleblender to export your..obj scene-file, there's a .bat file - if your scene was exported as myscene.obj, there will be a myscene.bat, - if you run this batch file by double-left-clicking on it, it will launch Blender, open your scene file and create the materials -- the difference is that this time you have access to the Blender Console - it's a small black DOS window and it displays a log of what happened at load time -- so you may see an error message that helps you understand what went wrong ( https://www.youtube.com/watch?v=UqiU5SV0Q7A )
i use the April 14th 2013 version too
but note that the blender script file that handles the "use matlib" function ( mcjUseMatLib.py ) did not change since February 2012
maybe an error occurs while loading your additional object, for example, maybe one of the texture files cant be found.
if you look in the folder where you told teleblender to export your..obj scene-file, there's a .bat file - if your scene was exported as myscene.obj, there will be a myscene.bat, - if you run this batch file by double-left-clicking on it, it will launch Blender, open your scene file and create the materials -- the difference is that this time you have access to the Blender Console - it's a small black DOS window and it displays a log of what happened at load time -- so you may see an error message that helps you understand what went wrong ( https://www.youtube.com/watch?v=UqiU5SV0Q7A )
Thanks again Casual. I spent all day working on nodes and doing tests. I can confirm that "my" setup is not working like yours unfortunately. What happens is the new object is teleblendered into the Blender project BUT the new object consists of materials that are labeled mcjmat## with various numbers and are not cycles node materials. The original materials have specific material names.
It seems as though this has something to do with the fact that the materials in the blender project that is created using the matlib option are "linked" materials. They do not exist in the project but rather only in the linked library. Is that what you would expect? I can tell you that the new material files are being copied into the mat folder when the collect materials option is checked so the script is definitely finding the materials but something happens during the linking of the library (matlib) and the assigning of the new object materials in the new project. I am using Blender 2.67b if that might be part of the issue.
BTW....I have some node setups that I'd like to share with you. Is the forum the best way to do this?
Yes, use the forum, that way we can learn too! :)
couldn't you use the "Render Engine : Scene file" for your purposes?
yes you can show your setups in this thread many did.
---
when you create your matlib.blend file it's important that you are working from a scene that was exported from Daz Studio without the "use matlib" option turned on -- because the blender script that performs the matlib trick does rename all materials in the scene
maybe that's the issue
---
couldn't you use the "Render Engine : Scene file" for your purposes?
yes you can show your setups in this thread many did.
---
when you create your matlib.blend file it's important that you are working from a scene that was exported from Daz Studio without the "use matlib" option turned on -- because the blender script that performs the matlib trick does rename all materials in the scene
maybe that's the issue
---
No sir...I do get that the initial scene must be created without the use matlib.blend option selected. Perhaps I'll create a scene and get some screen shots to show you what is going on with the materials.
I haven't searched yet on this forum.... but I will.... regarding the material setup for eye reflection, tear, cornea and iris. I am really struggling to come up with a formula that works for a very close up render. Obviously eye materials can vary greatly. Are there some preferred textures being used by folks exporting to Cycles? I can't seem to eliminate the specific circle that is formed, I suspect, where the iris object meets the sclera.
I am also experimenting with the new "bump" vector option that DAZ has provided. It appears to convert a bump map to a normal for inclusion in the "normal" noodle path. This may not provide an improved result but I'm having some good luck with it. I'll try to post some very close up renders when I get this eye material issue resolved.
another thing to factor in is that i use Blender 2.67b -- there could be issues if you use a more recent version, though older versions should not be a problem
for eye glint i use a setup like this ( see below )
a transparent and slightly reflective cornea
the result is that anything not excessively bright is not seen reflected on the cornea
else the corneas would look like chrome
but emissive surfaces with an intensity of 10 for example will be visible as a reflection on the cornea
so i place a very intense but very distant emissive surface
i put Blender in interactive -rendering mode , and move the emissive surface until i see it reflected on the cornea
what's easier is to add one pure white pixel or 2 on the cornea in post, using paintshop
----
and you're lucky, while testing this i discovered that the "use mat-lib" option does cause problems
for example, the 2 textured panels with materials named "default" had no cycles materials
so i have something to work on to understand your problem
----
( Aiko is standing like this between 2 panels because this scene is part of the development of the shrink-wrapping script )
another thing to factor in is that i use Blender 2.67b -- there could be issues if you use a more recent version, though older versions should not be a problem
for eye glint i use a setup like this ( see below )
a transparent and slightly reflective cornea
the result is that anything not excessively bright is not seen reflected on the cornea
else the corneas would look like chrome
but emissive surfaces with an intensity of 10 for example will be visible as a reflection on the cornea
so i place a very intense but very distant emissive surface
i put Blender in interactive -rendering mode , and move the emissive surface until i see it reflected on the cornea
what's easier is to add one pure white pixel or 2 on the cornea in post, using paintshop
----
and you're lucky, while testing this i discovered that the "use mat-lib" option does cause problems
for example, the 2 textured panels with materials named "default" had no cycles materials
so i have something to work on to understand your problem
----
( Aiko is standing like this between 2 panels because this scene is part of the development of the shrink-wrapping script )
I am SOOOO relieved that the materials problem is not unique to my system or configuration. It can be so hard to solve a problem without first identifying or defining it!
Thanks for the Material node setup. That is quite similar to what I am using though I have added a diffuse shader as well for the eye reflection with just a very little influence since the eye is slightly opaque. I'll share these nodes setups once I have them tweaked more and can upload an image with them as a sample. I've got to figure out what problems I may be creating by using V4 textures on Genesis and Genesis 2 for close up renders, particularly of the eye. I have a feeling this may be problematic so I will likely end up having to mix and match textures for the best result.
All of the exports for cycles that I've done using mcjTeleBlender with figures and eyes require the modification of the eye reflection, cornea and tear. Since none of these materials use specific images for defining the texture, is it possible to have those textures default to a material node setup that works better in cycles? If not, I've found a nice work around by simply including those textures with fake objects (so they don't disappear) in my scene.blend file with default lights and camera.
BTW Casual....I looked on your website sometime ago but don't recall seeing a way to donate to the cause. If there is a way to make a contribution for your efforts, I'd like to do that.
OK...it has taken me a good two full days and lots of experimentation but I think I finally have an eye render that I am pleased with. I'm not sure if it has more to do with the eye I used from DAZ studios or the node setup. I'm fairly sure both were involved. The skin textures are Lyon and Paris from Danae.
I'm including here three renders - two that are tweaked a bit in Photoshop and one of the original renders from Blender Cycles. I changed the lighting in the second render to create catch light in the eye so one can better assess the material setup and performance. Let me know please how I can improve these if you see any issues.
some materials on some figyres like the eye cornea and tear specify transparency by lowering the "Opacity Strength" channel
unfortunately the .mtl filex exported by Daz Studio lose that setting during the export/import process.
So the way to get transparent materials with teleblender is to apply an entirely black image to the Opacity Strength channel of the surface'
a small 128 x 128 image as shown below does the trick
in the Daz store there's a way for you to give me gift certificates which i can then use to buy clothes for my hard working virtual actress
this evening i'll study closely what's the matter with the use mat-lib function
note that there's another way to re-use your custom materials -- it's in the section of the manual titled
added june 26th 2012 - another way to re-use custom materials (.blend files )
first test with the "use mat-lib" option turned on
teleblendering a DazStudio scene containing materials not found in testmatlib.blend
problem : some materials in the Blender scene have no Cycles materials
shown here, the Blender console which is visible when one launches Blender using the batch file ( amayo.bat )
which is a by-product of mcjTeleBlender and can be found in the same folder as the .obj scene file
there are no error messages
meaning the cycles materials build up was not simply interrupted mid-way
the scripts must erroneously skip some materials
==============
i read my code in the mcjUseMatLib.py python script module and i see that
it looks for the materials in the testmatlib.blend "material library"
but if it cant find it ..... it just leaves them in the state Blender imported them, meaning no Cycles node trees !!!
the other little annoyance may fix is : After the cycles materials are built, the script will restore the original material names
instead of leaving them in a name like mcjMat3
breaking news ... it started to work ... details to follow
so now, if a material ( in the imported .obj ) is not found in your matlib, the usual cycles node-tree gets created for it
and i also added code to revert to the original material names ... hoping there wont be name collisions tho
Casual...I know this takes a lot of work and a HUGE commitment on your part. I cannot tell you how much I, for one, appreciate your work on this. Please let me know when you are comfortable providing a new release for your mcjTeleBlender script, maybe a direct link to the version.
Your renders are wonderful BTW. I like how you methodically place objects to test your theories and script performance....and they're fun to look at!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
you only need this update if you sometimes use mcjTeleblender's "use-mat-lib" option
2013 - September 10 The mcjUseMatLib.py Blender python module was corrected - if the "use-mat-lib" option is in effect, but the material-library doesn't contain a given material, a cycles node tree is built anyway - this is not a perfect patch since it breaks compatibility with non-cycles renders - This version also reverts to the original material names instead of leaving them with numbered names.
you only need to download the mcjBlendBot package and unzip it according to the manual ( in the blender modules folder )
- for Blender 2.66.3 and up ( was also tested on 2.66a and 2.66.5
https://sites.google.com/site/mcasualsdazscripts3/mcjteleblender2
for older versions of Blender
https://sites.google.com/site/mcasualsdazscripts/mcjteleblender-for-ds1-2-3-4
it's ready ( i'll double check in a minute)
tomorrow i'll probably post another update that restores compatibility of the use-mat-lib function with non-Cycles renderers
it wasn't too much work on my part don't worry :)
in my cornea shader i used the type of glossyBSDF shader named "Sharp" because it's like a mirror, i think it makes the glint sharper
and i avoid roughness - the glossy shader is mixed with the transparent shader with a very low ratio, so the reflected lights have to be very intense to show up on the cornea surface - this way we avoid having the cornea look like chrome... i think
in this video https://www.youtube.com/watch?v=NhFhNMEwJWA (watch in HD please ) i used my cornea shader
it's ready ( i'll double check in a minute)
tomorrow i'll probably post another update that restores compatibility of the use-mat-lib function with non-Cycles renderers
it wasn't too much work on my part don't worry :)
Casual...feel like I'm being a pest BUT...I loaded the new blender scripts into the module folder. mcjTeleblender works as expected on the first export but when I save the materials to a matlib and save my lights to a scenefile, and then reload pointing to that scene file and to the matlib file, the scene loads with materials but none of the materials have names in the resulting blend file. Also, at least one of the materials is corrupt or has converted to full glossy with a chrome look (a pair of jeans). It is hard to trouble shoot at this point because none of the materials are named so I'm just guessing.
Also, I mentioned this the other day but the materials in the blend file created from using the matlib option are all linked materials. I assume they are linked to the matlib file. If one makes subsequent changes to a material in this "linked" configuration, those changes cannot be saved back to the matlib.blend file because it is essentially open and active. How do you handle this or is that just a limitation...i.e., you cannot change a material setting once you have executed the matlib option.
You are so kind to help with all of this but I know you want to make sure your script is working as designed also.
no problem it's my fault i didnt test the feature i added at the last minute .... renaming the materials to their original names
i'll post a fix soon, but in the meantime if you are in a hurry and courageous enough, you can open "mcjusematlib.py using a
text editor like notepad/wordpad and delete the last 3 lines which read
.... oh i think i get it ...
the script initially attaches the names of the materials to those materials, a bit like a tattoo
then it renames then to matxxxx where xxxx is a number
if i remember well - i did this to avoid having Blender refuse to import a material with a name that already exists in the scene
-- it imports materials from the matlib
-- then when it attempts to re-rename the materials to their old names ....
it fails to do this on the imported materials, since they don't have the tattoo!
i didn't really study this matter i only studied it enough to make it work
soon .... :)
the way teleblender interprets materials is : materials in daz studio that have a texture image applied to their reflection channel , become mirrors in Blender. ( glossy-sharp )
it that's not the reason, then maybe it's because this material has the exact same name as another material in the matlib or the scene
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE - UPDATE -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
you only need this update if you sometimes use mcjTeleblender’s “use-mat-lib” option
2013 - September 12
The mcjUseMatLib.py Blender python module was corrected ( again )
today's update fixes the issue wherein materials became nameless
you only need to download the mcjBlendBot package and unzip
it according to the manual ( in the blender modules folder )
- for Blender 2.66.3 and up ( was also tested on 2.66a and 2.66.5
https://sites.google.com/site/mcasualsdazscripts3/mcjteleblender2
for older versions of Blender
https://sites.google.com/site/mcasualsdazscripts/mcjteleblender-for-ds1-2-3-4
----
my test procedure was :
- in Daz Studio 4.6 build a scene with 2 planes and 2 spheres and a radio prop with 5 materials, 4 lights
- export to blender using mcjTeleblender, use-mat-lib option = off, renderer = Cycles
- in Blender save scene as test001_matlib.blend, delete everything except the lights, save scene as test001_scene.blend, close blender
- in Daz Studio 4.6modify the materials so that they differ from the ones in the matlib, add a clothed figure to the scene
- export to blender using mcjTeleblender, use-mat-lib option = on.
mat-lib file = test001_matlib.blend, renderer = use blend file = test001_scene.blend.
- successfully reproduced the failure !! yay i.e. the materials from the matlib have no name.
- fixed the python code : only rename materials to their old names if they "know" their old name.
can't wait to try this update, I had issues texture issues last night, turns out I had the old version of the script and Blender 2.68 and the computer I was on was not able to reach my router so I didn't know you updated. Never trust XP making a bridge over a wi-fi for Ethernet. what a cluster!