CREATE YOUR AI CUM SLUT ON CANDY.AI TRY FOR FREE
x

Unity Golden Palace G9 graft bone weights are lost after export from Daz to Unity?

wittyminx

Newbie
Aug 7, 2024
34
10
Back then easiest was to "Merge Fitted Figure(s) Goemetry".
Thanks! I actually didn't know about that. I'm new to Daz, have only used it for 3 months so far.
So, I tried merging, and this is what the figure becomes:
Merge.PNG

GP is pushed in. My guess is it's because the JCM of GP that adjusts for body proportion morphs in Genesis 9 doesn't get applied before the merge. So, Daz Studio itself produces an unusable merged figure...
 
Last edited:

wittyminx

Newbie
Aug 7, 2024
34
10
I finally understood the issue.

Apparently, the 2019 version of GP used weight maps to get the geometry of the graft follow movements of the legs. And that exported to Unity just fine.

BUT "Golden Palace for Genesis 9" uses JCMs instead of weight maps. That's why GP's weight maps for Thigh and Thigh Twist 1 are empty. I have to admit that the JCMs are more robust in following the various angles of the thigh. So, for Daz users, it's great. But JCMs don't get exported by the Unity bridge.

JCMs are hidden by default. To see them, right click the "Properties" pane, Preferences -> Show hidden properties.
Select GP node. It has hundreds of such hidden JCMs.

Here is what happens under the hood in Daz when you set the left thigh's Z angle to 90 degrees (fully wide open leg): the body_cbs_thigh_z90p_l JCM goes to 100% and the one just under it to 90%.

JCM_100.png

Now if you manually set it to 0%, you get exactly the error you see in Unity:
JCM_0.png

The 2 alternative solutions I'd try here are:

1. (already tried) copy the weight maps from the G9 figure to the GP - so, essentially restore how the 2019 GP worked. This exports to Unity fine! The only inconvenience was that Daz studio would apply both the weight map and the JCMs when you pose the figure in Daz (I do posing in Daz and then export poses as animations to Unity). In Unity everything ends up fine, it's just confusing/unpleasant in Daz to see the pussy stretched more than it actually will be. But maybe I can disable those JCMs entirely. The small downside with this approach is that the fine-tuning that Meipe did with his myriad of JCMs gets lost, as weight maps are less precise.

2. try out the Unity add-on that carries over the JCMs properly . Incidentally, that would also make the posed figures less distorted. My doubts here are that the addon is outdated (last update on Unity Asset Store was years ago, before G9 came out), and that JCMs are morphs after all, so they would come into Unity as meshes. Every mesh/morph has asset size, so I guess a pussy with hundreds of almost-similar meshes would become a heavy monster that gobbles up the universe.
 
Last edited:
  • Like
Reactions: joena

DayDreamDream

New Member
Aug 5, 2021
11
0
Good find of the JCM's. I'll have to test it at some point, the JCMS could be fairly heavy.

Had a quick look at Merge Fitted Figure(s) Geometry. It looks like other geometries lose there morphs if you use it unless you use daz 4.11 or earlier according to this post.

Also had a quick crack at importing daz 8 char to Character Creator. Importing as an accessory she dropped her pussy on the ground, but morph worked.
1732211480652.png

Import GP as pants, and it's i the right spot. Color is wrong though. Not sure how to bake the colours in.
1732211589247.png
 

wittyminx

Newbie
Aug 7, 2024
34
10
JCMS could be fairly heavy.
I purchased that addon (JCMfix) yesterday. Apparently, it only works with G3 and G8 figures, with all the JCMs hard-coded by name in a dictionary. So, it can't be used with G9 at all. However, I tried adding the JCMs from G9 there. And it still was useless. The instructions to the add-on aren't well written. The addon instructs you to export the figure with Unity's FBX exporter and then supposedly use the FBX file. However, material settings get all lost there, as well as the structure of the prefab that the DTU addon sets up (should I manually set up all materials?). The add-on assumes you only have 1 MeshRenderer, but with G9 there are 6 (including not just eyelashes but also the mouth, eyebrows, tear etc). So, I couldn't figure out where all those extra meshes should go.

Then I discovered a more basic problem: JCMs just don't get exported correctly. You get the blend shapes if you export a JCM as a morph. Yet it just has different results. E.g. for thigh twist z45, in Daz the body_cbs_thigh_z90p_l hidden morph in Daz would be set to 50%, together with several other morphs with names like BaseFeminine_body_cbs_thigh_z90p_l, depending on which figure proportions are set up). If you set up the same values for blend shapes in Unity, the correction of the skin is not enough. You have to set something like 75% to get it look like in Daz.

