• Welcome to the Community Forums at HiveWire 3D! Please note that the user name you choose for our forum will be displayed to the public. Our store was closed as January 4, 2021. You can find HiveWire 3D and Lisa's Botanicals products, as well as many of our Contributing Artists, at Renderosity. This thread lists where many are now selling their products. Renderosity is generously putting products which were purchased at HiveWire 3D and are now sold at their store into customer accounts by gifting them. This is not an overnight process so please be patient, if you have already emailed them about this. If you have NOT emailed them, please see the 2nd post in this thread for instructions on what you need to do

Converting Between Poser and DAZ Studio

RAMWolff

Wolff Playing with Beez!
Contributing Artist
Not sure if Ken got around to explaining about D-Formers, they are like Poser's magnets system. Pure and simple!

So question about a few things.

I made a simple vest for L'Homme to do promo's with. Well it works wonderfully if I don't pose him but when I pose him it gets a bit crunchy around the arm holes and around the neck. I tried weight mapping edits but while that helped it wasn't the pure solution. I made a few "fix morphs" but that's just too fidgety. I guess I need to bide my time for the Unimesh code to become a reality, don't seem to have these issues in DS when I was making stuff for Genesis.

Also *unreal* you mentioned some scripts you wrote for mirroring JCM's across? Seems interesting. Also my other niggle for right now is that there is an option to mirror weight maps across, didn't seem to do that when I tried it. I know the mesh is equal on either side since I made half a vest and mirror and welded in ZBrush to the other side so yea, it's a very equalized mesh! So not sure what mirroring Weight maps is about but as I stated, didn't work.
 

Ken1171

Esteemed
Contributing Artist
I made a simple vest for L'Homme to do promo's with. Well it works wonderfully if I don't pose him but when I pose him it gets a bit crunchy around the arm holes and around the neck. I tried weight mapping edits but while that helped it wasn't the pure solution. I made a few "fix morphs" but that's just too fidgety. I guess I need to bide my time for the Unimesh code to become a reality, don't seem to have these issues in DS when I was making stuff for Genesis.

This sounds like a typical case of smoothing out the weight maps. Don't forget about the bulge maps as well. Those are directional, so we have to check if we are bending the joint in a positive or negative direction, and edit the corresponding bulge maps. All that assuming the distortions weren't caused by JCMs, since some figures have a ton of those, which is a whole different science (morphs, not weights).

Also my other niggle for right now is that there is an option to mirror weight maps across, didn't seem to do that when I tried it. I know the mesh is equal on either side since I made half a vest and mirror and welded in ZBrush to the other side so yea, it's a very equalized mesh! So not sure what mirroring Weight maps is about but as I stated, didn't work.

Poser can mirror joints and weights to the other side. I usually edit the left, and then mirror it to the right side. When adjusting weight maps and the mesh is symmetric, this can save you half the work. The option is available from the Joint Editor (weights symmetry) and also from the Morph Tool (morphs symmetry). You can also copy symmetry from the main menu Figure -> Rig Symmetry, which is more generic. Not to confuse it with Figure -> Pose Symmetry, which only affects poses and not weights.
 

unreal

Awesome
That would be nice. I would like to see it done with API primitives. That is, an overall figure "figure.morph.reverse(new=true, name=auto)" would call the relevant actor.morph methods needed to achieve that result. The option is to reverse the exiting or create a new reverse of existing, with intelligent name (left substituted for right). And it creates the same morph setup. ie: if it's a master parm with slaved morphs, then that's the way it sets up the mirror.

It's easier (obviously) with unimesh. Maybe they should wait for that? That will simplify so many things and it's really the future.


Lots of symmetry stuff would make things easy. For instance, grouping. imagine, selecting groups then remove *all* faces on other side, in case you've snagged other side faces. One click to have only faces on one side. Then one click to "add mirror faces". Now you have them all. Super for selecting faces on an axial part. Or select, then "remove all other side", then replace with mirror faces. now you have the other pinky1. You could select a group, then replace the selection with the mirrored faces and create a new group. In two clicks.

