• Daz 3D
  • Shop
  • 3D Software
    • Daz Studio Premier
    • Daz Studio
    • Install Manager
    • Partnerships
    • AI Training data
    • Exporters
    • Daz to Roblox
    • Daz to Maya
    • Daz to Blender
    • Daz to Unreal
    • Daz to Unity
    • Daz to 3ds Max
    • Daz to Cinema 4D
  • 3D Models
    • Genesis 9
    • Genesis 8.1
    • Free 3D Models
  • Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help
  • Memberships
    • Daz Premier
    • Daz Plus
    • Daz Base
    • Compare
  • Download Studio
ADVANCED SEARCH
  • Menu
  • Daz 3D
ADVANCED SEARCH
Add image
  • Shop
  • 3d Software
    • Daz Studio Premier
    • Daz Studio
    • Install Manager
    • Partnerships
    • AI Training data
    • Exporters
    • Daz to Roblox
    • Daz to Maya
    • Daz to Blender
    • Daz to Unreal
    • Daz to Unity
    • Daz to 3ds Max
    • Daz to Cinema 4D
  • 3D Models
    • Genesis 9
    • Genesis 8.1
    • Free 3D Models
  • Community
    • Our Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help
  • Memberships
    • Daz Premier
    • Daz Plus
    • Daz Base
    • Compare

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

«1…18192021222324»