Then this morning I found out that, in G9, none of the JCMs are as simple as they were in G8! G8 just has pJCMThighSide_85_L. It's a single morph that's controlled by the z rotation of Left Thigh Bend bone. But in G9 the body_cbs_thigh_z90p_l is a combo of several morphs, which depend on BaseFemininity, ProportionSmaller and ProportionSmallerBO - some are added, some multiplied.

GP itself has a body_cbs_thigh_z90p_l morph that depends on other morphs. But I couldn't bring it up to the figure itself to be able to export it separately. By default, GP just transforms differently by that morph than the figure, and when legs get spread out, starts sticking out of the body. That looks ugly, unacceptable.

About 1.5 months ago I established that one can't export G9 figures to Unity with any of those morphs (Femininity, Proportions) because they change the scale of bones. Unity's rigging system doesn't allow runtime bone scaling, this breaks animations (because in Daz animations are based on rotations of joints while in Unity animations are imported as local positions of joints) and blend shapes (because they assume that bones have unchanging size). So, to have feminine and masculine figures, I exported figures without those morphs, but with the morphs applied in Daz. And that worked fine.

But now it seems that JCMs are forcing me to work with those morphs again and handle them in Unity somehow. I'm not sure yet but seems that G9 just can't be used with Unity if one wants to achieve any good looks with JCMs. Because the G9 JCMs are internally reliant on the body proportions which are represented by morphs and special, proportion-dependent JCMs. This all breaks in Unity because Unity's rigging and animation systems assume that bones are of fixed length. (if I understood all of this correctly anyway)

And just now I was checking G8, thinking of downgrading to G8... and.... it seems, that even the single pJCMThighSide_85_L still looks different after export to Unity. But at least it doesn't create issues with the GoldenPalace graft (which, in the old G8 2019 version, didn't have to have all those JCMs at all and simply used weight maps that work just fine, both in Daz and Unity).
 
Last edited:
  • Like
Reactions: joena

wittyminx

Newbie
Aug 7, 2024
34
10
Anyways, now I'm considering switching to older Genesis 8 figures and the 2019 GP version (and Dicktator, Futalicious, Roasty, Breastacular for G8F/M). Reason: most of G9 JCMs cannot be handled reliably in Unity because of their dependency on Femininity/Proportion morphs that change bone lengths (and that cannot be handled by Unity at runtime). This probably still can be solved but I'm not qualified enough to do it.

