• Daz 3D
  • Shop
  • Technology
    • Studio
    • Bridges
    • DIM
  • Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help
  • Download Studio
    • Account
  • Menu
  • Daz 3D
  • Shop
  • Technology
    • Studio
    • Bridges
    • DIM
  • Community
    • Our Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help

Notifications

You currently have no notifications.

Loading...
    • Categories
    • Recent Discussions
Daz 3D Forums > 3rd Party Software > Blender Discussion

Sagan: A DAZ Studio to Blender Alembic Exporter

«1234567…18»

Comments

  • WendyLuvsCatzWendyLuvsCatz Posts: 36,208
    September 2020 edited September 2020

    actually what I want is an alembic or mdd importer for DAZ studio enlightened

    so one can get all those awesome Blender Artists made stuffs into DAZ studio for iray renders since getting Blender rigging in is just about impossible 

    certainly not via FBX

    Post edited by WendyLuvsCatz on September 2020
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020
    Padone said:
    TheMysteryIsThePoint said:

    Ultimately, I would like and option for Daz to talk directly to Blender without intermediate files, and Daz Studio will act as a slave to Blender, serving up frames and geometry data when Blender requests it.

    This would mean to keep both daz studio and blender up and running though. With the scene doubled in daz and blender. That especially for large scenes may require a certain amount of extra ram that's not needed if you just use files.

    I admit that I'm influenced by my personal requirements. I run DS on Windows and Blender on Linux, two separate computers. I have to store the files on a NAS, which is slow.

    Padone said:

     

    edit.

    As for mdd if you already can go for it I believe that's great. I guess you'll need one mdd file per object in the daz scene. Then in blender you'll need a script to add a mesh cache with its own mdd to each object. Otherwise the user could add them by hand just for the objects he needs to animate that's the easy solution.

    I'm sure all of that will be figured out, and made as convenient as possible. I cannot be the only one who has ever wanted to make a small change once the Alembic has been imported.

    Padone said:

    As for HD figures by diffeo the mdd cache has to contain the base mesh vertices, since diffeo uses a multires so it's the base mesh to be animated. The HD exporter exports both the base mesh and the HD mesh. The multires and the base mesh have the same vertex order. Luckily you will also have to ignore shells in the daz scene since those are implemented as extra material layers in diffeo so they get no extra geometry.

    I'm sure I'll need a little help understanding all of that, when we get to it; I've never even touched the multires modifier and don't know what it actually does.

     

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020
    WendyLuvsCatz said:

    actually what I want is an alembic or mdd importer for DAZ studio enlightened

    so one can get all those awesome Blender Artists made stuffs into DAZ studio for iray renders since getting Blender rigging in is just about impossible 

    certainly not via FBX

    @WendyLuvsCatz While I've though about that, and it would be much easier to just write an Alembic/MDD-to-DSON converter and leave plugins out of it, neither one of those formats would solve the rigging problem...

    And I cannot understand why DS doesn't have an FBX importer. DS isn't under some incompatible license and presumably they use the official FBX library, right from Autodesk, for exporting already.

     

  • WendyLuvsCatzWendyLuvsCatz Posts: 36,208
    September 2020
    TheMysteryIsThePoint said:
    WendyLuvsCatz said:

    actually what I want is an alembic or mdd importer for DAZ studio enlightened

    so one can get all those awesome Blender Artists made stuffs into DAZ studio for iray renders since getting Blender rigging in is just about impossible 

    certainly not via FBX

    @WendyLuvsCatz While I've though about that, and it would be much easier to just write an Alembic/MDD-to-DSON converter and leave plugins out of it, neither one of those formats would solve the rigging problem...

    And I cannot understand why DS doesn't have an FBX importer. DS isn't under some incompatible license and presumably they use the official FBX library, right from Autodesk, for exporting already.

     

    they have a useless one

    They added a very robust one to Carrara 7 years ago so I suspect it is intentional 

    maybe don't want people bringing in not DAZ stuff

  • WendyLuvsCatzWendyLuvsCatz Posts: 36,208
    September 2020 edited September 2020

    what I do at the moment is export obj series I add to morphloader 

    then use puppeteer to go between them

    there is a  script for Marvelous Designer that effectively does that too but it looks for MD specific obj exports

    Casual made a script too

    Post edited by WendyLuvsCatz on September 2020
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020
    WendyLuvsCatz said:
    TheMysteryIsThePoint said:
    WendyLuvsCatz said:

    actually what I want is an alembic or mdd importer for DAZ studio enlightened

    so one can get all those awesome Blender Artists made stuffs into DAZ studio for iray renders since getting Blender rigging in is just about impossible 

    certainly not via FBX

    @WendyLuvsCatz While I've though about that, and it would be much easier to just write an Alembic/MDD-to-DSON converter and leave plugins out of it, neither one of those formats would solve the rigging problem...

    And I cannot understand why DS doesn't have an FBX importer. DS isn't under some incompatible license and presumably they use the official FBX library, right from Autodesk, for exporting already.

     

    they have a useless one

    They added a very robust one to Carrara 7 years ago so I suspect it is intentional 

    maybe don't want people bringing in not DAZ stuff

    Of course you are probably right about that. DS would be just free IRay.

  • wolf359wolf359 Posts: 3,635
    September 2020 edited September 2020
    @mysteryisthepoint

    I am not knocking MDD (it made "Galactus Rising"possible..period) Now if you plan to create your own companion Blender Add-on or add it to your existing Sagan importer Dialogue by all means You should if possible

    The reason I mention it not being used today is that Many applications (Blender included) have such dismal support for it.

    With C4D I had to use a (now defunct) third party plugin called "Riptide pro"

    this plugin had a comprehensive import dialog that let me choose import scale (extremely important!!),as well as frame range and offset from my project frame length

    This enabled me to select at what frame ,of my C4D timeline, an off camera Genesis actor would walk into camera shot regardless of when he started walking back over in Daz studio.

    And Yes you can make NON destructive,NON vertex#changing edits to a .obj driven by MDD data and I did this frequently by applying SubD to my decimated low poy( 6000 faces) "backgrounders" in my movie.

    However I just added some nondestructive mesh detail to a FBX imported CC3 figure yesterday in edit Blender mode and did not lose the detail when returning to object mode to render the animation

    Another thing to consider With MDD is streaming verses importing.

    A naked Daz Genesis 3/8 figure moving for about 10 seconds,exported at Base res, will produce About 350mb of MDD data which is not bad IMHO.

    But export at higher resolutions & start adding clothing and hair and you quickly start to get to over one gig per animated actor.

    Not a problem with Lightwave3D as it streams the Data just as Blender streams Alembic Cache data

    Sadly, at this time Blender only imports MDD into the .blend file which will eventually lead to the kinds of viewport choking scene bloat people have reported with some of the new Daz "bridges" so make sure your MDD exporter/importer streams data as with Alembic.

    And unlike lightwave's (unsurprisingly awesome MDD importer) Blender has No import dialog other than the file browser to select the MDD file and ZERO user defined import options ( Scale, Offset ) But again I assume you will add these option on the blender side of the transaction because they dont exist currently for MDD data.

    Lastly in the matter retargeting ,it is quite obvious that the blender devs assume that all users are working within one Character/Rig Eco-system...BLENDERS!

    In principle I actually agree that for animated filmaking you should choose ONE CHaracter eco system and stay within it for the highest compatibility

    The few DAZ Studio users who are animators(and not using Carrara), are using Daz studio&Genesis 8, Not Iclone/CC3/3DX or Autodesk MOBU. And Rokoko has a free general retargeting plugin that requires internet connection to their server

    just like ALL of the Reallusion CC3 characters,the Daz G8 figures share the same Rigging within the Daz Eco system. I undertand the Challenge of getting a decent animation on a G8 figure within daz studio but at the very least the armature data transfer, I showed in the video, will give a DS animator (using puppeter,baking aniblocks etc)the option to send over a naked G8 with new animation or still pose data Data and apply it without having reimport the fully dressed figure and redo textures each time the animation changes. .
    Post edited by wolf359 on September 2020
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020

    All important insights, Wolf, thank you, particularly abot MDD. It sounds like the support for it is even worse then Alembic. I was unware that MDD didn't take an offset, nor stream like Alembic. That's a deal-breaker and I would have to do a lot more work than I anticipated on the Blender side.

  • PadonePadone Posts: 3,250
    September 2020 edited September 2020

    @TheMysteryIsThePoint

    Given the features by diffeo that uses multires and merged shells to save geometry, and the points by @wolf359 that I trust as correct as I don't play with mdd myself, I feel that a first implementation of mdd would fit a short animation of a small scene with a few dressed characters. I mean without streaming and complex stuff. Then since in an animation project the shots are usually separated into multiple scene files, this may work fine enough anyway.

    Then more advanced features may be useful to export a full long animation of a large scene with many characters. But this may not be required for small projects.

    Post edited by Padone on September 2020
  • francescogenovesi78francescogenovesi78 Posts: 0
    September 2020

    @ThemysteryIsThePoint

    Hello everyone,

    I have the same problem with textures pixellated with the normal alembic.

    I would like to instal Sagan Alembic Exporter but I have only a dll and I don't know how to install... please help (sorry I am a noob).

  • TheKDTheKD Posts: 2,597
    September 2020

    Drag and drop it into the plugin folder of daz studio, C:\Program Files\DAZ 3D\DAZStudio4\plugins is default location. Then start up ds and make sure to enable it in plugins, help>about installed plugins.

  • SoulMystSoulMyst Posts: 10
    September 2020

    @francescogenovesi78  also once the .dll is in plugins folder and enabled you will find it under the edit menu at the bottom labeled 'sagan' 

    for export to blender the workflow would be to save scene, then save with diffeomorphic (textures will be loaded from it) and lastly export the sagan alembic file under the abovementioned edit menu. 

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020

    @francescogenovesi78 Hi Francesco, did you get everything working? Let us know if you have any questions, but TheKD and SoulMyst have steered you in the right direction.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020 edited September 2020

    OK, venting about the lack of documentation and how much time I waste going down ultimately fruitless avenues has not really generated any positive change, so I'm not going to bother this time. I'll just say that my love/hate relationship with Daz and its lack of documentation continues.

    The exporter now generates a script that fixes any normal uv map shenanigans. Look for a new version, probably tomorrow.

     

    OK, sorry I can't let this one go: The code was working perfectly all along; it's just that the existence of two functions called DzFacetMesh::getNumUVSets() and DzFacetMesh::getUVSet( int index ) strongly implies that objects have multiple uv sets, when they really only have one that is already merged and the value that getNumUVSets() returns is irrelevant. Why Daz, why?

    Edit:Spelling.

    Post edited by TheMysteryIsThePoint on September 2020
  • PadonePadone Posts: 3,250
    September 2020 edited September 2020

    @TheMysteryIsThePoint

    The uber shader can't apply multiple uv maps per surface that's why shells are needed. That said a surface can have multiple uv maps to choose from. For example this happens when you use the Texture Atlas addon, it generates a new uv map for the atlas textures. I guess this may be what the daz api is referring to.

    Plus other assets may add their own uv maps as the Mutomorph HD for example.

    https://www.daz3d.com/mutation-morphs-hd-for-genesis-8-female

    uvmaps.jpg
    373 x 302 - 28K
    Post edited by Padone on September 2020
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020
    Padone said:

    @TheMysteryIsThePoint

    The uber shader can't apply multiple uv maps per surface that's why shells are needed. That said a surface can have multiple uv maps to choose from. For example this happens when you use the Texture Atlas addon, it generates a new uv map for the atlas textures. I guess this may be what the daz api is referring to.

    Plus other assets may add their own uv maps as the Mutomorph HD for example.

    I agree that that would have been the obvious conclusion, and was what I did originally think. But the DzFacetMesh::getNumUVSets() call often returns 0, even when there is a set is in the UV Set drop down. If it returns 0, I think every programmer in the world would think not to bother calling DzFacetMesh::getUVSet( int index ) because there is no valid index that could be passed in to it. And even when it does return 0, one would also think that DzFacetMesh::getUVs() cannot be called either, but it seems to always return a valid, merged UV.

    With no real documentation, one has to assume certain things from the structure of the API itself, but many times totally reasonable assumptions are 100% incorrect because the API just doesn't make sense... it's probably showing that it grew organically over time as features were added, not that it was architected all at the same time. I suppose I can relate to that, but that doesn't make it any less frustrating.

  • PadonePadone Posts: 3,250
    September 2020 edited September 2020

    @TheMysteryIsThePoint

    Or may be it's intended for the shader mixer that I know very little about. May be with the shader mixer you can have multiple uv maps per surface. Then there are mdl shaders. Then there are also 3delight shaders but afaik they use a single uv map per surface too.

    https://www.daz3d.com/forums/discussion/242936/an-iray-shader-mixer-cookbook/p1

    As for diffeo it doesn't import mdl and shader mixer. It tries to import 3delight though, but the recommended workflow is to convert everything to uber before exporting. That's quite easy it's enough to select all the surfaces and apply the uber base.

    uber.jpg
    502 x 217 - 34K
    Post edited by Padone on September 2020
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020 edited September 2020

    Version 1.14 is up. It is the first version that should have no tedium to get to a perfectly textured scene. Please test.

    There are two generated scripts now. One is the uv fixer that fixes the black materials. The other is the material renamer, which renames the materials to more user friendly names.

    With the "Temple of Sand" asset, I discovered that 1) both Diffeo and Sagan generate geometry for the back wall object that causes Blender to crash. Exporting it as obj and importing it back in fixes whatever it is, and there is an n-gon in the geometry. 2) The two generated scripts hiccup on the instances, even though I ran the scene through Instance-to-Object. I'm working on that.

    The workflow I use is:

    1. Import Diffeo and immediately delete the collection. It can be imported back once the materials are all set up.
    2. Import Alembic.
    3. Run the uv fixer script.
    4. Run the material renamer script.
    5. Pack and save.

    Next up are some scripts to:

    1. Turn off vertex smoothing for those that import single frames.
    2. Append all the materials from a source blend file with the import in it, into a materials almanac.
    3. A script to re-texture the import automatically, from the materials almanac.

    And also some other small minutiae that others have asked for.

    Post edited by TheMysteryIsThePoint on September 2020
  • emoryahlbergemoryahlberg Posts: 133
    September 2020 edited September 2020

    Perhaps this is a dumb question, but...

    If you're importing Diffeo anyway, why bother with also importing Alembic? Especially now that Diffeo has HD?

    Genuinely confused.

    Post edited by emoryahlberg on September 2020
  • PadonePadone Posts: 3,250
    September 2020 edited September 2020

    @emoryahlberg Well as for sagan vs diffeo they are just two different things. With alembic you import the daz animation, including dforce, and that is useful if you want to animate in daz and render in blender. With diffeo you import a full rigged character and that is most useful if you want to animate and render in blender.

    Then it is true that you can also import daz poses and animations with diffeo, but that doesn't include dforce for example.

    Post edited by Padone on September 2020
  • lilweeplilweep Posts: 2,012
    September 2020 edited September 2020

     

    emoryahlberg said:

    Perhaps this is a dumb question, but...

    If you're importing Diffeo anyway, why bother with also importing Alembic? Especially now that Diffeo has HD?

    Genuinely confused.

    cant really be bothered learning more than the bare minimum with Blender.  Dont really want to have to learn animation + posing

    Post edited by lilweep on September 2020
  • PadonePadone Posts: 3,250
    September 2020 edited September 2020

    @TheMysteryIsThePoint

    I tested a dressed G8F animation and sagan seems to work great. Test scene included.

    For anyone else. Be sure to follow exactly the steps reported by TheMystery, especially delete the diffeo collection before running the uv script, otherwise it will fail due to mismatching names.

    sagan-test.jpg
    348 x 481 - 38K
    duf
    duf
    sagan-test.duf
    392K
    Post edited by Padone on September 2020
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020 edited September 2020
    emoryahlberg said:

    Perhaps this is a dumb question, but...

    If you're importing Diffeo anyway, why bother with also importing Alembic? Especially now that Diffeo has HD?

    Genuinely confused.

    @emoryahlberg

    The two main reasons are that 1) Alembic is vertex exact, and will not suffer the same minor differences due to subdivision, and 2) that Alembic is a general interchange format, meaning that it's appropriate if your model will be moving through a pipeline. I know that people have exported to at least Marvelous Designer, Houdini, Maya, C4D, and 3DS Max. Everything "just works" because Alembic is fairly simple and does exactly one thing.

    It may very well be the case that you're not confused at all, and Alembic brings nothing that you need.

    But still stick around and help test :)

     

    Post edited by TheMysteryIsThePoint on September 2020
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020
    Padone said:

    @TheMysteryIsThePoint

    I tested a dressed G8F animation and sagan seems to work great. Test scene included.

    For anyone else. Be sure to follow exactly the steps reported by TheMystery, especially delete the diffeo collection before running the uv script, otherwise it will fail due to mismatching names.

    @Padone I am always holding my breath when I read your first response after releasing a new version... It determines how my weekend is going to go :)

  • emoryahlbergemoryahlberg Posts: 133
    September 2020
    TheMysteryIsThePoint said:
    emoryahlberg said:

    Perhaps this is a dumb question, but...

    If you're importing Diffeo anyway, why bother with also importing Alembic? Especially now that Diffeo has HD?

    Genuinely confused.

    @emoryahlberg

    The two main reasons are that 1) Alembic is vertex exact, and will not suffer the same minor differences due to subdivision, and 2) that Alembic is a general interchange format, meaning that it's appropriate if your model will be moving through a pipeline. I know that people have exported to at least Marvelous Designer, Houdini, Maya, C4D, and 3DS Max. Everything "just works" because Alembic is fairly simple and does exactly one thing.

    It may very well be the case that you're not confused at all, and Alembic brings nothing that you need.

    But still stick around and help test :)

     

    Thanks! I appreciate the response!

    Geographs aren't currently working in Diffeo, how can we import the materials for use with Sagan?

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020

    You say geografts don't work, but have you tried it anyway? Maybe Diffeo still imports the materials?

    Failing that, you could always select "Write Textures" and then set the nodes up yourself in Blender.

  • marblemarble Posts: 7,391
    September 2020
    TheMysteryIsThePoint said:

    Version 1.14 is up. It is the first version that should have no tedium to get to a perfectly textured scene. Please test.

    There are two generated scripts now. One is the uv fixer that fixes the black materials. The other is the material renamer, which renames the materials to more user friendly names.

    With the "Temple of Sand" asset, I discovered that 1) both Diffeo and Sagan generate geometry for the back wall object that causes Blender to crash. Exporting it as obj and importing it back in fixes whatever it is, and there is an n-gon in the geometry. 2) The two generated scripts hiccup on the instances, even though I ran the scene through Instance-to-Object. I'm working on that.

    The workflow I use is:

    1. Import Diffeo and immediately delete the collection. It can be imported back once the materials are all set up.
    2. Import Alembic.
    3. Run the uv fixer script.
    4. Run the material renamer script.
    5. Pack and save.

    Next up are some scripts to:

    1. Turn off vertex smoothing for those that import single frames.
    2. Append all the materials from a source blend file with the import in it, into a materials almanac.
    3. A script to re-texture the import automatically, from the materials almanac.

    And also some other small minutiae that others have asked for.

    Sorry - I must be missing something obvious. I went to download the latest Sagan version but the Zip only contains sagan.dll no other script. Where do I find the scripts mentioned in your post?

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 2,792
    September 2020
    marble said:
    TheMysteryIsThePoint said:

    Version 1.14 is up. It is the first version that should have no tedium to get to a perfectly textured scene. Please test.

    There are two generated scripts now. One is the uv fixer that fixes the black materials. The other is the material renamer, which renames the materials to more user friendly names.

    With the "Temple of Sand" asset, I discovered that 1) both Diffeo and Sagan generate geometry for the back wall object that causes Blender to crash. Exporting it as obj and importing it back in fixes whatever it is, and there is an n-gon in the geometry. 2) The two generated scripts hiccup on the instances, even though I ran the scene through Instance-to-Object. I'm working on that.

    The workflow I use is:

    1. Import Diffeo and immediately delete the collection. It can be imported back once the materials are all set up.
    2. Import Alembic.
    3. Run the uv fixer script.
    4. Run the material renamer script.
    5. Pack and save.

    Next up are some scripts to:

    1. Turn off vertex smoothing for those that import single frames.
    2. Append all the materials from a source blend file with the import in it, into a materials almanac.
    3. A script to re-texture the import automatically, from the materials almanac.

    And also some other small minutiae that others have asked for.

    Sorry - I must be missing something obvious. I went to download the latest Sagan version but the Zip only contains sagan.dll no other script. Where do I find the scripts mentioned in your post?

    The scripts are specific to the scene, so Sagan generates them when you export. There will be a scripts directory in the base directory.

  • marblemarble Posts: 7,391
    September 2020
    TheMysteryIsThePoint said:
    marble said:
    TheMysteryIsThePoint said:

    Version 1.14 is up. It is the first version that should have no tedium to get to a perfectly textured scene. Please test.

    There are two generated scripts now. One is the uv fixer that fixes the black materials. The other is the material renamer, which renames the materials to more user friendly names.

    With the "Temple of Sand" asset, I discovered that 1) both Diffeo and Sagan generate geometry for the back wall object that causes Blender to crash. Exporting it as obj and importing it back in fixes whatever it is, and there is an n-gon in the geometry. 2) The two generated scripts hiccup on the instances, even though I ran the scene through Instance-to-Object. I'm working on that.

    The workflow I use is:

    1. Import Diffeo and immediately delete the collection. It can be imported back once the materials are all set up.
    2. Import Alembic.
    3. Run the uv fixer script.
    4. Run the material renamer script.
    5. Pack and save.

    Next up are some scripts to:

    1. Turn off vertex smoothing for those that import single frames.
    2. Append all the materials from a source blend file with the import in it, into a materials almanac.
    3. A script to re-texture the import automatically, from the materials almanac.

    And also some other small minutiae that others have asked for.

    Sorry - I must be missing something obvious. I went to download the latest Sagan version but the Zip only contains sagan.dll no other script. Where do I find the scripts mentioned in your post?

    The scripts are specific to the scene, so Sagan generates them when you export. There will be a scripts directory in the base directory.

    Sorry - still confused. Which base directory? The DAZ Studio folders? The Scripts folder within the DAZ Studio content or are we talking about Blender scripts?

  • PadonePadone Posts: 3,250
    September 2020 edited September 2020

    @marble

    sagan-test.jpg
    351 x 182 - 20K
    Post edited by Padone on September 2020
«1234567…18»
Sign In or Register to comment.
Adding to Cart…

Daz 3D is part of Tafi

Connect

DAZ Productions, Inc.
224 S 200 W, Suite #250
Salt Lake City, UT 84101

HELP

Contact Us

Tutorials

Help Center

Sell Your 3D Content

Affiliate Program

Documentation Center

Open Source

JOIN DAZ

Blog

About Us

Press

Careers

Bridges

Enterprise Licenses

Community

In the Studio

Gallery

Forum

DAZ STORE

Shop

Daz+

Freebies

Published Artists

Licensing Agreement | Terms of Service | Privacy Policy | EULA

© 2023 Daz Productions Inc. All Rights Reserved.