New_Gens_For_Victoria_8 morph export help

RoedSaftevand

New Member
Feb 24, 2020
2
0
newGen.png
As seen in the image there are some morphs that i am interested in exporting for use in unity. However, also as seen in the export section, they dont show up as an option to export. Using merge fitted figure in daz does not work for me. Im using daz 4.12 pro and standard g8 model.

I am currently hunting for morphs to 'open' genitalia, because some DO show up as an option to export - i guessing those who are 'assigned' to the 'base figure'

Any help is appreciated.

Edit: nvm figured it out
 
Last edited:

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
I have the same issues. Using Gen 8 and Golden Palace. Lots of how to availible on the internet but most are outdated. Would love a step by step guide on how to get the morphs exported to unity.

Here is how far I've come.

Add Gen 8 to scene
Add Golden Palace, materials, Shelly, shell fix etc.
Set render to 0 and resolution to base in parameters
Select Gen 8 and Golden Palace the select geometry tool and in tool settings window select merge geometry.

At this point I'm lost. Exporting to fbx shows the morphs in the list but when importing to unity the blendshapes are missing. I can only guess that I have to somehow transfer the morphs from golden palace to the Gen 8 figure.

Merging geometry gives a cookie cutter stamp of the golden palace geograph on the Gen 8 figure and you have to remove Golden palace before exporting because it will not fit to the Gen 8 shape in Unity.

Then there is also the material not exporting correctly. However I've worked around this by fixing the material using Blender and then exporting to fbx.

Have tried the Daz to unity bridge but same issue, morphs show in list but does not show after import.
 

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
Update.

One step closer. Using the transfer tool with source as Golden Palace and target as Genesis 8 then under morphs in the advanced settings I set the dropdown to all. This tranfers all the morphs to G8 however some morphs work fine but others distort the whole base.
 

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
Ok so after days of searching I finally got the Golden Palace morphs to work in Unity.

None of the DAZ methods worked for me. Exporting to Blender was the solution.

First load your G8 model then the normal steps to load GP, you can include the shell not sure if this made a difference. Save your scene.

Now in Blender install the Diffeomorphic plugin. The website has instructions on how to do this. I used version 16.2
You have to setup the plugin with the correct paths to the daz libraries.
Load your scene using the plugin.

Once loaded select the G8 rig as well as the Eyes and GP. Click the merge rigs button on the plugin. This will correct the bones so you can use the model as a humanoid rig in Unity.

Now select G8 mesh, eyes and GP mesh. There is a button to merge the geografts, like you have in Daz.

Under morphs, click the load custom morphs button and browse to the directory where the GP morphs are located. You can shift click to select all of them. Your morphs should show under shape keys.

Finally export your model to fbx and you can then load it in Unity.

I was using Daz 4.21 and Blender 3.3.1
 
Last edited:
  • Like
Reactions: osanaiko

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
I have found a few issues with this method.

The blend shapes is affecting the character sightly. As per the below image you can see the before and after effect when a blend shape is applied. There is slight morphing of the mouth and ears, but most noticeable on the iris.

Also, the eyelashes are missing.


1672639471941.png

1672639529865.png

Possibly something to do with the eyelashes geograft. Will dig a bit deeper.
 

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
I have found a few issues with this method.

The blend shapes is affecting the character sightly. As per the below image you can see the before and after effect when a blend shape is applied. There is slight morphing of the mouth and ears, but most noticeable on the iris.

Also, the eyelashes are missing.


View attachment 2280041

View attachment 2280042

Possibly something to do with the eyelashes geograft. Will dig a bit deeper.
Solved the issue. You have to check "Legacy Blend Shapes Normals" when importing the FBX in unity.

1672671959095.png
 

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
Ok so the last little issue I'm struggling with is the morphs of the GF. GP morphs work fine, but the GF morphs only seem to affect the mesh. This is probably why the GP morphs are working fine because they affect the mesh and not the bones.

The GF morphs can affect both. Simple morphs like Jaw Open affect the mesh only after import/export.

If anyone has a idea how to fix this it would be very helpful?
 

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
So from my limited understanding of morphs and allot of internet time I was able to come the following explanation. However I cloud not confirm this as a definitive answer to the problem as some of the articles and posts date back almost 5 years.

Turns out my original suspicion might be correct. Some morphs use bones, and they are called drivers. Unity I understand cannot import morphs that use drivers, only morphs that morph the mesh.

In order to use the morphs in Unity you have to "drive" the bones in combination with the blendshapes through C# code to get the same effect as morph in Blender/Daz.

Anyone with more experience that can confirm this?

It's kind of hard to believe that Unity cannot use drivers?
 

karbofos22

Newbie
Jul 14, 2017
38
15
Ok so after days of searching I finally got the Golden Palace morphs to work in Unity.

None of the DAZ methods worked for me. Exporting to Blender was the solution.

First load your G8 model then the normal steps to load GP, you can include the shell not sure if this made a difference. Save your scene.

Now in Blender install the Diffeomorphic plugin. The website has instructions on how to do this. I used version 16.2
You have to setup the plugin with the correct paths to the daz libraries.
Load your scene using the plugin.

Once loaded select the G8 rig as well as the Eyes and GP. Click the merge rigs button on the plugin. This will correct the bones so you can use the model as a humanoid rig in Unity.

Now select G8 mesh, eyes and GP mesh. There is a button to merge the geografts, like you have in Daz.

Under morphs, click the load custom morphs button and browse to the directory where the GP morphs are located. You can shift click to select all of them. Your morphs should show under shape keys.

Finally export your model to fbx and you can then load it in Unity.