And if that's in the API, you can select and group one side of a figure and tell it to expand the groups to the whole figure. It adds the mirrored faces to the axial parts and creates new groups for non-axial parts. You can wire buttons to some logic combined with API primitives.

For the morph tool, it would be nice if when you have the filter (limit to vert group or material) if it made the non filtered meshes user defined semi-transparent, and non selectable. How many times are you trying to move a vert/face from inside the figure? Especially at shoulders and hips for bulge maps and JCMs.

==>. I think a lot of what would help is just TUNING the things that Poser can already do, to make it easier to do things.

Back to other track, Poser could just use the DQS in Blender, for that "feature" rather than mess with anything that DS does. And I would not put that as high priority. If someone wants to do something where DQS is an advantage, they're probably not doing something where Poser is the better tool, anyway :)

A better thing would be for Poser compatible "triax" LBS to be an option in Blender. After all, that would benefit DS as well. Imagine all 3 being able to use the same figure without conversion.

Blender is a lot more valuable as a compatibility than DS. As you (and others) have pointed out, DS doesn't bring much to the Poser table. There's the G4-8 figures but that's it. And they actually require special features just to make them work. IDS has a newer cloth sim but that's all it is. newer. And there are better cloth sims than what DS has.
 

unreal

Awesome
Not sure if Ken got around to explaining about D-Formers, they are like Poser's magnets system. Pure and simple!

So question about a few things.

I made a simple vest for L'Homme to do promo's with. Well it works wonderfully if I don't pose him but when I pose him it gets a bit crunchy around the arm holes and around the neck. I tried weight mapping edits but while that helped it wasn't the pure solution. I made a few "fix morphs" but that's just too fidgety. I guess I need to bide my time for the Unimesh code to become a reality, don't seem to have these issues in DS when I was making stuff for Genesis.

Also *unreal* you mentioned some scripts you wrote for mirroring JCM's across? Seems interesting. Also my other niggle for right now is that there is an option to mirror weight maps across, didn't seem to do that when I tried it. I know the mesh is equal on either side since I made half a vest and mirror and welded in ZBrush to the other side so yea, it's a very equalized mesh! So not sure what mirroring Weight maps is about but as I stated, didn't work.
Ah, right. makes sense. Magnets was always a weird name. d-formers isn't any more or less weird:D

Are they the same as Poser? I always wish there was more control of them.

But they're really good and quick for some things. I used a set of them when I made a set of "real eyes" for star. The problem is that her eyes aren't spheres. But the "real eyes" have an iris and pupil. But the eye is a flattened ellipse. So I attached two magnets to her eye rig that would create a field to distort the new eye spheres into the correctly oriented flat ellipse to match her head, no matter what direction the eyes were rotated. I was surprised it worked. This had to do with using (originally) lux render, which expects solid eyes, which star did not have. Works nicely for supefly, of course. Same reason.

RamWolff, I found the same thing. It seemed more like "add mirror values to what's there" rather than replace with mirror. I even tried doing that, then subtracting the original, but that didn't work either. There was no weight diff method.

The script is pretty simple. It makes a dict of verts keyed on (x,y,z) where x>0 and a dict where x<0 (also a dict where x=0). For each vert in one x!=0 dict, there should be a corresponding mirrored -x,y,z vert. The dict entry contains an array of original actor.index verts. This gives me a map between each index and the mirror index. You can do various tests on the 2 dicts for quickly saying not symmetric. Entries are arrays of vert indices since doing this across multiple actors, the same vert (welds) will show up in multiple actors. You can do various very easy and quick tests on the dict and entires to show asymmetry before screwing things up :D

There's no GUI for the script. And I'm not sure where it is, but I think I kept such things in git on a server somewhere :)

