Adding to Cart…
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.
Comments
And holy cow!
This plugin is better than I hoped even! I can even export legacy figures with full textures and materials- I got Saddie to export into DAZ! Freaking Saddie! I don't even remember why I have that character but she can be exported. Heck, you can even just hide a character or prop and have them not enter the scene. For my purposes, this is actually better than diffeo itself. Thanks so much!
Glad it worked out for you. Its functionality was driven by all the things that gave me headaches :)
As for the Fix Normal Maps script, it may be overcome by events. There was a time when the generated materials referenced normal maps by name, and so when you want to use a material made for one figure with its uniquely named normal map, the material wouldn't render correctly on another figure with a differently named normal map. I think that might not be the case any longer... it was over a year ago and Diffeo materials have since improved to be even better than they already were: @ThomasLarsson + @Padone = brilliance. We are extremely lucky to have both of them in our community.
If you do an installation tutorial, I'll put it in the first post. But you raise a good point: perhaps people don't know to go to the first post.
I was looking up a way to get Sagan to work on a mac with, unsurpisingly, no success. Are there any plans to turn this into a dylib file / mac compaitble plugin? Or is there any workaround to make it work on a mac?
Thank you,
Indi
To run on mac it needs to be recompiled by someone who got a mac and a compiler. If you own a mac may be you can try to compile it yourself.
So... working with the program for a bit and I have continuous problems getting the model to receive materials properly- but more to the point, why can't I just manually link the materials in Blender myself? I've tried several times and a few different ways but the materials don't seem to go to the proper parts of the mesh. Seems just having the program allow that would be an interesting solution to all the material issues. Then you wouldn't need to attach the materials at all and just let the user do that with Blender's interface. Material linking isn't hard once you know how.
On that, say you export a diffeo of a clothed Genesis 8 female into blender.
Now export the same figure as an obj with the following selections: write faces, write separate objects and write surfaces.
On import, the obj will be able to recieve a material link from the diffeo objects without issue, regardless of any changes made to the diffeo materials, long as none of them were deleted or renamed.
Is there a way to have an alembic export able to do the same thing- maybe with similar settings somehow?
I know it's not a one button solution and puts some of the burden on the end user rather than the program doing everything but- it seems that's how blender tends to work.
The trouble with linking seems to be that Alembic alphabatizes the materials on a mesh, thus they get jumbled when linked to a mesh that doesn't have them alphabatized- so how does one aphabatize the materials on a mesh in blender? (Or better yet, does alembic really need to do that in the first place?)
@Torkuda
The best way is to select "Use Diffeo Materials", import via Diffeo first to get the materials, and then import the Alembic to have the excellent Diffeo materials automatically applied. There's no need to manually link anything. Unless there's been a change in Diffeo, causing the slot names to no longer match between Diffeo and Sagan...
But what you are describing sounds like bad UVs, which I have not seen. Do you mean they are totally messed up, or do you mean that they just look out of order for the reasons you correctly identified. It's hard to tell without an example.
I installed the plugin but I still don't understand how to export as an alembic,, i dont feel like anything changed in my menus
So, when I port an obj the materials on the mesh are in a certain order, the same order as in FBX, Collada, etc, etc, including diffeomorphic. It's only Sagan that has them alphabetized. But here's the weird thing- in DAZ materials are alphabetized.
I wager it has something to do with the original .obj that's being referenced but I'm not sure.
But try it for yourself Sagan. Use the obj format and move a genesis 8 female to blender. Now look at the materials and notice the order they are listed in. I wager "face" will be the first material listed, or maybe "teeth". Now export using your alembic and note- the first material listed is "cornea". This order of materials doesn't affect much in general on a model, however, if you link the materials between to models directly the order of the materials tells blender what to over-ride with what.
You can go through and link the materials one at a time on a model, or you can try organizing the materials yourself on your models, it's just weird that you have to in the first place.
(BTW, you know how to directly link materials right? I actually didn't know for a while myself.)
It's not wierd, it's by design.
Internally in Sagan, the material slots are organized by Sagan by their Daz Studio material ID. When the slot names are sorted, looking up a slot becomes O(log2N) complexity rather than O(N), making the export much faster when you have to export many frames.
I made the judgement that speed was more important than material slots consistent with a workflow that no one, to my knowledge, was actually doing. Note that in one shot, you can still link materials from another object that was also imported with Sagan.
But I do see how this would be useful. I'll make another script to pull the materials from an object with the original naming and include with the next release.
I've made a *lot* of changes, particularly to protect Sagan from the DS5 changes to the the degree possible; if DS5 breaks Sagan in a way that I don't understand and they ignore all of my requests for help like they did the first time, I don't have the energy nor desire to reverse engineer things again and I think I will finally be done with Daz Studio for good and move on to an app with a better dev community. I'm hoping, but am not optimistic.
That's my fault. You'll find it buried under Windows|Workspace|Customize, and then under Miscellaneous in the hierarchy on the left. You can then move it to where ever you want in the hierarchy on the right, say under "Export" in Main Menu Bar|File on the Menus tab.
I am just tired of hunting GUI issues that have nothing to do with actual Alembic exporting.
thanks for the answer, I dont see the miscellaneous folder, I dragged an dropped the .dll in the daz plugin folder, did I need to need anything else?
@Dzzzman
OK, DAZ has done some work... now, it magically appeared for me at the bottom of the Edit menu, kinda like I always thought things based on DzEditAction (like Sagan) should.
@soo-pa
I remember the trouble you were having. I just installed it for another reason, and it just appeared at the bottom of the Edit menu, not hidden in miscellaneous. Look there for it?
Hope you don't give up, this program is super useful even for its tiny file size compared to obj. Like I said, exporting the materials at all isn't really necessary if this program is intended to work with Diffeomorphic as manually linking materials is easy in Blender, its only a problem if you have to do it one at a time. But the ability to export animations is great!
I really wish DAZ would just abandon DAZ to Blender and just work with you and Diffeomorphic. Sure, Sagan is a little buggy- but it functions in the first place and the bugs are actually minor.
I do know that DAZ has a tendency to buy up software and then stop supporting it, which I'm not happy with either as a former Carrara user.
In happier news- apparently your plugin is recognized by the people over on Blender's stack overflow, I found out when I mentioned it in a kind of tutorial and the editor went through and linked to here. Folks are aware of what you're doing and do care.
Yes, I'm figuring on how to make that tutorial for you, I'm just wondering if a lesson on material linking and organizing should be part of it.
The reason I think just letting the end user link between models is better than trying to have it done in program is- well a couple fold. First off, while alphabatizing the material names isn't a bad idea itself, since ALL exports from DAZ don't use it, it makes things awkward when working with other formats. Next up, your exports of geometry, faces, UV coordinates, groups and everything else are spot on and don't even require a diffeomorphic version of the file to be in the scene. Myself I like to import diffeomorphic, attach the materials to planes or blanks and then link materials from them, deleting all of the diffeomorphic models to save space, but every change I make risks the material transfer being broken down.
If the original DAZ file is changed too much, it seems the Sagan program will eventually lose track of the materials, so the program, which is otherwise perfect, will shoot out a perfect model with weirdly placed materials- at which point the end-user has to start scrapping things or has to build each material tree themselves. I have asked and so far, there is no control to alphabetize materials in blender, otherwise I would just tell people to do that.
Hi @Torkuda,
It's pretty hard for me to fix a bug that I can't reproduce. Can you make a minimal scene file with assets from the Starter Essentials that exhibits the behavior?
Would you like a blender file with say-
A model from diffeo and a model from Sagan demonstrating the fix? I can do that rather quickly.
In the following file I purposfully imported a Sagan alembic to a file where I knew it probably wouldn't recognize the diffeomorphic. It decided NOT to mess up this time but the file will work fine for our purposes anyway.
On the diffeo version of the figure I alphabatized the materials on the shirt, pants and hair just to show it can be done. However, if you select the sagan version of the character model, then shift select the diffeo version, you should only have to hit ctrl L and select "link materials" to have Blender over-ride the materials on the Sagan model with the materials from the diffeo model. You'll notice that if you do that with the character models, the materials will look all jumbled, as the order of the materials doesn't match. However if you do it with the shirts, select Sagan, then diffeo, link materials- the transfer will work just fine.
(Alphabatizing the materials isn't hard to correct, there are arrow buttons by the materials that can do that manually, it's just a bother and I'm sure it was a bother to do it on your end. I'm really just suggesting you bypass exporting texture altogether and just don't alphabetize the material list, letting the end user link materials. It's not a bug I'm complaining about, it's a fix I'm suggesting- and an easier workload.)
https://drive.google.com/file/d/1_kVp-dp3ylrmUCXStYYmCzXoVIIx_ZiI/view?usp=sharing
As to what bugs I did find- I had a big scene in both Blender and DAZ going and modified several textures in Blender- this was before I realized how to link materials properly and I just deleted the diffeomophic models in my scene after transferring them, expecting Sagan to have no problems. As I worked, after several transfers with Sagan and several times cleaning up the orphan data, which you have to do in Blender after several imports, the materials started falling apart and I wasn't sure what was going on in the end.
After that experience, I realized it would have been much simpler if I had all my materials on planes or empties and then just linked them myself to the Alembic model once it was in Blender. That way, not only was the process more stable and under my control, but even if there was a bug, I would likely be able to figure out why and fix it rather easily myself with proper knowledge of Blender. After all, Sagan wouldn't be able to touch the materials assigned to the planes, so if there was a problem with Sagan transferring materials properly, I could just link it all up myself. Then of course I wondered- "why isn't that just what I do by default?". Too many moving parts in a program can make it hard to design, so why not let the user link up the materials?
(If you need, I can make a full tutorial with my current method. I don't mind putting in some work for this product.)
Hey sorry to bother you again, I don't know if my dm went through and I can't even access mine so I guess daz makes it difficult for us to speak in dms so I'll ask here again even though it kinda floods your thread. I can see your plugin now but I don't know how to make it work. I exported a model but It got exported as a .sagan and I think I'd rather have it exported as an ogawa alembic. Basically I'm trying to make an archviz VR game on unreal and I'd like to populate the rooms I make with still daz models. I tried the unreal bridge but the dforce clothing doesnt work well and doesnt replicate exactly what I see on daz (skin pierces through and sometimes the clothing floats over the limb it should stick to). I've been told to try the alembic import and since the official plugin is outdated I looked for a replacement and found yours. What would you reckon the settings for importing not moving daz models should be?
I just saw your dm, thanks again you dont need to answer to the same question twice
As always in engineering, I'm sure there's a tradeoff to be made so that the material slots can be referenced by index instead of name in Sagan.
@Torkuda
I think your multiple imports might be violating an assumption that Sagan depends on, or maybe the material names are colliding. If that's it, there's no real way Sagan can know what is or is not already in the Blender scene.
After import, a script gets generated called rename_material_slots.py or something like that. Running it renames all the object's slots to more friendly names, and using the namespace supplied on the General tab. This is explicitly to prevent naming collisions.
Try that and let me know.
But I do think the problem will be better fixed by what you suggested: aligning the material slots which would allow direct linking via ctrl-L or even copy-to-selected from the materials tab in the properties panel.
As for the full tutorial, sure, please do, that's actually how Open Source is supposed to work. There have been other offers in the past and my response was always "let's let things settle down first" but I now recognize that things are never going to settle down. Certainly not with all the changes I'm making in preparation for DS5.
Thanks man! I can believe it actually works, in cinema 4d, and i can get the textures and everything, can can you explain how to use the scripts?
Please don't think I forgot about this @themysteryisthepoint ! I even have a script written up to explain the process of installing both Diffeomorphic and Sagan but I just recently discovered an issue with my computer hardware and I have to get it fixed before doing a full series of video tutorials that would require the use of demonstrations.
@Torkuda
That sounds awesome. Let me know if you have any questions while putting it all together.
Sorry for replying late. Notifications are really, really, messed up.
All the scripts are ustilized by opening a Text Editor window in Blender, opening the script, and executing it.
I haven't checked the UV Fixer script in a long time, and it may be OBE given the way Diffeomorphic converts materials today. After the Alembic import "inherits" the materials created by Diffeomorphic, it was the case that they had to be tweaked in order to render properly. This script does that.
The Rename Materials script changes the slot names to reflect the object and surface names in DS. KingArthur#Chainmail is much more understandable that Material-1.
The Append To Compendium script is unfinished, or buggy, whichever you like. Ultimately it'll take all of the materials and put them into another blend file to be recalled by one of the other scripts. Blender's Asset Library has completely changed how this could work, though.
The Reapply Materials script doesn't work either, but will basically re-apply saved materials from the first time they were imported, so you don't have to keep importing with Diffeo every time you want to import another animation with the same character with the same materials. It'll re-apply them from the aforementioned compendium. But both of these scripts need to be re-envisioned to work with the asset library.
If hair has been converted, a python script to create the particle system is created, and also a OBJ with polylines is created. A newer version of Sagan that I haven't released creates a binary file that can be read by both Houdini for simulation, and Blender for rendering. Blender's new hair system with its new Curve type completely obviates all of this, and it will have to be written to take advantage of the new Blender features.
Let me know if you have any questions.
But to be clear: Alembic does not support materials at all. It will preserve material groups, but not the actual materials. The only reason we get materials in Blender is because I was able to figure out how Diffeo names the materials it converts and make Sagan follow that. There is no such conversion for C4D, as far as I know.
Can somebody tell me how to use this I can't even find anywhere online
Can you describe what you've tried, and the trouble you are having?
Can you tell me how to import my alympic into the blender with hair I haven't been able to get the hair I got the scalp but no hair I was using dforce hair