I was using Daz 4.21 and Blender 3.3.1
Hello!
Cant get it done.
Imported G8 with GP to blender, selected Genesis 8 female and Golden Palace Gens.001 armatures(rigs) => merge rigs(no checkbox selected in menu) = received one rig called Golden Palace Gens.001
Selected Genesis 8 female mesh and GP gens mesh => merge geografts(no checkbox selected in menu) = received one mesh called Genesis 8 female mesh
Select all => import custom morphs.... and Shape Keys is empty.
What i did wrong?
 

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
Hi karbofos22.

I must admit. Not a easy process, and just having text steps does not fill the gaps. I think a video would explain it better will try and publish one. To get you going. Basically, you have followed the order of the menu. I don't have it open now, but try to follow the steps from top to bottom. It's also important that you select the mesh when you start importing. Eg. Don't select the G8 model mesh when doing custom imports, but have the GP mesh selected. Play around with the order, I think I might have reversed it a bit in my original post.
 

Synx

Member
Jul 30, 2018
488
469
So from my limited understanding of morphs and allot of internet time I was able to come the following explanation. However I cloud not confirm this as a definitive answer to the problem as some of the articles and posts date back almost 5 years.

Turns out my original suspicion might be correct. Some morphs use bones, and they are called drivers. Unity I understand cannot import morphs that use drivers, only morphs that morph the mesh.

In order to use the morphs in Unity you have to "drive" the bones in combination with the blendshapes through C# code to get the same effect as morph in Blender/Daz.

Anyone with more experience that can confirm this?

It's kind of hard to believe that Unity cannot use drivers?
Drivers is just a way to automate correction morphs when a bone move. Some parts looks off when certain bones are bent in a way (often around the knee, elbow, crotch area), and corrective morphs fix that. You link the morph to a specific bone and a rotation direction, and when that bone rotates the morph gets applied (in a parabolic fashion).

If unity doesn't support drivers you can just remove the drivers. The morphs are still there, you just got to apply them manually.
 

karbofos22

Newbie
Jul 14, 2017
38
15
Hi karbofos22.

I must admit. Not a easy process, and just having text steps does not fill the gaps. I think a video would explain it better will try and publish one. To get you going. Basically, you have followed the order of the menu. I don't have it open now, but try to follow the steps from top to bottom. It's also important that you select the mesh when you start importing. Eg. Don't select the G8 model mesh when doing custom imports, but have the GP mesh selected. Play around with the order, I think I might have reversed it a bit in my original post.
Hello!
yep, i manage to do it. The thing was that morphs should be added before geografts merge. The result is slightly better than daz to unity bridge, because there is no exported blend shapes doubles at each model part(increase boob size at hair, for exapmple). But i cannot properly bake materials to single texture to honestly say that this method is better than daz-unity bridge(because through bridge i get bunch of materials for every model part and its not good for draw calls)
 
Last edited:
  • Like
Reactions: Purefun

Purefun

Newbie
Game Developer
Dec 17, 2022
41
32
Drivers is just a way to automate correction morphs when a bone move. Some parts looks off when certain bones are bent in a way (often around the knee, elbow, crotch area), and corrective morphs fix that. You link the morph to a specific bone and a rotation direction, and when that bone rotates the morph gets applied (in a parabolic fashion).

If unity doesn't support drivers you can just remove the drivers. The morphs are still there, you just got to apply them manually.
Thanks for the explanation. Gives a better understanding about what drivers do, in DAZ.

My question is still if Unity supports this or I'm doing something wrong? Below you can see the before and after shots of the eye look right morph beeing applied in unity. The mesh moves but the bone does not move with, and the eye does not rotate. Notice the mesh lifting.

No morph applied:

defaulteye.png

Morph applied:

rightmoved.png
 

Synx

Member
Jul 30, 2018
488
469
I don't really know anything about unity so I can't help you with that specific.

But in general drivers can be anything. What I said before was a specific usage of it, and what you were talking about. Drivers are nothing more then a way to automate multiple actions at once. It's most common use is to apply a morph when a bone move automatically, but you can do anything with it really.

Unity has most likely something with the same functionality as drivers. I would be surprised if it doesn't since its a very basic feature.

The issue is prob more on the DAZ side of things. DAZ does a lot in weird ways which make it hard to switch DAZ assets to other software. I don't know if this is on purpose or just by a different design approach. If you would ask me I would say they do it on purpose since they go against the universal standard with so many of their features, it just comes across as delibera.

For example what your describing is in most other 3D software programs done the otherway around. Moving bones apply the respective morphs, since bones are easier to control. DAZ does it the other way around for some reason

Anyway everything a driver does need to be there though. A driver itself is just a switch. It turns thing on or off (or half on, etc.). What it turns on/off needs to be made otherwise drivers don't know what they are doing.

If unity supports some form off of drivers and you can't seem to import the DAZ ones, you should be apply to find the individual parts of a driver and link them again.
 
  • Like
Reactions: Purefun

Istyu

New Member
Sep 26, 2020
13
0
I want exporting from DAZ3d to Unity character and morphs.
I did this steps in blender:
1. Merge rigs
select genital rig then press ctrl and select genesis8 rig.
Click merge rigs.
2. Load to genital mesh custom morphs.
3. Merge geografts
select genital mesh then press ctrl and select genesis8 mesh.
Click merge geografts.
When I load in unity the .blend or .fbx file but no displayed in Inspector window under the SkinnedMeshRenderer component the BlendShapes.
The character which I want to send to Unity: Genesis 8 Female
The genital: New Genitalia For Victoria 8
DAZ3d version: 4.21
Blender version: 3.2.0
blender diffeomorphic plugin version: 1.6.2
Unity version: 2021.3.4f1
How may I solve this?
Thanks!