On thing I found.... For La Femme I actually remade a "donor" rig where I used envelope controls (sphere's and capsules) that almost exactly duplicated La Femmes weight maps. This was important at shoulder and hips. What I found is that they transfer much better to another mesh. Way smoother since they're effectively "infinite" resolution. After the transfer, in the new object, I replace them with weight maps and tune as needed. i did this after going through exactly what you describe, more than once. I took this path because I ended up going back and having to re-work my mesh, which means the weight maps are no longer any good. But the geometric things are just as good, regardless of adding a new vert into the mix. Smooth.

I "did the math" and found that a really good set of envelope controls, which took quite a while to do, but only had to be done once, produced transfers that took way less time to tune, after transfer that the WMs. Even for the HR rig.

Note: This is only true in the few complex joints (shoulder and hip). And especially when the target mesh was much finer and had "stacked" verts (like the thickness of a sleeve with a cuff opening). The transfer did not handle close verst at different depths well at all. A few times of "back to square 1" had me create the better (for my purposes) rigs.

And after asking question about the algorithm that Poser uses to calculate transferred weights, and being told that WMs are always better (no. They're not. "Always" is like "impossible". no such thing in computers. Except your computer will always fail during a critical demo.) I gave up and just went with what took less work (at the cost of one-off coding). I even tried wicked HR donor meshes. Still wasn't as good as well done envelopes. Like Ken mentioned earlier, they're dynamic. dynamic is good (in this case) :)

This also made me realize that for clothing development rigs, vert movement is very different when a cloth item ends near a joint. Versus body-stocking, like the dev rig. (the cloth slides rather than stretches). Moreover, trying to make a body stocking VM transfer good for that is more work than doing it from scratch. Because it's really a combination of JCMs, 3 axis, and their bump maps. So when the vert is moving weird, which map should you fix? And when you do, what else are you screwing up? uhg. I started to really hate La Femme about then.

I don't know how Dawn 2 will go. Certainly the D2 devs have heaps of experience. If I find myself making anything similar (donor cloth rig) then I'll release them gratis :)
 

Ken1171

Esteemed
Contributing Artist
Ah, right. makes sense. Magnets was always a weird name. d-formers isn't any more or less weird:D
Are they the same as Poser? I always wish there was more control of them.

Yes, DS D-formers are identical to magnets in Poser. Except that in every attempt I made to use them in DS, they always ended up misbehaving. I asked around for what was going on, and was told this has never worked correctly in DS. I don't know if things got any better more recently, but that's what I was dealing with last time I tried.

I have worked closely with the Poser dev team at Bondware, and it is now possible to mirror magnets weight maps in Python. I am working on a new script to automate working with magnets, to include handling symmetry for mags with weight maps, which is not possible with Netherwork's Magnet Toy. My upcoming tool will also do something not even Poser can do with magnets - add/remove actors from the list of affected actors using a tree view with checkboxes! I always wanted to be able to do that, but Poser didn't allow it (and still doesn't). Thanks to this collaboration with the Poser dev team, now my script can do that! ^____^

The magnets tool will allow for some serious automations, like we deform things on one side of a figure, and either auto-create a symmetry mag on the other side, or instead, copy the values from one side to existing mags on the other side. This includes magnet weight maps, which was never possible before, and not even Poser can do this on its own. This is the bleeding edge of new tech I will be bringing to Poser with this new script for magnets automations.

I don't know how Dawn 2 will go. Certainly the D2 devs have heaps of experience.

The new Dawn2 figure design was the result of extensive participation from the community and vendors. It has greatly improved over 7 years of experience with the original Dawn, fixing and improving the new figure from ground up. Even her fingernails and toenails are now double-sided for better texturing, and detached for better morphing. She has a new geometry, new skeleton, new UV maps, new grouping, new mesh topology, and a new default shape. Nothing was left untouched. Thanks to her new skeleton and improved topology and grouping, she poses well even without JCMs, which is [really] rare nowadays. The experts claims JCMs should be few and do little, and that's exactly what I have found in Dawn2, which is great for content creators. ^___^
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
Be nice if the transfer "Fitting" system were improved with these sphere's and capsules for most supported figures like the HiveWire 3D and LaF and LH especially if it's going to create a better, smoother and more elegant transfer with little clean up!
 

unreal

Awesome
Fewer JCMs would be awesome. Good flow in the mesh would really be helpful.

That's the thing. A lot more effort up front saves heaps of effort for every single user and content creator, down the road. :)

The magnet script would be very nice. It's always tedious to create mirror magnets. For weight maps there's only scripting to do it.


Speaking of which, Poser's tree view really needs some tweaking. Like remembering stare :)
 

Ken1171

Esteemed
Contributing Artist
Be nice if the transfer "Fitting" system were improved with these sphere's and capsules for most supported figures like the HiveWire 3D and LaF and LH especially if it's going to create a better, smoother and more elegant transfer with little clean up!

I like that idea. Maybe I could do this with Python, not sure. Although legacy rigging transfers better to clothing, it has little control over ball joints, such as shoulders and thighs, so those areas will need weight maps to pose properly. The legacy spheres could be used as a starting point. I have thought of that many times in the past. I might give that a try when I find some free time. ;)

The magnet script would be very nice. It's always tedious to create mirror magnets. For weight maps there's only scripting to do it.

I have a working version now, and it has a similar interface to the Magnet Toy, but can do new things that were not available in Poser 11, as mentioned above. If you know how to use the Magnet Toy, this new script should look familiar. :)
 

