Found the solution for geomaps from GoldenPalace Majora and Minora geoshells. I'll probably make a tutorial video about this since everyone seems to be confused. In short, the steps:
0. GP is a separate mesh. The task is to create a new UV map for it, and then remap to this new UV map the textures from 3 sources: 1) G9 character body, 2) GP majora geoshell, 3) GP minora geoshell. This should be done separately for diffuse, translucency, normal and reflectivity textures. After that, geoshells can be just deleted.
GP uses geoshells to nicely overlay the pussy textures over the base body textures. Since Unity doesn't have a "geoshell" feature, you need to bake the overlays into a single layer.
Before the conversions, in GP controls, "01-material-presets", select the one that fits the body texture the best. E.g. if it's the dark-skinned Amala character, you probably want a darker pussy material
1. the initial step is to create the new UV map. For this, select just the GP node in Daz, then click Daz-to-Hexagon. In Hexagon, switch to 2-view layout, the second view should be UV view. Use the unfolding tool (human head) to slice the surface of GP mesh into a new UV map.
official manual (pretty poorly written, and their tutorial video is in French):
You must be registered to see the links
another tutorial video (much better):
You must be registered to see the links
"+" button adds selected edges to the list of seams, pressing the "human head" button re-calculates the islands.
I created seams on the borders of the material zones + central edge (view from the front) across the whole mesh). Keep adding seams until there are no islands with too cluttered vertices
Then the most time-consuming part is to manually place/rotate/scale the islands in the UV map editor. Spread them to cover the square map without too much wasted space.
(
Note: if you are planning to have poses with legs wide open, there is a stretching issue/bug that I describe here https://f95zone.to/threads/golden-p...e-lost-after-export-from-daz-to-unity.229326/ The solution I eventually came to makes steps 1 and 6 more involved.)
Finally, save the GP mesh from Hexagon as OBJ file (check "include uv map", uncheck "flip textures"). This OBJ file is the GP mesh with a new UV map.
2. in Daz, select GP node, open Surfaces tab, right-click on it, Edit -> "Load UV Set...". Select the OBJ file and name the new UV set "GP_ForUnity".
Note: you will have to do this every time you re-start Daz studio or import a different model
3. (optional) If you want characters to have normal maps on the skin and the genitals, you need to manually set up normal maps in Daz first. By default, when you import a G9 figure in Daz, it comes with a normal detail map (which is the same for all G9 characters), yet the normal map is not set. I can't say if it's a bug in Daz or was done so intentionally - anyways, the missing normal maps have nice details like areola of the breasts/chest and navel. The normal maps are located in
\Runtime\Textures\DAZ\Characters\Genesis9\Base\ subfolder inside where you've set up Daz Studio to keep installed content. There are separate NM maps for arms, head, body, fingernals, and toenails
4. in GP controls, make sure the materials are copied from the character's body to GP (step 3 of GP standard setup flow), then select GP node, open Surfaces tab, select all surfaces of GP (Torso, minora, rectum etc), right-click on Surfaces tab, Map transfer. There create new template "Template1", drag all 6 surfaces of GP into it. Then select individual surfaces (not the template), this will allow editing "Target UV Map" parameter, set it to "GP_ForUnity". Can leave file type JPG, set baking quality 10. Click Accept. After this step you should have the G9 textures remapped to the GP mesh according to the UV map you created in Hexagon
5. now you need to repeat this for the GP majora geoshell node and GP minora geoshell node. However, Daz cannot transfer maps from geoshells. The workaround is to temporarily copy surfaces from the geoshell to the GP node.
first half of this video shows the guy doing this:
You must be registered to see the links
(Note: this guy is still doing the process overall incorrectly because he doesn't create a new UV map like we did in steps 1 and 2, so if you just follow his video, you'll lose the textures for the vagina and colon interior, and those you will need if you spread the pussy)
5.1 Select the GP node, Surface tab, select its 6 surfaces, click Presets tab above, select "!Iray Uber Base" shader.
Select GP Majora Geoshell node, select "Torso" surface, right click on it, "Copy selected surface", select GP node, select "Torso" surface on it in Surfaces, right click on it, "Paste to selected surface"
do this for each of the 6 surfaces.
Then same stuff you did in (3), to export majora geoshell textures with your new UV coords:
- select GP node, open Surfaces tab, select all surfaces of GP (Torso, minora, rectum etc), right-click on Surfaces tab, Map transfer. There create new template "Template1", drag all 6 surfaces of GP into it. Then select individual surfaces (not the template), this will allow editing "Target UV Map" parameter, set it to "GP_ForUnity". Can leave file type JPG, set baking quality 10. Click Accept.
5.2 same for GP Minora geoshell (manually copy each of the 6 surfaces, then transfer maps to your new UVs)
After this step you should have the GP majora and minora textures remapped to the new UVs you created in Hexagon
6. Now you need to open in Photoshop all the new textures you exported and manually merge 1) diffuse, 2) translucency, 3) normals, and 4) reflectivity roughness maps from body + majora + minora.
Note that these are all named differently in the sources. That's because the Daz shader in Unity actually uses less stuff than Daz, and there is data loss during the conversion. Here is what roughly matches to what:
- diffuse (
D): BODY = Template1 Diffuse Color.jpg, MAJORA = Template1 Diffuse Color.jpg, MINORA = Template1 Diffuse Color.jpg
- translucency (
SSS): BODY = Template1 Translucency Color.jpg, MAJORA = Template1 Translucency Color.jpg, MINORA = Template1 Diffuse Overlay Color.jpg
- normals (
NM): BODY = Template1 Normal Map.jpg (if you performed step 3, otherwise you will only have "detail normal map"), MAJORA = Template1 Normal Map.jpg, MINORA = Template1 Normal Map.jpg
- reflectivity roughness (
R): BODY = Template1 Specular Lobe 1 Roughness.jpg, MAJORA = Template1 Bump Strength.jpg, MINORA = Template1 Specular Lobe 2 Roughness.jpg
Make sure you resize each of the maps to 2048x2048 as they may come in varying sizes between 1024 and 4096, and detail normal map is even 8192
For MAJORA and MINORA, you also have "Template1 Cutout Opacity.jpg" maps. These you need to use as masks for each of the layers. This ensures that the texture of the pussy blends seamlessly with the surrounding body. Open them with Photoshop as well. In total, you should have 14 layers in Photoshop: 4 (diffise, translucency, normals, reflectivity roughness) for Body, 4 for Majora, 4 for Minora + opacity for majora + opacity for minora.
Now you need to merge them accordingly, also while accounting for opacity.
Here is a good video on working with layer masks in Photoshop:
You must be registered to see the links
To apply opacity with layer masks, first select the cutout opacity layer, Ctrl+A, Ctrl+C, then select the layer (e.g. majora's diffusion), click the "rectange with a circle in it" button, then Alt+click the newly appeared white square on the right of the layer's icon to start editing the layer mask, Ctrl+V. Do this for diffuse, translucency, normals and reflectivity layers of both majora and minora.
You might want to adjust colors/saturation etc of the diffuse and translucency layers, especially those of majora. Because these textures were intended for Iray shader in Daz while the body uses PBRSkin shader, and now you are merging all of them for PBRSkin.
Make only diffuse layers visible (majora and minora ones should have layer masks applied), export for Web, save as JPEG. Do this for diffuse, translucency, normals, and reflectivity.
Now you should have 4 new textures - these are merges of the character's body with GP's majora and minora geoshell textures, all properly remapped into your new UV coords specifically for the GP mesh
7. Now you need to apply the 4 new textures in Daz studio to the GP node's surfaces. Though first open the GP's controls and copy the materials from the character's body to GP (step 3 of its standard setup flow). This will put back the PBRSkin shader on GP surfaces. Then select the GP node, open Surfaces tab, select all 6 surfaces of it, in the surface properties find the UV, in the dropdown instead of the "Default UV" select "GP_ForUnity" UV map. Then go thru all the maps these surfaces use and replace G9Female01_D_1002.jpg and similar with the textures you've just created in Photoshop. While there are many params here, the G9 figures have a few maps, and different params just re-use these maps. "D" = diffusion, "SSS" = translucency, "NM" = normals", "R" = roughness/bump. There is also the Ambient occlusion map - this is not used by the shader at all and won't be exported to Unity
8. delete the GP majora and GP minora geoshells in Daz studio. These should make no difference now that GP node has pussy textures of its own
9. Select the G9 node, click Daz-to-Unity bridge. Here, when exporting and if you want the GP morphs to get passed to the Unity prefab, make sure you select the G9 character base node and NOT the GP node when picking the morphs. GP is a geograft, and the bridge can't export morphs from a geograft. In this video the guy explains how to copy morphs of a geograft to the figure:
You must be registered to see the links
. It's a tedious, error-prone manual process, so you will probably only want to do this for the morphs that you absolutely need. The morphs will then end up as blend shapes on the Body shape in Unity that you can animate