As for the solution to my original problem of GP not being stretched for spread legs, that's because GP for G9 uses JCMs instead of weight maps. If one can't properly export JCMs, the best workaround was: populate the weight map of GP's Left Thigh Twist 1 node to resemble how it worked in the 2019 version of GP. For that:
  • duplicate the G9 figure with GP on it
  • use transfer utility to copy the weight maps from figure 1 to GP(2) on the duplicated figure. This will overwrite all weight maps of GP(2) with the weight maps of the G9 figure. To do it: select the first figure, in the top menu Edit->Object->Transfer Utility. In the dialog, in "Source" select your first figure, in "Target" select GP on the figure's duplicate. Press "More..." button, in the list of checkboxes uncheck everything except "Weight Maps"
  • select Node Weight Brush
  • select Left Thigh Twist 1 node of GP(2), open Tool Setting pane, select General Weights map, right click, Copy Selected
  • select General Weights map on Left Thigh Twist 1 node of GP on the original figure, right click, Paste Selected (duplicating was needed because copying weight maps is only possible between objects with similar meshes, also you don't want to overwrite all weight maps on the original GP, only the General Weights map for Left Thigh Twist 1)
  • same with the Right Thigh Twist 1
  • select GP on the first figure, right click on the "Tool Setting" pane, Geometry Gelection -> Select All
  • select Left Thigh Twist 1 node in GP, right click on Tool Settings pane again, Weights Editing -> Attenuate Selected, type in 25%, OK. Same with Right Thigh Twist 1. This will make the pussy stretch a bit (but not too much) when legs get spread
  • now you can make the surrounding legs's skin stretch less aggressively when the legs are spread so that the polygons around the pussy wouldn't differ too much in width than other polygons around. For that, select the G9 figure, spread its legs (best to z90), select Left Thigh Twist 1 node, drag the mouse to select the polygons right next to GP (shift+drag will add polygons, Alt+drag remove from selection), select General Weights map, right click on "Tool Setting", Weight Editing, attenuate selected, type in 30%. Then select the second line of polygons further away from GP, attenuate to, say, 40%. And so on every next row up to 90%. You might edit some weights closer to the belly and the butt to get a more gradual weighting. Also the body's polygons that get covered by GP you can attenuate to 25% to match the GP's weights
 
Last edited:

wittyminx

Newbie
Aug 7, 2024
34
10
Interesting post It's Unreal engine (which gets slightly more support from Daz than Unity, and even a bunch of video tutorials from WPGuru), and it's G8 figures (not G9, where morphs change bone sizes). And still the guy writes that it took him "months" to get it all right. So much so that he's going to sell this as a service!
 
Last edited:
  • Like
Reactions: joena

caLTD

Member
Game Developer
Feb 4, 2018
202
180
Why not
Daz > blender diffeomorphic > Unity ?

Alos please check this information about exporting geografts with fbx



This was handy.

Also

If Unreal is possible I am happy to report that these and many other problems have been resolved definitively by DazToHue workflow.


If you want to work with Daz3d and get Export, don't forget this.

Daz hates exporters and deliberately breaks working solutions.
 

wittyminx

Newbie
Aug 7, 2024
34
10
Why not Daz > blender diffeomorphic > Unity ?
Thanks! I'm frankly scared of Blender but maybe will have a look eventually.

Alos please check this information about exporting geografts with fbx
Yep I figured that one out, no troubles with geoshells. https://f95zone.to/threads/geoshells-turn-into-unskinned-meshes-in-unity.225406

If Unreal is possible I am happy to report that these and many other problems have been resolved definitively by DazToHue workflow.
Guess I should have picked Unreal after all. Ironically, I started developing my game in Godot back in early 2024. Thought it could be a 2D game! But then the amount of sprites that would be needed just exploded (not even exponentially but more like combinatorically) so I had to switch either to Unity or Unreal for 3D. Godot-Daz bridge is essentially non-existent, so staying on Godot fell out of the picture pretty soon. I opted for Unity because I had worked with Unity for 12 years before. I also wanted to code in C# and not C++. Yeah, there is an addon for C# in Unreal, but...

Daz hates exporters and deliberately breaks working solutions.
They actually responded to some of my bug reports about the bridge, so they seem to have a dev team interested in getting that stuff to work after all. My explanation for the awful quality of some of their deliverables (e.g. severely lacking documentation) is just the usual corporate inefficiency. I don't have any insights into the company but afaik they were purchased at some point. Maybe the most talented programmers left? Besides, there is a reputational issue of all this porn being made with their software package that would demotivate investors or big guys to deal with them. I bet their management has a love-hate relationship with game devs like us. On one hand, we're essentially all they got and we're paying their salaries. But they'd want to have "proper" customers instead. Someone that they wouldn't have to hide from payment processors and nosy regulators/activists. It couldn't be any different I guess. In the end, we get what we get: poor workflows that break left and right, with a small guy in the bedroom having to exert heroic efforts to get his crappy game working and then satiate some niche with a shared kink...
 
Last edited:

3dsolutions

Newbie
Aug 23, 2024
26
10
Hi there!

Just a quick heads-up—if you check out my signature-linked thread, you’ll see that I’m a 3D artist available for hire. If you’re struggling to attach any kind of gens, regardless of generation or figure, to any base, feel free to reach out. I can help you get it done smoothly.

In the thread, you’ll find an example of a completed project using an Unreal Engine Metahuman. There are also examples showing how they’re functional in Character Creator and iClone for animation. The quality is on par with GP standards.

Best regards to all!
 

caLTD

Member
Game Developer
Feb 4, 2018
202
180
Thanks! I'm frankly scared of Blender but maybe will have a look eventually.


Yep I figured that one out, no troubles with geoshells. https://f95zone.to/threads/geoshells-turn-into-unskinned-meshes-in-unity.225406


Guess I should have picked Unreal after all. Ironically, I started developing my game in Godot back in early 2024. Thought it could be a 2D game! But then the amount of sprites that would be needed just exploded (not even exponentially but more l like combinatorically) so I had to switch either to Unity or Unreal for 3D. Godot-Daz bridge is essentially non-existent, so staying on Godot fell out of the picture pretty soon. I opted for Unity because I had worked with Unity for 12 years before. I also wanted to code in C# and not C++. Yeah, there is an addon for C# in Unreal, but...


They actually responded to some of my bug reports about the bridge, so they seem to have a dev team interested in getting that stuff to work after all. My explanation for the awful quality of some of their deliverables (e.g. severely lacking documentation) is just the usual corporate inefficiency. I don't have any insights into the company but afaik they were purchased at some point. Maybe the most talented programmers left? Besides, there is a reputational issue of all this porn being made with their software package that would demotivate investors or big guys to deal with them. I bet their management has a love-hate relationship with game devs like us. On one hand, we're essentially all they got and we're paying their salaries. But they'd want to have "proper" customers instead. Someone that they wouldn't have to hide from payment processors and nosy regulators/activists. It couldn't be any different I guess. In the end, we get what we get: poor workflows that break left and right, with a small guy in the bedroom having to exert heroic efforts to get his crappy game working and then satiate some niche with a shared kink...

Let me explain.
Daz first broke the export with geograft.
Then there was a plugin that solved this problem, an East Asian developer, bought it and removed it.
Much later, the DazToUnreal plugin came out for Unreal.
While I was about to buy that and make a mess, David continued to support his own plugin. Now the daz version is much worse than David's version.

My first attempt was with Unity. I made something that worked in 1.5 years, but I could never get the graphics to the level I wanted. I uploaded the assets I made to Unreal, since it looked better in the first step, I gave up on Unity and started again in Unreal.

During all this time, Daz created a different problem with each new version.

Don't be afraid of Blender, behind all its weirdness, there is an idea to educate you. After a while of using Blender, you will realize how difficult the interfaces of all other 3D software are.

Daz can't break the Diffeomorphic plugin, because what it actually does is open daz files directly in blender. I find it very successful. If you can transfer it to Unity from here, you can continue.

For Unity, I definitely recommend UmotionPro. It will make your job much easier when making animations.
 
  • Like
Reactions: wittyminx

caLTD

Member
Game Developer
Feb 4, 2018
202
180
As for Unreal.

The lack of C# is really felt. If you have a programming background and it is not C++, Blueprints is not an alternative. Although I have never used the C# programming language, I achieved what I wanted in a year. (Of course, I was working at a real job at the time).

Don't get me wrong, you can do everything with the blueprint system. However, if you have a solid programming background, it is difficult to get used to doing this instead of coding.

But there is also this, if you start with C++ from the beginning, you can improve yourself more easily. Blueprints is still aimed at game makers other than programmers.

And now there is chatcpt and there is also information about unreal C++.


And let me state this

If you are after realistic 3d games, you have no choice but Unreal. Unity has spread itself too much and is not an alternative to Unreal for Realistic 3d.

If you have a computer that can run Unreal, a spare $120 or so, and can somehow install or buy (ahem) Houdini software on your computer.

The solution is ready. Maybe not as simple as windows setup and as I said, it is ready.
 

wittyminx

Newbie
Aug 7, 2024
34
10
The lack of C# is really felt. If you have a programming background and it is not C++
I learned C++ back in the 2000s and worked with it for a few years, also in the games industry (was VS6 back then, then 2003 and MFC, even SDL which was considered the best cross-platform until Unity came along and revolutionized it all). After all the years with Unity, kinda don't want to mess around with smart pointers and const references to STL vectors... If those are still around anyway. I dunno. Tbh I'm surprised C++ is still going. But for performance-critical stuff, if you're on a AAA game, I guess it still matters.

Will check out the rest! Thanks for the links.
 

caLTD

Member
Game Developer
Feb 4, 2018
202
180
I learned C++ back in the 2000s and worked with it for a few years, also in the games industry (was VS6 back then, then 2003 and MFC, even SDL which was considered the best cross-platform until Unity came along and revolutionized it all). After all the years with Unity, kinda don't want to mess around with smart pointers and const references to STL vectors... If those are still around anyway. I dunno. Tbh I'm surprised C++ is still going. But for performance-critical stuff, if you're on a AAA game, I guess it still matters.

Will check out the rest! Thanks for the links.

I am not very knowledgeable about this.
I come from the self-taught web programmer school.

While complaining on a forum why there is no C#, I cannot learn blueprint after this age. A more experienced person said that Unreal C++ is not much harder than C#. Many things are handled by the framework.

And as for the JCM issue, DazToHue solved these completely and now they started to test quad mesh instead of trigon mesh. To remove JCM count for performance.

Please check this documentation. You will like it

 

wittyminx

Newbie
Aug 7, 2024
34
10
Can't open the link. Do you have the invite link to the Discord server?

Just a general question: why are we using Daz at all, if they keep intentionally breaking the bridges?
My impression was that it's because both neither Unity Asset Store nor Unreal Marketplace allow NSFW content, for reputation/compliance reasons. Had they had NSFW stuff, I'd never consider using Daz. I'd just take the myriads of character models from the native store of the engine, slap the genitals on them and use stock animations as much as possible. But the only store that seems to be available is Renderotica, and most of its content is for Daz. So, business conditions of the stores create all these technical hassles.

Is my impression correct?
 

caLTD

Member
Game Developer
Feb 4, 2018
202
180
Can't open the link. Do you have the invite link to the Discord server?

Just a general question: why are we using Daz at all, if they keep intentionally breaking the bridges?
My impression was that it's because both neither Unity Asset Store nor Unreal Marketplace allow NSFW content, for reputation/compliance reasons. Had they had NSFW stuff, I'd never consider using Daz. I'd just take the myriads of character models from the native store of the engine, slap the genitals on them and use stock animations as much as possible. But the only store that seems to be available is Renderotica, and most of its content is for Daz. So, business conditions of the stores create all these technical hassles.

Is my impression correct?
Please try this



and this is his tutorial channel.

mrpdean



It is very difficult to attach reproductive organs to other characters. I tried it in the past, you must be very prone to producing 3D characters. You should apply it one by one for each character.

The only solution that produces 3D characters from a formula and can add or remove organs is Daz Genesis.

If it were that easy, there is Unreal Meta Humans. We could have seen a solution by now, it can be both native and better and better scaled.

Daz can do whatever she wants because she knows she is the only one in the industry.
 
  • Like
Reactions: wittyminx

AlternateDreams

I'm tired, boss.
Game Developer
Apr 6, 2021
174
396
Just a general question: why are we using Daz at all, if they keep intentionally breaking the bridges?
Personally, I use it because there's no real alternative. At least, no simple alternative.
There's CC4, but I don't feel it's up to the level of DAZ for porn.
I also found other "character creators" back in the day, but they clearly weren't on the same level.

You can also attach gens to existing models. But the result is generally rather average (seams) and it takes time.

You can also make your own models, but this is clearly time-consuming.
Personally, I don't have the time to do that when I've already 200 other things to do on the project.

There's also a big advantage to DAZ that we shouldn't forget, which is that you have a unified editor that generates characters with clothes, morphs etc. that work more or less on all models, which is a huge advantage.
It also means that your code and animations are the same for all characters, which wouldn't necessarily be the case if you were using "cobbled-together" models (for example, if your code controls expressions or deformations via morphs/bones, you know that it will work automatically on new characters, so you don't need to recreate morphs manually for each new character mesh)