unreal

Awesome
I like that idea. Maybe I could do this with Python, not sure. Although legacy rigging transfers better to clothing, it has little control over ball joints, such as shoulders and thighs, so those areas will need weight maps to pose properly. The legacy spheres could be used as a starting point. I have thought of that many times in the past. I might give that a try when I find some free time. ;)



I have a working version now, and it has a similar interface to the Magnet Toy, but can do new things that were not available in Poser 11, as mentioned above. If you know how to use the Magnet Toy, this new script should look familiar. :)
Are you planning to release around time of Dawn2's unveiling? Hope so! Anything that helps content creators helps everyone.

I'm betting with myself which will happen first: Dawn 2 or Sydney out of "lockdown". A few weeks ago, I was sure it would be Dawn2. But Sydney has really stepped up its game :)
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
This sounds like a typical case of smoothing out the weight maps. Don't forget about the bulge maps as well. Those are directional, so we have to check if we are bending the joint in a positive or negative direction, and edit the corresponding bulge maps. All that assuming the distortions weren't caused by JCMs, since some figures have a ton of those, which is a whole different science (morphs, not weights).
I redid the vest and added in a double line of edge loops around the parameter of the arm holes neck and bottom and reduced the poly count by 3/4'ths and now it's behaving correctly. Still needs some more smoothing out here and there but it's now useable without feeling like I'm going to be chasing down areas that need WM smoothing or JCM's to correct areas around the arm and neck!
 

unreal

Awesome
Sydney, the city. We're in lockdown. Expected to start loosening (for vaxed people) at 70% double-jab. Which was projected to be Oct 18. Vaccine uptake has been better than expected, projections now at Oct 11. So the question is will Dawn2 be released by then? Even Oct 18 is an aggressive delivery date. But Oct 11? Insane. There's just the one Paul :)
 

unreal

Awesome
I redid the vest and added in a double line of edge loops around the parameter of the arm holes neck and bottom and reduced the poly count by 3/4'ths and now it's behaving correctly. Still needs some more smoothing out here and there but it's now useable without feeling like I'm going to be chasing down areas that need WM smoothing or JCM's to correct areas around the arm and neck!
I found that as well. In fact, I found that if I had a few edge loops, closer to an opening, the control over the movement at the opening was better. I would think something like this is obvious to experienced riggers.

Would that there was a collection of "the lore of rigging".

