hello guys first of all srry any trouble and for asking for anything but i’m working "alone and trying to leanr as much as i can then i’m really here looking for some “advices” and now specially about how to proper deal with the famous issue of poke-through which normally can be a nightmare with modular characters.
Currently i’m working using daz characters and they “stuffs like outfits” and many times it can be a really nightmare to make the character skin don’t poke-through the outfits.
For that normally i go in the old cut into pieces like head, torso, hands, legs and feet, then start to remove any skin inside the outifts of those parts, currently it’s the best way to deal for me but i’ve seen a interesting sugestion which is instead of delete the mesh create a “opacity mask” for the skin and apply this on the character based on the “outfit”, which looks really interesting i would like to know if it’s also a good solution, like "perfomance wise.
making a opacity mask for the skin, "have the same performance inpact of delete the skin?, a hidden skin have the same weight of a deleted skin when comes to performances???
Another way which i try to do sometimes which can work and others no, is using some of the outfits “morphs” to make it "big in the right places which make the skin not poke anymore but the outfit still there and i would like to know the "impact in perfomances of it??
basically how is exactly the “perfomance effects” we can have when making "modular characters??
any tips?? how you are currently handling your own “modular stuffs” how you are dealing with the poke-through stuffs??? any help or advise is very welcome.
It’s been a while but Reallillusions had some videos showing how to adjust vertexes to fix intersections. I wouldn’t worry too much about optimizations at this point.
Performance impact of the things you mentioned ordered from best performance to worst:
- Remove vertices hidden by clothing in external application
- Use morphs to adjust vertices hidden by clothing. Morph targets have a cost, but I think it’s negligible when they’re not actively being changed from one frame to the next.
- Use opacity mask to hide parts of a mesh hidden by clothing. Granted, this is likely the fastest and most flexible way to deal with the issue, but you’re adding new texture calls to the materials, you have to change the material blend mode to the more costly Masked mode and you have the additional overdraw when the clipping occurs.
about the 2, normally the adjust morphs i do “apply” in the mesh before export then the model already is exported with the mesh modified without need to export the morphs, like for exemple the breast is poke-through the cloth then i use a morph in daz for ther cloth to make the Breast in the cloth big enough to the skin breast don’t poke-through again, then i export to unreal it get the mesh with the fix without need to export the morphs, normally it’s make the outfit look a little “big” or little far away from the skin in some cases, but your idea is also interesting to "export the morph and "apply it when placing the outfit.
interesting info really thanks, looking for more help.
In that case 2 would be just as performant as 1. I was thinking of a dynamic clothing system when I wrote that, so when equipping the heavy breastplate, the AdjustChestMorph slider would be set to 0.1, when putting on the light shirt it would have to be set to 0.8, and so on. If your characters can’t equip different types of clothing or armor, you can get by without exporting the morphs.
yeah your idea was good, it make some of what i was doing look more “stupid” because i could do the "different cloths but i had to honestly apply each “layer” of cloth and "do changes in daz for each type like a t-shirt and a jacket
i had to tweak the t-shirt over the skin then tweak the “jacket over the t-shirt” which was doubledown the work, your idea sound interesting too.
i really wish unreal and or others game enginers tools could come with a proper “layer system” for cloths like some 'not perfect system some stuffs like daz and reallusion cc have.
both daz and reallusion and daz have some sort of “collison layer” system which when you put a model in a pose it try to “fix” the outfit deform" for the pose in case the poke happens(not perfect and not fix all the times") but at last it try to “fix most of the times”.
i know it can be a lot demand to having a tool in realtime adjusting any "poke-through like just “hidding” any mesh passing the layer something like:
you have 3 layers
1 - skin
2 - t-shirt
then anytime a character is moving the system will adjust anytime the skin try to poke-through the layer 2 and 3 or by hidden the area of the mesh passing or readjusting the weight to not allow it pass the same goes for layer 2 it will not poke-through layer 3 and all bla bla a good strong layer collusion but i’m aware which it can probably be a pipe dream and a lot of work and too perfomancing demanding for the game but still would be something cool to have.
Ideally, you dedicate a UV, and create a script to bake the ideal diatance from the character into a texture.
Then the clothing calls to that textures and inflates via vertexnormalws.
The math for baking needs to account positive and negative. But the range is 0 to 1.
So you have to use .5 as 0 or no change. Very much the same as a vectorfield.
Applying that and changing textures based on animation can render perfectly with only computational costs being higher.
Obviously adjusting manually is better, provided the animations don’t destroy things too…
I apologize for the late (and probably “lame” reply owing to my “very new to UE5 status”), but I found this question while trying to solve a minor “poke through” issue with my MetaHuman’s shirt. My ham-fisted approach was to export the BaseBodyColor texture into PhotoShop where I painted the skin color with the shirt texture where the poke-through was occuring. I can’t detect it during game play, but it might be more obvious in a cinematic environment. Anyway, it was quick and effective and let me get on with my day.
interesting aproaching, even if later thanks for the replay.
hello srry for ressurecting this topic but i feel it’s better than create a new one for the same topic, then i was discussing with some others indie devs about this issue of cloth layers and one of then pointed this which i feel it’s really interesting and i would love to see if any unreal dev is thinking about it:
i don’t know for others but for me for more "imerssion and realism i would love to see a sort of cloth layer being implemented on unreal, instead of using the old “cut meshs method” if we could really have a proper cloth layer system and be able to make full cloth and have better and proper animations for stuffs like striping and bla bla bla bla.