But the only store that seems to be available is Renderotica, and most of its content is for Daz.
Unfortunately, this site is almost useless if you're making a game using Unity / Unreal Engine etc., as you need a special license to use the assets in real time.
So unless you're just rendering, you can only buy assets that have this license, and there are very few on Renderotica.
 

wittyminx

Newbie
Aug 7, 2024
34
10
After having scrolled thru the channels there, it became obvious to me that I have to switch to Unreal :)
At least I only have been working on this project in Unity for 3.5 months so far. So, it's not that big of a loss, given that I expect to release in 2-3 years at the earliest. Maybe I'll be able to carry over the C# code to the Unreal's addon for C#.
Thanks!
 

wittyminx

Newbie
Aug 7, 2024
34
10
Unfortunately, this site is almost useless if you're making a game using Unity / Unreal Engine etc., as you need a special license to use the assets in real time.
Yep... At least the critical Meipe's addons all have the separate "extended licenses" sold.

Thanks for the write-up of other Daz advantages.
 

joena

New Member
Jun 12, 2024
13
14
The unreal blueprint system is great to fast iterate on ideas and get a feel for the gameplay loop and how it plays.
Then once it "feels good" you can go into the code and recreate/optimize it if necessary.
Specially the ability to disconnect and reconnect parts of the logic is less cumbersome than to do it in code.
I also find leaving unused logic around easier as it doesn't distract as much. In code with it's linearity of document flow from top to bottom the more uncommented stuff you leave in the more scrolling and less easy to follow it can become.
In blueprint you can just make a box, label it and put it aside somewhere. The ability to abstract away complexity into "boxes" makes playing around much easier.
 
  • Like
Reactions: caLTD and wittyminx