Kind of like I wish there was a "lore of shader nodes" with the wisdom of the shader gurus. As it is, it's all scattered over decades of threads in dozens of forums, most of which don't even exist any more.

Although, sometimes it's fun to find an archive of a forum, see the same folks having conversations, and realize what has and hasn't changed since then. More and less that you'd hope :D
 

Ken1171

Esteemed
Contributing Artist
Are you planning to release around time of Dawn2's unveiling? Hope so! Anything that helps content creators helps everyone.

I'm betting with myself which will happen first: Dawn 2 or Sydney out of "lockdown". A few weeks ago, I was sure it would be Dawn2. But Sydney has really stepped up its game :)

I am just adding the final details, like support for high-DPI pixel scaling in 4K displays, quality of live improvements. Once I do the testing, write the manual, and make the store promos, it should be ready for release. If everything goes smoothly, it should be way before Dawn2 is out. ^^
 

unreal

Awesome
I am just adding the final details, like support for high-DPI pixel scaling in 4K displays, quality of live improvements. Once I do the testing, write the manual, and make the store promos, it should be ready for release. If everything goes smoothly, it should be way before Dawn2 is out. ^^
Dude, don't jinx it!

Maybe: "it will hopefully be released sometime around the release of Dawn 4 or 5"
 

Ken1171

Esteemed
Contributing Artist
Dude, don't jinx it!

Maybe: "it will hopefully be released sometime around the release of Dawn 4 or 5"

Haha good point! I am finishing up some new features for "MAT Edit" for Poser 12, where all existing owners will get it for free. It uses some new features only available in the next Poser 12 public release, so I will have to wait until that gets out to the public before I can submit this update to the store. It includes some new features and improvements, more details HERE.
 

unreal

Awesome
Nice! Now you're tuning for real workflows. That's always the fun part. People are using it and it's about "you know what would make this perfect? X." Then you go off and code X. Or, with poser, you ask the team to provide feature Y, which X depends on. Everyone wins!

I've always wondered why Poser doesn't have the ability to define mats then link actor mat to that same mat. At east, in the GUI, As far as I know, you can do that in the Poser file, right?
 

Ken1171

Esteemed
Contributing Artist
Nice! Now you're tuning for real workflows. That's always the fun part. People are using it and it's about "you know what would make this perfect? X." Then you go off and code X. Or, with poser, you ask the team to provide feature Y, which X depends on. Everyone wins!

Pretty much. I've got to a point where I need new Python commands to be able to get where I need to be with these scripts. The Bondware dev team has been helpful, and sometimes really fast. Some other times not so cooperative or fast, but it's moving forward. My upcoming magnets tool is breaking new grounds in Poser that were never possible before, even in 3rd party scripts. I am taking Netherworks "Magnet Toy" for comparison, where some things couldn't be done because Poser wasn't capable of at the time. But now it is, and my tool is doing things with magnets that not even Poser 12 can do (yet). I am so happy (and proud) to be the first one to get it done. ^____^

I've always wondered why Poser doesn't have the ability to define mats then link actor mat to that same mat. At east, in the GUI, As far as I know, you can do that in the Poser file, right?

Poser allows copying a single MAT zone and pasting it over another one. The problem is that it's still a 1-thing at a time, and if we only want to copy and paste the root node values, we can't - it's either all or nothing. Poser 12 has introduced the ability of copying 1 MAT zone over several others, but ONLY if loaded directly from the library. We cannot edit a material, and THEN paste it over others - which is what we usually do in real life.

Those were the things that pushed me to create MAT Edit. One thing at a time is just too tedious and frustrating. That's what Python is good for - automation. It's such a pleasure to make those things look easy, fast and quick with scripts. As usual, I make these tools for myself, and I am happy others find them useful. When we make things for ourselves, they have a clear purpose, and a problem to solve. I believe that's part of what makes these tools successful - they are task-oriented. They solve real problems.
 
Top