…mcjTeleBlender doesn't export animated objects
it exports snapshots of your scene, in a frozen, non-re-posable state…
Collada export from DAZ Studio is working now, and Blender picks it up,
so we can —yess!— get a fully rigged, and even animated, figure into Blender,
with materials transferred separately, via TeleBlender.
…mcjTeleBlender doesn't export animated objects
it exports snapshots of your scene, in a frozen, non-re-posable state…
Collada export from DAZ Studio is working now, and Blender picks it up,
so we can —yess!— get a fully rigged, and even animated, figure into Blender,
with materials transferred separately, via TeleBlender.
Early 4.x versions of Collada export used to be instant crash
(Mac OS 10.6.8), but 4.8 works for me, from DS to Blender.
Animations need some cleanup through the Blender Dope Sheet
(way too many keyframes), but that can be done fast.
Once you have your figure, you can go back to DS, morph some more,
then send just the .obj over and re-use the same armature.
Said .obj might as well come over with TeleBlender-translated Cycles materials.
From Blender to DS, I have yet to make that work; fortunately, I don’t really need it.
Early 4.x versions of Collada export used to be instant crash (Mac OS 10.6.8), but 4.8 works for me, from DS to Blender. Animations need some cleanup through the Blender Dope Sheet (way too many keyframes), but that can be done fast. Once you have your figure, you can go back to DS, morph some more, then send just the .obj over and re-use the same armature. Said .obj might as well come over with TeleBlender-translated Cycles materials. From Blender to DS, I have yet to make that work; fortunately, I don’t really need it.
Confirm, 4.8 to Blender via Collada gives you poseable characters inside Blender (e.g. hello, dynamic clothing!).
The reason I asked is because it would be nice to use mcjTeleBlender to send the scene to Blender but still have the possibility to tweak the pose, instead of a back-and-forth between the two applications. However, I can see that is still not possible because mcjTeleBlender uses .obj format, right?
…the possibility to tweak the pose…
is still not possible because mcjTeleBlender uses .obj format, right?
It IS possible! Try this:
Transfer a figure from DS to Blender via Collada.
That will give you an armature and a mesh, with vertex group weights.
Transfer the same figure via TeleBlender.
That will give you, in Blender, a mesh with Cycles materials and material zones,
and vertex groups, but no vertex group weights (they’re just 0 or 1).
In Blender, copy the materials over to the rigged mesh,
which may have a number of keyframes for animation.
…the possibility to tweak the pose…
is still not possible because mcjTeleBlender uses .obj format, right?
It IS possible! Try this:
Transfer a figure from DS to Blender via Collada.
That will give you an armature and a mesh, with vertex group weights.
Transfer the same figure via TeleBlender.
That will give you, in Blender, a mesh with Cycles materials and material zones,
and vertex groups, but no vertex group weights (they’re just 0 or 1).
In Blender, copy the materials over to the rigged mesh,
which may have a number of keyframes for animation.
Thanks for sharing this. Its rather interesting you can do that and still be able to animate - opens up a whole new world. :)
Just out of curiosity, if mjcteleblender wasn't around how would you get the materials into the collada import?
Good question. I was wondering something along the same lines. Is it possible to export the whole scene in using Collada and then set up materials from scratch in Blender?
I spoke with someone who uses a professional render application (Keyshot) and I believe that's a similar process - in that she sets up materials from scratch in Keyshot.
What worries me about a live TeleBlender bridge is that it would be OS-specific,
so it would be a terrible burden on Jacques' time (who works on a PC) to cater also to Mac types
(like myself). His time, I submit, would be more productive in the realm of pure (OS neutral) scripting,
e.g. by expanding TeleBlender to include rigging.
But, that's optional, given that Collada works.
Hi, I need some help with mcjTeleBlender error. I have searched on the Forum, but don't see this error mentioned by anyone, so I am going to post a screenshot of the Blender console message.
The export is from DAZ Studio 4.8.0.59, and Blender is 2.76b
mcjBlendBot is a set of Blender-Python scripts used to import the scenes exported by mcjTeleBlender
the mcjBlendBot package (zip) must be unpacked the current Blender version's "modules" folder
typically : C:\Program Files\Blender Foundation\Blender\2.76\scripts\modules
If you use Windows7's, you can right-click on that zip file
select "Extract All" menu item
and browse up to the C:\Program Files\Blender Foundation\Blender\2.76\scripts\modules
Hi, I need some help with mcjTeleBlender error. I have searched on the Forum, but don't see this error mentioned by anyone, so I am going to post a screenshot of the Blender console message.
The export is from DAZ Studio 4.8.0.59, and Blender is 2.76b
Every time you import a .obj, you do get vertex groups, but the weights are just 0 or 1.
Collada gives you the same vertex order and vertex groups,
but has vertex weights assigned so that the accompanying armature works smoothly.
So, if you’ve imported a figure into Blender from DAZ Studio via Collada,
and you then go back into DS, morph some more,
and now export a .obj version of the re-morphed figure, or,
if you export .obj via TeleBlender so that you can have all the figure’s materials
converted to Cycles, then, what you should do, is
transfer the vertex weights from the Collada version
to the new version, and then
add an armature modifier to that,
with the Collada-imported armature.
Someday someday .... someday i want to verify this hypothesis : The way mcjBlendBot builds the material nodes forces Cycles to load multiple copies
of the same texture image, each time a surface material uses that same texture image.
If that's the case i could avoid out-of-memory events by having all surfaces share the same in-memory texture image
mCasual, I've verified this. I run this after importing to remove the duplicate images, but my 2 GB Nvidia card still has trouble with any complex scene; it has even more trouble using iRay though.
# Removes duplicate images, defined as:
# - having a third component (. delimited)
# - not used in any material node
class cleanupExtraImages(bpy.types.Operator):
"""Clean up extra images in imports"""
bl_label = "With Rename"
bl_idname = "view3d.clean_up_images"
# Do that thing
def execute(self, context):
print('new run')
img_names = []
materials = bpy.data.materials
# find images in material nodes
for mat in materials:
if hasattr( mat, 'node_tree' ):
if hasattr( mat.node_tree, 'nodes' ):
nodes = mat.node_tree.nodes
print( mat.name )
for node in nodes:
if type(node) == bpy.types.ShaderNodeTexImage:
# Get the image name
# Drop all but the first two name parts
try:
nam = node.image.name
parts = nam.split(".")
nam = parts[0] + "." + parts[1]
newImage = findImage( nam )
if newImage:
node.image = newImage
nam = node.image.name
print( "- Using image " + nam)
img_names.append(nam)
except:
print('- No image')
# Iterate through all images and remove those we
# haven't identified as used
imgs = bpy.data.images
count = 0
for image in imgs:
name = image.name
if name not in img_names:
print( 'Removing image ' + name )
count = count + 1
image.user_clear()
self.report({'INFO'}, "Removed: %s images" % count)
return{'FINISHED'}
I have lookead at some of the forumposts and googled my way around and I can't find the answer to this anywhere.
Im new to daz and just played with it for a couple of days and I just can't get this script to work, not the v2 or v3. I tried to put the files in: My DAZ 3D Library/ - and - programfiles/DAZStudio4/scripts - and - documents/DAZ 3D/Studio. Nothing works and it will not recognise the script in anny way, it does not show up. What do I do? Is there something I have to enable, or disable, or do a little dance?
I have lookead at some of the forumposts and googled my way around and I can't find the answer to this anywhere.
Im new to daz and just played with it for a couple of days and I just can't get this script to work, not the v2 or v3. I tried to put the files in: My DAZ 3D Library/ - and - programfiles/DAZStudio4/scripts - and - documents/DAZ 3D/Studio. Nothing works and it will not recognise the script in anny way, it does not show up. What do I do? Is there something I have to enable, or disable, or do a little dance?
I would like to see cycles for daz studio so the amd gpu crowd could have something like iray. I love the high end amd cards they come with insane amounts of video ram and are reasonably priced. Nvidia 980 6gb $600 vs Radeon R9 390 8gb $280 Cycles is Opencl this should be added to daz studio and carrara pro.
Using DS4.8 and Blendbot/Teleblender3... can't get the "lib_" method to work. Trying to export to Blender 2.76b (the current stable release) and while the geometry is imported and the materials are converted, it's not picking up the "lib_" materials I've included. The right options are set while exporting, files are in the right locations with the right names, and I don't see any errors in Blender's console when importing.
Using DS4.8 and Blendbot/Teleblender3... can't get the "lib_" method to work. Trying to export to Blender 2.76b (the current stable release) and while the geometry is imported and the materials are converted, it's not picking up the "lib_" materials I've included. The right options are set while exporting, files are in the right locations with the right names, and I don't see any errors in Blender's console when importing.
Comments
so we can —yess!— get a fully rigged, and even animated, figure into Blender,
with materials transferred separately, via TeleBlender.
When you say now, do you mean DS 4.9?
when i get time i could improve teleblender
so it would take care of invoking the collada exporter
and it would create a python script that would make mcjBlendBot import the collada file and
do its material nodes building tricks
... lights, environments etc
( though a real plugin type of "live" bridge would be better )
Confirm, 4.8 to Blender via Collada gives you poseable characters inside Blender (e.g. hello, dynamic clothing!).
And “geo”-grafting, and “real” wool, and all that good stuff.
The reason I asked is because it would be nice to use mcjTeleBlender to send the scene to Blender but still have the possibility to tweak the pose, instead of a back-and-forth between the two applications. However, I can see that is still not possible because mcjTeleBlender uses .obj format, right?
That will give you an armature and a mesh, with vertex group weights.
That will give you, in Blender, a mesh with Cycles materials and material zones,
and vertex groups, but no vertex group weights (they’re just 0 or 1).
which may have a number of keyframes for animation.
Thanks - I'm heading off overseas soon for a couple of months so I'll look forward to having some projects waiting when I get home again.
Thanks for sharing this. Its rather interesting you can do that and still be able to animate - opens up a whole new world. :)
Just out of curiosity, if mjcteleblender wasn't around how would you get the materials into the collada import?
Good question. I was wondering something along the same lines. Is it possible to export the whole scene in using Collada and then set up materials from scratch in Blender?
I spoke with someone who uses a professional render application (Keyshot) and I believe that's a similar process - in that she sets up materials from scratch in Keyshot.
The beauty of TeleBlender is that you don't HAVE to transfer
dozens of material settings every single time!
Agreed. Several people have requested that on this forum.
What worries me about a live TeleBlender bridge is that it would be OS-specific,
so it would be a terrible burden on Jacques' time (who works on a PC) to cater also to Mac types
(like myself). His time, I submit, would be more productive in the realm of pure (OS neutral) scripting,
e.g. by expanding TeleBlender to include rigging.
But, that's optional, given that Collada works.
I'm a Mac user too.
Amazing stuff, thank you.
Hi, I need some help with mcjTeleBlender error. I have searched on the Forum, but don't see this error mentioned by anyone, so I am going to post a screenshot of the Blender console message.
The export is from DAZ Studio 4.8.0.59, and Blender is 2.76b
possibly what happened is you did not install the mcjBlendBot kit of python scripts in the proper Blender folder
usually if this is done correctly you will have 14 files named mcjBlendBot.py, mcj.......py etc etc in your folder
C:\Program Files\Blender Foundation\Blender\2.76\scripts\modules
for each one of the 3 versions of the mcjTeleBlender script for Daz Studio, there's an mcjBlendBot kit of scripts for Blender (zip file)
that's the release page for the current version of mcjTeleBlender
https://sites.google.com/site/mcasualsdazscripts4/mcjteleblender3
this is a direct link to the corresponding mcjBlendBot.zip package
https://sites.google.com/site/mcasualsdazscripts4/mcjteleblender3/mcjBlendBot.zip?attredirects=0&d=1
mcjBlendBot is a set of Blender-Python scripts used to import the scenes exported by mcjTeleBlender the mcjBlendBot package (zip) must be unpacked the current Blender version's "modules" folder typically : C:\Program Files\Blender Foundation\Blender\2.76\scripts\modules
If you use Windows7's, you can right-click on that zip file
select "Extract All" menu item
and browse up to the C:\Program Files\Blender Foundation\Blender\2.76\scripts\modules
Yep, I left them in the mcjBlendBot folder, moved them up one level to Modules and it works fine.
Thanks for you quick repsone.
A Note About Rendering Modern Daz Figures in Blender Cycles GPU
I Installed mcjTeleBlender in Daz Studio 4.8 and mcjBlendBot in Blender 64-bit 2.76
i loaded Genesis 3, added clothes and hair, added 3 lights
started mcjTeleBlender script
i changed the output path to i:\z\test11252015.obj
i changed the Renderer to Cycles and GPU
i turned on the "TB2 Legacy mode" and turned off the "Glossy mix" option
i turned on the use of an environment map, and selected a jpg image from sIBL Archive as the environment ( skyBall )
Clicked on the "Export Current Frame" button
And Blender Cycles refused to render it ... out of memory
I have an NVidia card with 2 Gigabytes of ram ... so i thought this wouldn't happen
the thing is, modern figures and clothing textures tend to be huge
The GPU-Assisted Cycles renderer needs to fit all the texture images in the video card memory
So what i did is, i left the hair transparency map as-is, but i replaced the diffuse color map by a simple blue image
then i replaced the shorts and top shirt textures with a shrunk version 1024x1024 instead of 2000x2000 ( on all the 10 surfaces )
and this allowed me to do a GPU-Assisted Cycles render
Note that if you use the much slower CPU-Assisted Cycles renders, the image sizes are not an issue
Someday someday .... someday i want to verify this hypothesis : The way mcjBlendBot builds the material nodes forces Cycles to load multiple copies
of the same texture image, each time a surface material uses that same texture image.
If that's the case i could avoid out-of-memory events by having all surfaces share the same in-memory texture image
And just now i changed the render size from 800x600 to 1920x1080 and ran out of memory again!
so i turned OFF Blender's render panel option called "progressive rendering"
it renders small tiles by small tiles and that was enough to solve the out-of-memory issue
Oops! Allow me to correct some mistaken advice of mine:
As Blender stands right now (2.76, latest build),
it’s rather cumbersome to copy materials from one mesh to another.
It’s much easier to copy vertex weights; see e.g.
https://www.blender.org/manual/modeling/meshes/vertex_groups/weight_paint_tools.html#transfer-weights
Every time you import a .obj, you do get vertex groups, but the weights are just 0 or 1.
Collada gives you the same vertex order and vertex groups,
but has vertex weights assigned so that the accompanying armature works smoothly.
So, if you’ve imported a figure into Blender from DAZ Studio via Collada,
and you then go back into DS, morph some more,
and now export a .obj version of the re-morphed figure, or,
if you export .obj via TeleBlender so that you can have all the figure’s materials
converted to Cycles, then, what you should do, is
to the new version, and then
with the Collada-imported armature.
mCasual, I've verified this. I run this after importing to remove the duplicate images, but my 2 GB Nvidia card still has trouble with any complex scene; it has even more trouble using iRay though.
Help please.
I have lookead at some of the forumposts and googled my way around and I can't find the answer to this anywhere.
Im new to daz and just played with it for a couple of days and I just can't get this script to work, not the v2 or v3. I tried to put the files in: My DAZ 3D Library/ - and - programfiles/DAZStudio4/scripts - and - documents/DAZ 3D/Studio. Nothing works and it will not recognise the script in anny way, it does not show up. What do I do? Is there something I have to enable, or disable, or do a little dance?
Thanks :)
most zip files found on my site are meant to be unzipped into a Daz Studio content folder
usual daz studio content folder is
C:\Users\YOURUSERNAME\Documents\DAZ 3D\Studio\My Library
C:\Users\Public\Documents\My DAZ 3D Library
you can recognize a Daz Studio content folder because it contains notably a folder like "People" and 'scripts'
-------
when you unzip mcjteleblender3.zip, for example, in C:\Users\Public\Documents\My DAZ 3D Library
my script will end up in the C:\Users\Public\Documents\My DAZ 3D Library\scripts\mcasual folder
and in the Daz Studio Content Tab, the script will be in
Daz Studio Content /My DAZ 3D Library / Scripts / mCasual
----
but this is only true if your Daz Studio was told to take the C:\Users\Public\Documents\My DAZ 3D Library into consideration
in The Daz Studio menus, under
Edit / Preferences /
there's a Content Library panel/tab
and there's a Content Directory Manager button
once you're there you can add or just see which folders are designated as poser content folders and which one are deemed daz studio content folders
note that poser content folders contain a folder named Runtime
================================================
Another important point is that mcjTeleBlender is more complicated than the other scripts/plugins
because it relies on properly installed Blender and python scripts
================================================
since 2015, for renders, the easy way is to use Daz Studio's iRay renderer
But Blender Cycles and Blender / TeleBlender still have advantages for some purposes ( like the full modeling and special effects suite of tools )
Ok. I'll try that, thanks :)
I would like to see cycles for daz studio so the amd gpu crowd could have something like iray. I love the high end amd cards they come with insane amounts of video ram and are reasonably priced. Nvidia 980 6gb $600 vs Radeon R9 390 8gb $280 Cycles is Opencl this should be added to daz studio and carrara pro.
There are changes in current blender master in io_scene_obj.import:
was:
def load(<strong>operator</strong>, context, filepath... ):
is
Using DS4.8 and Blendbot/Teleblender3... can't get the "lib_" method to work. Trying to export to Blender 2.76b (the current stable release) and while the geometry is imported and the materials are converted, it's not picking up the "lib_" materials I've included. The right options are set while exporting, files are in the right locations with the right names, and I don't see any errors in Blender's console when importing.
yes i have to update mcjBlendBot
the post above yours by phdubrov points out what the problem is
i'm very busy with the mcjNewCastle update but .... come to think of it .... i'll fix mcjBlendBot today
i tested the "use mat-lib functionality VS Blender 2.76b
good news is still works
next i'll see about the lib_ mats functionality
--------
my test of the "use mat-lib" function was
- blank daz studio 4.9 scene
- create cylinder
- send scene to Blender 2.76b using mcjTeleBlender
- in Blender, modify the cylinder's material
- save scene as "OneDSMat.blend"
- exit Blender
- in DazStudio, start mcjTeleBlender, activate the "use mat-lib" option
- Browse to and select the "OneDSMat.blend" scene-file
- send scene to Blender 2.76b using mcjTeleBlender
OK : the cylinder adopted the material that was in "OneDSMat.blend"