After Merging Geografts (HD Body & Base Resolution Genitalia) there are weird creases

Issue #223 open
Zack Johnson created an issue

Has anyone else experienced this? This character is basically finished with import.

I used the HD body mesh and the base resolution genitalia mesh. Once merged, there is a weird seam/crease across the top of the crotch and on the edges of the scrotum. See below:

However, when I enter sculpt mode, the edges/creases seem to disappear. Is there any way to make them stay gone when I’m not in sculpt mode? See below:

Comments (46)

  1. Zack Johnson reporter

    I just noticed it’s even worse on the CC Avandrael Tail geograft… Maybe I am doing something wrong? This is what it looks like after I merge geografts:

    And the creases completely disappear in Sculpt mode too:

  2. Alessandro Padovani

    That doesn’t seem to happen here. Please be sure to get the latest commit add90c9. Then be sure to export correctly. Also may be it helps if you post a wireframe and/or attach a test scene as basic as possible.

    1. in daz studio go to geometry editor
    2. export hd

    Here is a subdivided G8F with the futalicious geograft at subd 1. It renders fine and I get no creases.

    Here is the mutomorph hd character with the futalicious geograft at subd 2. It renders fine too and I get no creases. Test scene included, you will need the mutomorph and futalicious assets to load it.

    https://www.daz3d.com/mutation-morphs-hd-for-genesis-8-female

    https://www.renderotica.com/store/sku/57453_Futalicious-For-Genesis-8-Female

  3. Alessandro Padovani

    update. If the creases only appear when you pose the figure then may be it needs hd morphs that are not supported by multires. Also a jcm may deform the figure but not the geograft, in this case I’d expect you get the same in daz studio though. Or you may need to load extra corrective morphs.

  4. Zack Johnson reporter

    Just for reference, I am using a character with these morphs: https://www.renderosity.com/mod/bcs/index.php?ViewProduct=144817 However, I tried exporting with the base Genesis 8 Female and the same issue occurs, so I do not believe these body morphs are the cause of the issue.

    I can confirm I am working off of the latest commit add90c9. In my original post, I was exporting without using the Geometry Tool method. My reason for this is because when I export using that method, I get the weird vertex glitches (see below) - however for this post, I used the Geometry Tool HD export method:

    When I merged the geografts (futalicious and CC Avandrael Tail) using base resolution, everything works and I get no weird creases. I want to use the HD mesh, though, because it makes a pretty significant change in how the model’s face/body looks. See below for the results of the base resolution geograft merging:

    I will try to attach the .duf and even a .blend for your reference!

  5. Zack Johnson reporter

    Update: I just tried with G8M and I am getting the same issue. I don’t remember getting this issue when I previously tried the HD export for G8M, which was several weeks ago. This was using the Geometry Tool export method:

  6. Alessandro Padovani

    Hi Zack, please do not upload blender files here since this will break the daz eula. Just duf files are good for testing. Then personally I’m not offended by depiction of genitals, but since this is a technical forum some decency may be good anyway when possible. Just to be nice to sensible people.

    As for the errant geograft vertices we alreay resolved it in #218. You don’t have to subdivide the geograft in the geometry editor. Since futalicious is not HD this makes no difference anyway. I did a test and this also generates the creases I see in your pictures. So that’s the cause of it.

    Just to be more clear below is the problem in your test scene. The futalicious gaft must be at base resolution, not at subd 3. Again since futalicious is not HD this makes no difference. You can merge futalicious to the HD figure and everything works fine. The base graft will be subdivided when you merge it. Then if you use a HD graft I suspect it may work fine too since HD is different from subdivision, but I don’t have any HD graft to test.

    Then do not subdivide the geograft. Below we have futalicious at base resolution merged to the HD figure.

  7. Zack Johnson reporter

    I edited some of my previous screenshots to try to be a little more modest.

    I am still getting the creases, even after switching all of the geograft meshes to “Base Resolution” and 1 SubDivision level.

    Here’s my process:

    1. Load G8F
    2. Load Futalicious and/or CC Avandrael Tail
    3. Change G8F mesh resolution to High Resolution and SubDivision levels to 3.
    4. Make sure Futalicious and/or CC Avandrael Tail are set to “Base Resolution” and SubDivision level 1.
    5. Switch to Geometry Editor.
    6. Save the .duf
    7. Use Export HD to Blender script.
    8. In Blender, import the .duf
    9. Delete Base Resolution G8F mesh.
    10. Select all rigs, make sure G8F character rig is active. Merge rigs.
    11. Select Futalicious, CC Avandrael Tail, then G8F body mesh last. Merge geografts.

    After these steps I have creases around the geograft’s edges. I have tried only using Futalicious, I have tried only using CC Avandrael Tail, and I have tried using both at the same time. No matter what, I always get the creases. I must be doing something wrong, but I think I am following the documentation correctly?

    https://diffeomorphic.blogspot.com/2020/09/hd-meshes-and-geografts-revisited.html

    EDIT: Alessandro, when you are testing this, are you sure you don’t see any creases? They are very difficult to see when the geograft is a dark red color vs. the body mesh’s tan color. If you change viewport shading to something like this, maybe you’ll notice that you have the creases, too?

    When I change the Multires modifier Level Viewport value from 3 to 2, the creases get better, but they are still present. I’ve now exhausted all options, I think. I have tried exporting the geografts at base resolutions using the geometry editor, I have also tried Krampus’s method of exporting base resolution with geografts and HD without geografts, then merging the base res geograft to the HD body mesh. All of these methods still give me creases.

  8. Thomas Larsson repo owner

    I can confirm that I had the same issue when merging a geograft with multires to a mesh with multires. Removing the multires modifier from the geograft resolved the issue, so the plugin now does that. This may potentially reduce information from sculpted HD geografts, but this seems a small price to pay to get rid of these creases.

  9. Alessandro Padovani

    @Zack As for point 4 if you switch to base resolution the subd gets disabled, so I’m not sure what you mean that you set subd 1. At base resolution the HD geograft is not exported, only the base version is. This way you don’t get creases nor errant vertices.

    @Thomas As for non HD grafts the issue doesn’t apply, because we don’t need to subdivide them. As for HD grafts it may, but since HD and subdivision are different that’s not for sure. Unfortunately I don’t have any HD graft to test. Did you test a HD graft ?

    I mean to cut off HD information from a HD geograft should really be the last resort. At least it should be an option so we may adjust the creases with sculpting in blender, if we need to retain the HD geograft.

  10. Zack Johnson reporter

    Alessandro, I only mentioned that I set Subd to 1 because I wasn’t sure if it affected anything else. I am glad to know that I can skip changing the Subd to 1 since changing to Base Resolution does that anyway.

    As for the creases - I still get these creases even if I do the following:

    1. Export HD character without geograft
    2. Export base resolution character with geograft
    3. Import both to Blender, delete base resolution collection from HD import
    4. Delete base resolution body mesh
    5. Merge all rigs to active G8F HD rig
    6. Merge base resolution geograft to HD body mesh

    I still get creases after doing this. I tried using the base resolution geograft but it still gives me creases.

    @Thomas I still get the creases after doing the above steps, even with the latest commit b706bd283c4d

    @Alessandro if you are not getting these creases then it must be some issue with my workflow. I hate to bother but do you mind going through your exact workflow so I can see where I am going wrong? Thanks again for all your help so far!

  11. Alessandro Padovani

    @Zack Sure, you’re welcome. I attached a futa.duf that you can test. It’s a subd 2 G8F with the futalicious geograft. Please be sure to follow the steps exactly.

    edit. tested with blender 2.90.1, I don’t know if other versions may have issues

    1. in daz studio load futa.duf
    2. enter the geometry editor
    3. export HD
    4. in blender import with the dbz option, you will get two collections, Futa and Futa_HD
    5. in Futa_HD merge all the armatures, that’s g8f + eyelashes + futalicious
    6. in Futa_HD merge Futalicious with G8F_HD, please note that there’s not a Futalicious_HD to merge
    7. you can hide or delete the Futa collection if you don’t need the base resolution version

    Below the scene you get after merging the armatures.

    And after merging the geograft there’s no seams.

    Nor errant vertices.

  12. Zack Johnson reporter

    @Alessandro Thank you for the .duf file. The only thing I was doing differently from you is I was exporting the HD body with 3 subdivision levels instead of 2. It does seem like going down from 3 to 2 makes the creases/seams less noticeable. However they are still there. They are nearly unnoticeable for Futalicious, but the square crease around the CC Avandrael tail is still very noticeable unfortunately.

    Here is a screenshot in Blender after geografts are merged. I added the CC Avandrael tail to your futa.duf character and exported HD without changing any of the settings you set. https://i.imgur.com/PehWhE2.png

    I don’t really know how to fix this because it seems to be an issue that occurs when the geometry is merged in Blender. I can’t sculpt it to fix it because when I enter sculpt mode, the creases disappear. This is the part that’s most confusing to me. If the creases disappear in sculpt mode, there should be a way to keep them gone, right? Here is a screenshot of the same character in sculpt mode: https://i.imgur.com/PmGi2Zy.png

  13. Alessandro Padovani

    It seems imgur doesn’t like internet explorer and/or my privacy settings. I can’t see any picture.

    Anyway I also tried with subd 3 but I see no creases nor errant vertices here. You may try uninstalling blender and deleting all the blender settings so to be sure you start with a fresh blender and plugin with default settings. I know this worked for some people at the daz forum to fix odd issues.

    edit. I don’t have Avandrael but from the product description the tail may be a HD geograft. And it also includes a HD morph for the figure. So I guess it depends on what options you are using since the HD morphs may need to match to avoid creases. I don’t seem to have any issue merging futalicious with Mutomorph though, but it may also depend on how the HD morph affects the hip area.

    edit. You may also try uninstalling Avandrael to check if my futa.duf example works fine this way. There are some daz assets that are buggy and inject odd defaults so this may also affect the g8f base figure.

    https://www.daz3d.com/cc-avandrael-for-genesis-8-female

    https://www.daz3d.com/mutation-morphs-hd-for-genesis-8-female

  14. engetudouiti

    Zach Johnson

    If you see different shape in view port, and sculpt mode, I hope to see your multi-resolution setting. and other shape key value.

    Though I do not test all,

    1. sculpt mode may only show you current vertex position, when you apply only one shape key as full. or use base shape.
    2. sculpt mode may only show your current vertex position, when you use same sub-D for sculpt and view port.

    So basically if you hope to edit base zero shape in sculpt mode, I usually remove all shape key once (set zero)

    then edit base shape or may try add new empty shape key, and edit sculpt with activate the shape key only. (other shape key set as zero)

    and I may carefully remove other modifier, if it cause issue for suclpt mode view. and must use same sub-D for view port and sculpt mode to get same vertex postion.

    I suspect, even though plug in try to best job, reverse enginerling (return multiresolution level 3 shape to base shape), may not show perfect smae vertex position as base zero shape which we see in daz studio. So it is not so strange, when we merge with another mesh which imported as base,, they not fit perfectly. (though plug in try to foce merge,)

    What I recommend way is untill merge, check with edit mode, and Actor mesh (base resolution) and grafted mesh . then if it not good, correct it untill use plug in merge option. (Though it seems somehow complex when mix use multiresolution modifier,, but basically try to edit base resolution, untill merge, if you see problem about connected area)

  15. Alessandro Padovani

    If the figure is a standard subdivided figure then the daz base mesh is very different from the multires base mesh. Because the subd cage is outside the mesh while the multires cage is inside the mesh.

    If the figure is a HD figure then the daz and multires base meshes are very similar because in both cases the cage is inside the mesh.

    As for HD figures we don’t care too much about the base mesh though, since we’re more interested in preserving the HD details. If you need the exact daz base mesh then you have to import at base resolution.

    See my examples in #191.

  16. engetudouiti

    I do not think, there is any difference between sub-D figure with HD figure. the only difference is HD figure already applied HD morph delta.

    it is all. Actually DAZ HD means, sub-divide then add vertex delta as HD morph for sub-divided vertex. with use special importer whch only offered for vendor.

    Then to import HD morphs for daz studio. we actually export sub-D mesh, then sculpt and improt with the resolution as HD morph. Though I am not vendor, but old version daz show it as importer option temporally, so without change daz way about HD it actually use sub-divide mesh. (which sub-d level need depend vendor)

    So if sub-divided mesh with level 3 and HD mesh with sub-d level 3 show difference, it is caused by HD morph delta. HD use sub D mesh. or I can say, HD is how move sub-divide vertex as morph. (It is DAZ improvement ) .

    how deform vertex by sub-divide modifier and multi reso modifier is different things.

    At current we need to use multiresolution modifier reverse opiton then generate base mesh from HD or sub-divided mesh. so it may show different vertex location for the connected point. when it return resolution as zero. though I do not think it is heavy issue usually. because daz importer seems auto adjust connected area vertex to along the vertex position of actor mesh. (but other vertex may keep the changed position when reverse process for actor mesh, so it may not show same position in daz studio with base resolution.

    If OP problem is for level 3 (to get HD detail for actor), yes you need to modify the level 3 shape. but I may say same thing, check sculpt and viewport resolution, and may remove shape key effect if it is already used.

  17. Thomas Larsson repo owner

    Here is my test with the Avadrial tail. The depression happens even if the tail does not have any modifiers. It seems to be due to the changed topology close to the boundary.

    To start with, the tail doesn’t have any modifiers, neither multires nor subsurf. The body has a multires modifier at level 3, but the boundaries line up nicely nevertheless. After merging geografts, the boundary is distorted, in particular at the top, and the depression is there.

    Unfortunately, I don’t have any idea how this can be avoided.

  18. engetudouiti

    iif when you set sub-d as 3 for merged mesh , you do not see issue,

    I may try apply muliresolution as sub-D3, then un-subdivide again, and try to rebuild base mesh. after all base already merged, and it may not show heavy problem (we can not import morph etc any mroe, for the merged base, so we need not so strict to keep original shape, but hope to remove boundary destortion only)

    Manuall work flow is, simply select edge boundary verts only, and apply smooth, only boundary verts. (or sculpt as I need)

    Maybe such small delta and at least if it is only boundary, shirnkwrap modifer with selecti vertex group (need to make temp vertex group to limit effect) work too. (though I do not know, if it cause issue with multiresolution. And once you edit base, it effect sub-D 3 mesh so may need reshape again. (if original merged mesh (multireso) sub-D3 work without problem)

    As add on side,, I do not know, there is way to perfect solve this issue.. we can easy suspect,, merge 2 different mesh with modifier, may often show such issue. (because when we merge, modifer effect mesh actually change, then how modifier will work for merged one, we can not expect, it show as we hope so)

  19. engetudouiti

    I see,, if we apply multiresolutiion sub-D, and re-build it may (or must) break all shape keys there are, I suppose,, when we apply sub-D.. I do not know how blender show the problem, (eg shape key auto removed etc) ^^; (so can not use it as usual solution)

  20. Alessandro Padovani

    First, I believe it is important to stress that this is an issue only with the HD version, the base version works fine. That is, if we export as base resolution instead of HD, then everything works fine.

    Then, as for the HD version, personally the only solution I found is to export the HD version together with the tail, that is, without entering the geometry editor. But then multires is not able to unsubdivide the mesh so I guess there’s something wrong with the tail geometry. I was able to solve the issue by entering edit mode and using “delete loose”. It seems there are a number of loose vertices in the tail. Once we do it multires works fine.

    steps

    1. export as HD without entering the geometry editor, this will export the body together with the tail
    2. import HD in blender, multires can’t unsubdivide the HD figure
    3. enter edit mode and delete loose, now multires works fine

    This way we can’t load morphs, since the tail and the body are merged together, but we get a clean multires HD figure, without the depression issue. So may be the plugin could check for loose vertices before using multires, and warn the user if some are found.

    I guess loose vertices may be removed from morphs too, if we remove them for the main geometry. This way morphs should work fine too.

    p.s. The shape below is different from above because I used the emaciated morph for the HD version.

    update. It turns out that the loose vertices are from the graft area in the base figure. We can see them in edit mode with select > by trait > loose geometry.

  21. Thomas Larsson repo owner

    Alessandro, thank you for this. The plugin now removes loose geometry before rebuilding multires levels, and it works! Both with futa and tail. The misplaced futa verts are still there though, but that’s another story.

  22. Alessandro Padovani

    Thomas, as for commit bed3352 there’s something odd. Below it is what happens if I try to pose the multires G8F with the tail. The multires G8F alone works fine though, so it seems this only happens with geografts.

  23. Xin

    This looks like a vertex order issue. Deleting vertices is changing the order, so when the addon fills-in the vertex weights of the base mesh assuming the vertex order is the same as the real base mesh, things go wrong.

    If this is the issue, it could be solved by transferring vertex weights with closest vertex matching, first on the body with the real base mesh, then on the tail with the real base tail. But I don’t know how much the base mesh with the tail differs from the real base mesh and the real base geograft. If the difference is too big, closest vertex matching won’t be ideal.

    Have people here tried setting up a Crease around the geograft boundary (as an alternative to deleting vertices)? try creasing the boundary with different factors, and set the multires to respect creases, and see what you get.

  24. Thomas Larsson repo owner

    The vertex groups of the HD mesh are copied from the base mesh. This can of course only be done if the meshes have the same number of vertices, i.e. geografts have not been merged. In the last commit vertex groups are only copied to the HD object when it makes sense. Importing a HD mesh with merged geografts still makes sense for sculpting or rendering, but not for animation.

  25. Thomas Larsson repo owner

    If the plugin fails to transfer vertex groups to the HD mesh, it now shows a warning after import. However you can still get vertex groups as follows:

    1. Merge Rigs.
    2. Merge Geografts to base mesh.
    3. Transfer Vertex Groups from base mesh to HD mesh.

    I reimplemented the Advanced Setup > Mesh > Transfer Vertex Groups button using the data transfer modifier, because it works in the mouth area. How it works is a mystery to me, since the upper and lower lips overlap and move in different directions when the mouth opens, but work it does.

    I also implemented a tool that transfers vertex groups by vertex numbers. However, it could not be used in this case (the file Zack provided), because the mesh topologies (fingerprints) differ: the number of vertices is the same but not the number of edges and faces.

  26. Alessandro Padovani

    Xin, crease doesn’t seem to work, if I understand correctly what you mean.

    steps

    1. export HD entering the geometry editor, so to get separate body and tail
    2. import in blender, then merge rigs and geografts
    3. in edit mode, select the graft edges and creese (edge > edge creese), multires uses creases by default so the mesh is affected

  27. Alessandro Padovani

    As a side note, the subd options in daz studio affect the geometry shape when we bake to dbz. That is, the graft borders get affected. But in my tests this doesn’t seem to make a difference. Please note that, of course, the subdivision options don’t affect a base resolution mesh, that is, the geograft has to be HD.

    steps

    1. in daz studio enter the geometry editor
    2. select various options for the geograft subdivision, this affects the graft borders
    3. export as HD

  28. Xin

    Oh ok, thanks for checking that. I don’t have any tail to test this.

    Thomas, instead of the Data Transfer modifier which will give warnings for a lot of vertices, try using the Data Transfer operator “bpy.ops.object.data_transfer()”.

  29. Alessandro Padovani

    Thomas, by merging the ideas by Xin and Engetudouiti I believe we get a solution. That is, crease doesn’t seem to work, but we can use a smooth modifier on the graft edges. The plugin already knows the graft edges because they are used to merge geografts. So it is enough to setup a vertex group with those vertices.

    steps

    1. export HD entering the geometry editor, so to get separate body and tail
    2. import in blender, then merge rigs and geografts
    3. in edit mode, select the graft edges and create a vertex group, we can name it “graft”
    4. add a smooth modifier for the “graft” vertices

    Below an example with the Avandrael tail, before and after smooth. This seems to work fine both for the base res and HD tail. Since this is not tested extensively, may be it’s better to leave “smooth graft borders” as an option for “merge geografts”, so the user is free to use it or not.

    edit. Please note that it is important to place smooth after multires, otherwise it doesn’t work.

    edit. Thomas, also the idea by Xin to use data transfer to rig the merged HD mesh sounds fine to me. As for the base mesh shape, in this case it may come in handy the idea by Engetudouiti #198 #380 to preserve the base mesh shape in the multires modifier. Though I guess there will be issues anyway to load morphs in the merged mesh, so as you say it is not so good for animation. And overall this all sounds far more complex than adding a smooth modifier.

    edit. Never mind, I see data transfer is implemented in commit fcd2415. It seems it is faster for you to do things than for me to think of them 😅 . Please let me know what you think about smoothing, since this is essentially different from re-rigging the HD mesh and may work better for animation.

  30. Xin

    Also try expanding the selection at least once with [Ctrl] + [+] to see if you get a better transition.

    Are the loose vertices still there? is that the problem when you export the tail and base separated too? it’s so weird if you are getting this problem without loose geometry.

  31. Alessandro Padovani

    Xin, I expanded the selection and marked as 50% crease, so to smooth from the 100% border, there is some difference but doesn’t look good anyway. Also may be this is to be expected since crease is used to sharp edges, not to smooth them. The solution above with smooth seems to work fine enough though.

  32. Alessandro Padovani

    Xin, consider that smooth is used on the base mesh, so expanding the selection doesn’t sound too good to me. I mean, the vertices other than the graft borders should be in the right place already. Anyway below there’s the expanded selection, it doesn’t seem to make much of a difference, but it works fine too.

  33. Thomas Larsson repo owner

    Xin, thank you for pointing out the data transfer operator. It is now used both to transfer vertex groups and morphs in legacy mode.

  34. Thomas Larsson repo owner

    Merge Geografts now creates a Graft vertex group. This includes the graft vertices, which usually coincides with the boundary. For HD meshes a smooth modifier is also created. I find that the result with smooth is better than without, but a depression is still visible.

  35. Alessandro Padovani

    As for commit a99dbeb, it seems to me that both the HD geograft smoothing and the HD rig transfer work fine. We can even transfer expressions, this is just great. Though of course it’s just the base mesh expression. Guess we can mark as resolved ?

  36. Alessandro Padovani

    Issue #1556 was marked as a duplicate of this issue.

    A new relevant information in #1556 is that the same seams are noticeable even in daz studio so this seems a geografts issue by design.

  37. Alessandro Padovani
    • changed status to open

    Creases are visible in HD figures and G9, this is by design since it happens the same in daz studio, see #1556. Keeping this open so people are aware.

  38. Alessandro Padovani

    Marked as task since this is a limitation in daz studio geografts for HD meshes, to be aware of, but not a bug in the addon.

  39. Log in to comment