Comments

  • starslingerstarslinger Posts: 22
    November 2025

    Ok I've installed the plugins, but still by default it behaves the same. I import the abc in the content drawer, select either static mesh or geometry cache. Is there something extra I need to do to get it to work, or it should work out of the box like in blender? To be clear I exported the entire figure, hair and everything together.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    November 2025

    @starslinger

    It should just work, but apparently UE is more finnicky about what it interprets as a hair groom. I'm looking in to it.

  • starslingerstarslinger Posts: 22
    December 2025

    Hey how's it going? I re-downloaded Sagan from your link, re-installed so its latest update and I think I found a new bug, if you create a New Null object, or just have Null objects in the scene, Sagan crashes Daz Studio when trying to export. Also pless don't forget about the hotkey thing

  • starslingerstarslinger Posts: 22
    December 2025

    The settings dont seem to save or load, also I think it would be useful if it used the current directory of the scene file for saving and exporting, instead of promting you to set paths.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025

    Hi @starslinger

    OK, the null bug is fixed. But I uncovered a new crash-to-desktop bug when assets are missing. Will work on that tomorrow.

    I changed the method for adding additional config options and must have borked something up. I'll fix it tomorrow, as well.

    The config files are all in the same place so I can silently update them all when I need to make a backwards-incompatible change to the format.

    The hot key is on the list, and I'll figure something out after v4 stabilizes.

    Thanks for the testing!

     

     

  • starslingerstarslinger Posts: 22
    December 2025 edited December 2025

    It seems that sagan is not exporting any of the default genesis 9 strand based eyebrows. At least when I try to import them in blender they dont show up at all. Can you make it possible for base export directory to not be hardcoded to one global location? Personally I prefer keeping alembic files bundled with project directories, so putting all alembic files in one global folder makes my organization more difficult.

    Post edited by starslinger on December 2025
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025

    starslinger said:

    It seems that sagan is not exporting any of the default genesis 9 strand based eyebrows. At least when I try to import them in blender they dont show up at all.

    Strange. I tested that with Sylvia 9, and it worked fine. I'll look into it.

    Can you make it possible for base export directory to not be hardcoded to one global location? Personally I prefer keeping alembic files bundled with project directories, so putting all alembic files in one global folder makes my organization more difficult.

    Sure, I'll make the option part of the configuration.

     

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025

    starslinger said:

    It seems that sagan is not exporting any of the default genesis 9 strand based eyebrows. At least when I try to import them in blender they dont show up at all.

    For fiber brows to work at all, you must have saved the scene file. This is because Sagan needs to parse the asset file to get the eyebrows' topology. What is stored in the mesh data is just an array of vertices with no information on how they are arranged into strands.

    I found something. If you turn on log details under the Help menu, you'll see something like:

    2025-12-11 07:35:44 node_type_decoder.cpp:111 - G9 Eyebrows Fiber Style 01: g9EyebrowFibers
    2025-12-11 07:35:44 raw_fibers.cpp:366 - found fiber object: G9 Eyebrows Fiber Style 01
    2025-12-11 07:35:44 raw_fibers.cpp:259 - geometry had no polyline_list
    2025-12-11 07:35:44 raw_fibers.cpp:315 - couldn't find appropriate geometry
    2025-12-11 07:35:44 raw_fibers.cpp:372 - couldn't get fiber object: G9 Eyebrows Fiber Style 01
    2025-12-11 07:35:44 raw_fibers.cpp:383 - couldn't find appropriate raw fibers
    2025-12-11 07:35:44 recursive_init_node_decoder.cpp:167 - couldn't get raw fibers for: G9 Eyebrows Fiber Style 01

    I got this to work by using the G9 eyebrow fibers that came with Sylvia 9, but it must be done inconsistently (big surprise). I'll see what is different about the JSON and figure something out. Getting really tired of this kind of crap.

     

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025 edited December 2025

    OK, this is getting ridiculous. Someone will have to explain to me what the point is of having a classname at all if apparently it is meaningless. And worse yet, why this is not documented anywhere.

    The brows that come with Sylvia 9 have a class name of G9EyebrowFibers, and they have a polyline_list object that describes the topology.

    The Genesis 9 Starter Essentials "Fiber" Eyebrows also have a classname of G9EyebrowFibers. But they are not fibers at all, do not have a polyline_list object; they are just regular meshes.

    I think the logic can be that if there's no polyline_list object in the JSON, then attempt to export it as a regular mesh. I'll code that up and see if it solves the problem. This is how bad software happens. Not with a scream, but a thousand undocumented sighs.

     

    Post edited by TheMysteryIsThePoint on December 2025
  • starslingerstarslinger Posts: 22
    December 2025

    TheMysteryIsThePoint said:

    OK, this is getting ridiculous. Someone will have to explain to me what the point is of having a classname at all if apparently it is meaningless. And worse yet, why this is not documented anywhere.

    The brows that come with Sylvia 9 have a class name of G9EyebrowFibers, and they have a polyline_list object that describes the topology.

    The Genesis 9 Starter Essentials also have a classname of G9EyebrowFibers. But they are not fibers at all, do not have a polyline_list object; they are just regular meshes.

    I think the logic can be that if there's no polyline_list object in the JSON, then attempt to export it as a regular mesh. I'll code that up and see if it solves the problem. This is how bad software happens. Not with a scream, but a thousand undocumented sighs.

     

    Hang in there, you are doing god's work! Maybe Sylvia eyebrows are custom groomed and that caused the discrepancy?

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025

    OK, I think I fixed it, you can re-download. But I'm not sure what other DSBS is lurking in there.

    Why the authoring tool would simulate a "fiber" by taking what is topologically a 5 x 3 2-dimensional grid of faces and superimpose the row vertices over each other making them coincide so it physically is a 1-dimensional strand of 5 segments, I will never know.

    I continue working on the other issues for a proper release, including your hotkey.

    Thanks again for the help testing.

  • starslingerstarslinger Posts: 22
    December 2025

    Hey thanks a lot for the update! I just got around to testing it. Yes now it I can see the eyebrows in blender. They are a mesh object only? They seem to import as mesh object in blender and checking convert to hair curves doesnt convert it.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025

    starslinger said:

    Hey thanks a lot for the update! I just got around to testing it. Yes now it I can see the eyebrows in blender. They are a mesh object only? They seem to import as mesh object in blender and checking convert to hair curves doesnt convert it.

    Hi @starslinger

    All the time I took to re-design Sagan for v4 is paying off. Now, all the logic for figuring out what the heck a node is, is in one place and works for both Alembic and the USD that Hitchens uses. All it took was to code up "Even if the classname says it's a fiber, if you've got "faces", then it's a mesh".

    Did you look in the log for any clues? I think that because, like I said, the topology of the "fiber" brows is so messed up that the conversion algorithm might be saying (paraphrasing) "there's no way that this is a strand of hair" and ignoring it.

  • starslingerstarslinger Posts: 22
    December 2025

    Looks like Blender doesn't offer hair modifiers on freshly imported Sagan SBH, but if you save the scene and reload then the options show up in the hair modifier dropdown and search. Probably an issue with Blender, but worth noting

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025

    @starslinger

    Thanks again for your dilligence.

    I think I've figured out how to implement your hotkey. It turns out that a single plugin DLL can register more than one action, to which the user can assign any hotkey combo they desire. I have a proof of concept that can pop up a "I'm here!" dialog, so it should be theoretically possible to just export according to the current configuration with no other input from the user. So I think I'm pretty close.

  • starslingerstarslinger Posts: 22
    December 2025

    So I've been working with sagan for couple of days now and there are a few things that bother me. The settings still dont save per scene file, they seem to be global. Im not sure if you plan to change this so I'm mentioning it. I think it is really important to have settings save per scene file, like for example frame range so that when you open the older project you know what you are working with and not have to constantly fiddle with frame ranges especially if you work with multiple files. Another thing is, the order of material and the uv naming does not follow diffeomorphic template. I've tried fiddling with diffeomorphic material order settings but no success, this fix used to work in older versions of sagan. My suggestion is, keep uv naming same as diffeomorphic and keep material order/index the same as diffeomorphic default import because this simplifies the material transfer by an order of magnitude. Currently as it is you have to fiddle with both the uv's and material orders just to get a single piece of clothing working and then you have to do it for every single unique piece. I saw sagan exports some scripts also, I am not sure if and how they are supposed to be used.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    December 2025

    Hi @starslinger

    The config file behavior you cite is indeed how it shoudl work. I did find a bug in the code that is already fixed and will be in the next iteration.

    The order of the material slots is an issue that has been known about for a long time. Diffeo gets the materials from the JSON. Sagan gets them from the SDK API. They are generally not gong to match. Recently, I've found that Diffeo creates fewer material slots than Sagan does. It seems like Diffeo is wrong, but I haven't investigated very far, yet. I'm considering putting back in the code that gets the materials from the JSON, like Diffeo does. It was removed because it required parsing the JSON, which just bloated the code, but since I've got to parse the JSON anyway for fiber eyebrows, I may as well fish out the materials data since I've already got the JSON parsed. I'm aware of the UV problem as well, and I, too, find it annoying. In the end, I'll probably output a script to convert diffeo's naming scheme to Sagan's, not the other way around because Sagan utilizes the human readable label one sees inside DAZ Studio, while Diffeo uses the ID from the JSON which may or may not even correspond to what the user sees in Daz Studio.

    When the implementation settles, I'll explain all the metadata that gets generated.

    Your hotkey is coming along. I'm killing two birds with one stone by using essentially the same code to make your hotkey work as to collaborate with the creator of the Daz To Houdini plugin. If anyone is doing God's work, it's that guy... amazing stuff.

    Stay tuned.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    January 5

    Hi @starslinger

    Grab the latest beta. You should see another Edit action called Express Export. It will export according to the current config file for the scene. You can set up whatever hotkey you want for it.

  • starslingerstarslinger Posts: 22
    January 6

    Hey thanks for the update! Seems to be working fine. One thing I could suggest is a way to save default settings, because its a bit annoying to keep setting same settings over and over again every time I open a new scene.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,244
    5:08AM

    @starslinger

    OK, I'll think about that, too. Thanks for helping test.

«1…18192021222324»
Sign In or Register to comment.
Adding to Cart…

Daz 3D is part of Tafi

Connect

DAZ Productions, Inc.
7533 S Center View Ct #4664
West Jordan, UT 84084

HELP

Contact Us

Tutorials

Help Center

Sell Your 3D Content

Affiliate Program

Documentation Center

Open Source

Consent Preferences

JOIN DAZ

Memberships

Blog

About Us

Press

Careers

Bridges

Community

In the Studio

Gallery

Forum

DAZ STORE

Shop

Freebies

Published Artists

Licensing Agreement | Terms of Service | Privacy Policy | EULA

© 2025 Daz Productions Inc. All Rights Reserved.