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
Ha ha, just chime in the next time I am whining about the state of the documentation :)
Here's a python script to re-texture objects imported via Alembic, it's a great timesaver and solved the headache of re-texturing everything every time you do an import. Change its extension from .txt to .py
Modify it to point to the blend file that contains all your perfected materials (the "repository")
Then, for each object's material zones, replace the placeholders with the object's name and the name the texture that should be linked. The material zones aren't named, they're implied by their order, so you'll have to modify this script if you change the zones. I should really initialize this script in the plugin.
Each time you perfect a new material, you'll need to save it in another blend file first, pack external data, and then append the material into your "repository", go to Orphan Data, and add a fake user for that material. This will keep it from being purged because there's no object that actually uses the material.
And I've made a little progress on the normals problem. It can be fixed by unselecting "Faces" under the Mesh Sequence Cache modifier's Modifier Properties. I have no idea what the four of those buttons are, and can't seem to find an explanation anywhere. I just know that unselected Faces makes the normals smooth.
Does anyone else know?
Hi, Excited to discover this thread. I'm exploring pathways from DAZ to Houdini (Indie version). Is there a way to convert that python script for re-texturing objects imported via Alembic so it would work in Houdini?
Hi Mosk, up until now I've only done minimal experimentation with cloth and hair in Houdini, so I don't know that much about it yet. I'll research it a little bit... because the idea of Daz models in Houdini excites the heck out of me. At every turn Houdini seems to show that "this is just how it should be done"...
Ha, if I could easily get the daz people into houdini, I would probably drop dead of a heart attack it would be so cool. Mantra is such a fast and powerful render system.
I'm still working my way up a substantial learning curve, but being able to meld DAZ and Houdini would open a world of possiblities. If you need someone to help beta test your scripts in Houdini let me know and I'd be happy to help. Thanks for the work you've already put into this.
Me too, but if Blender is "too hard", then Houdini is "impossible" :)
I've never rendered anything in Houdini, not even once, but people at the Houdini users' group I attend fawn all over Mantra.
No problem, I love this app and its community. I will definitely be gratedul for your testing help. Houdini does have something called the Houdini Object Model which is a Python API. Depending on how expressive it is, this may be short work. Fingers crossed.
That would be great. I've sent you a message with my email for whenver you could use help testing.
Thank you, I responded to it.
Mantra is sick. I was doing 20k by 20k and bigger renders of environments lol. I like blender for poly modelling, but not too impressed with cycles or evee enough to put in the effort of learning the shader system and render system. I ended up giving up on houdini because I couldn't come up with a quick easy way to import daz models looking as good as iray renders do out of the box. The skin always looked more like plastic no matter what I tried lol. This was back in early iray, and skins have only gotten better looking since then.
i was looking forward to trying this out. I havent had much time to test it thoroughly, but currently it's better than the other Alembic Exporter.
The ability to hide surfaces is really helpful for exporting with geografts to avoid the duplicates.
I noticed an issue - it doesnt really affect me or inhibit my application of this - but there was an issue i observed with geografts like the ArcWar arm (https://www.daz3d.com/arcwar-cybernetic-arms-for-genesis-8-male). In Daz, when the geograft is applied, the normal G8 fgure arm is hidden, but when exported as alembic, the normal arm is exported too. You cant really hide one arm by selecting to ignore the arms' surfaces. Doing thay will hide/ignore both arms. i guess if you had the option to instead ignore face groups instead of surfaces, you could select to ignore one of the arm's face groups.
I put facegroups on the TODO list.
as i said, doesnt affect me, so dont prioritise this on my account.
Also, i was wondering if being able to ignore face groups would even be a comprehensive solution anyway because most geografts are attached to only part of a facegroup, and require the other part of the facegroup to be shown. And there is no real way to achieve this needed granularity by just showing or hiding the entire facegroup.
I dont really know enough about how geografts work to suggest a complete solution.
I am homing in on a solution for automatically re-texturing and have gotten it down to running two scripts, one in the Daz Importer blend file, and another in the Alembic imported blend file. The first just encodes the object and surface into a naming scheme for the textures, and the second just reads them back in, decodes the object and surface they came from, and re-applies them. Things are getting easier. The attached render was made by only 4 steps, and I have appropriately named the image file :)
There are still two issues, one of which is a Blender bug.
This is another script that is useful in conjunction with things marked dynamic. Some things, like dresses need to be pined to the object so that they don't fall to the ground, or sometimes you just want a garment to stay put. With this script, you specify the dynamic object to be simulated, the target object it should be pinned to, and a vertex group called "pins" in the dynamic object. The "pins" vertex group should usually have the vertices of the edge loop representing the hem of a garment. The script will pin each vertex in the dynamic object's "pins" vertex group to the closest vertex in the target object, creating all the empties and hook modifiers for you.
Then, when you put the cloth modifier on the dynamic object, you specify the "pins" group under "Shape" and the dynamic object will move along with the target object during animations.
Change the extension from .txt to .py
Can't pursue this now, but lurking with great interest.
tnx,
--ms
I was commenting in the other thread ... https://www.daz3d.com/forums/discussion/comment/5821716/#Comment_5821716 ...
I have downloaded your ( @TheMysteryIsThePoint ) Alembic exporter and loaded a couple of figures into Blender. I did so before I noticed that you are working on scripts to automatically apply textures so I went ahead and tried to apply them myself. However, I've hit a few snags, most importantly the mesh is showing in the render. See attached image - any advice welcome.
The tiled look on the geometry is due to incorrect normals, which I think he is working on fixing.
Fortunately, we have a workaround in the meantime, which I was able to verify myself.
1. Go to `Edit mode`
2. Select all vertices of the object that you want to fix
3. Click the following:
This will fix the normals for the selected vertices and fix the tiled look
That's correct. Blender has changed how Alembic import works a bit and I'm just getting a handle on it. You may have to go to the properties window's vertex tab, select Normals and turn autosmoothing off. I should have a fix in a day or two, I have to resolve some problems at the day job.
All good. Many thanks for your efforts. I'll give it a while so you can sort out the fix to the normals and the materials script. This combination might finally get me going in Blender.
Perhaps you could give some thought to the fact that geografts are a problem. I think Thomas avoided that problem by merging the geograft mesh with the figure mesh but the Alembic import appears to have the graft sitting on top of the original mesh wheras DAZ Studio removes the original (underlying) mesh.
Please explain in more detail, to someone who has not used geografts. I thought I tried it, and it worked fine, I just had to ignore certain surfaces. As far as I can tell, geografts are just more meshes, and Alembic doesn't have the more complex consideration of an armature to deal with.
I wish I could show you but the only geografts I have are body parts that the TOS wouldn't allow me to post an image of. @Padone could probably explain this better but as far as I can tell, a geograft is a mesh which replaces the original mesh on that part of the body. At least it replaces it in DAZ Studio but as soon and you try to export the figure with the geograft, Blender seems to see the original mesh AND the geograft and you get a figure with both showing. With your Alembic exporter, that results in the geograft looking like another piece of clothing which intersects with the orignal mesh and you get clipping.
Somehow, Thomas got around this problem by allowing for merging of the graft and the original mesh so the figure looks like a single mesh with the graft in place like it was sculpted that way from the outset. Here's the page where Thomas explains how he does it:
http://diffeomorphic.blogspot.com/p/finishing-section.html
As for ignoring surfaces - I don't know how to do that because the surface of the geograft only covers a portion of the original surface - such as the torso. I don't think it would work to ignore the torso.
If I remember correctly, it was solved by ignoring not the entire torso, but just certain surfaces of the torso. In edit mode, use the materials properties pane to figure out which surface to ignore by hitting the "Select" button. Then in the Alembic Exporter's "Ignore Objects/Surfaces" tab at the bottom, you'll have to expand one of the drop downs and ignore those surfaces.
So if I understand you right - you are saying that we need to export the figure including the geografts and, once in Blender, go into Edit mode and figure out which surface to ignore, then back to DAZ Studio, export Alembic again with the relevant surfaces ignored?
This comment is deliberately left blank
I suppose you could also figure it out with the Geometry Editor in Daz Studio, but yes that is exactly correct. Then save the configuration so you never have to figure it out again. If you re-export the same scene file, the exporter will number them for you, much like Blender numbers duplicate names.
You could manually merge; I've not tried but in theory it is straightforward if not very quick.
In Edit mode, with the figure's mesh selected, select the geometry that isn't required, delete it; then merge the geocraft item onto the figure and merge the connecting vertices.
@TheMysteryIsThePoint
If it may help as for geografts the diffeomorphic approach is to import them as is to allow for morphs, then to merge them once the morphs are imported fine. This is complex enough since there are also some cases of nesting geografts in parent child relationship. Plus geografts are often using multiple shells to blend materials.
As for shells the diffeomorphic approach is to translate them into an extra material layer. This is not entirely correct since in daz studio a shell does get its own geometry. But since shells are generally used to add an extra material layer this works fine enough and has the advantage of reducing unnecessary geometry complexity. This may very well conflict with shell geometry from an alembic importer though.
https://bitbucket.org/Diffeomorphic/import_daz/issues/38/better-geografts
https://bitbucket.org/Diffeomorphic/import_daz/issues/70/weird-geograft-issue