Merging Surfaces?
EightiesIsEnough
Posts: 1,118
I am creating an extended neighborhood block for my big city scene. While I did select each of the four sides to create part of a curb by using the Marquee selection method, I learned that I never got every face of the side. It was a relatively narrow but long stretch of cube primitive. Is there any way I could merge surfaces after selecting the areas I left out and creating those surfaces?
Comments
Yes, as long as theya re now a single object. With the Geometry Editor tool right-click>Geometry Assignment>Assign Selected to Surface>select the surface from the menu that opens, as I recall.
Is it possible to merge attachment surfaces with figure surfaces? To have one seamless mesh that uses one material on export?
Yes~ for instance merge a graft or a wearable with the figure. Select the figure ...Geometry Editor, RMB menu - Geometry Editing - Merge Fitted Figure(s) Geometry. The attached grafts / wearables' surfaces will be merged into the figure's surfaces and UVs will be derived as well...
PS: It shoud be that only geograft could be 'seamlessly merged' with the figure while wearables are 'welded'. Btw, remember to delete the nodes of attachements after merging...
Not while still having them as separate, rigged, models. Well, not deliberately - it was possible to end up using the same materials for mulitple items via scripting but I don't think that was the intended behaviour in general (it certainly wasn't in the context).
Well.. After merging with Merge Fitted Figure(s) Geometry the grafts stopped responding to body morphs, which is unusable. And also the material count is still 22, but for that I assigned all the polygons to one surface and deleted other surfaces, that worked. The morphs not working are the breaking issue.
I need the model in Unity with a single material for the body with grafts and with all the morphs. I might have to do my own processing in Unity to merge things. I hoped DAZ can do it. Or is there a way to make merged grafts work with morphs like they did before the merge?
Basically a figure is just a long list of vertices and their coordinate values.
When one makes a morph, the morph has the same list of vertices together with information, where each of those vertices should move (deltas)
If the list of vertices for the morph doesn't match the list of vertices on the figure (both the number and order of vertices), the morph doesn't work.
Certainly there'll be no 'responding to...' as the 'merged graft' is no longer a Follower but just a part of figure's geomoetry, so there's no mroph on it and no Auto Follow will be triggered. If you need any morphs on the 'merged graft', you have to use modeling/sculpting software to build them.
I don't understand what 'material count' is but after merging the figure's polygon count will be changed and the 'graft surfaces' will be added to the figure. I know nothing about Unity but I use blender a lot. Figure and graft could be well transferred to blender by using its geo-nodes, so I never have to merge their geometries...
It is a missing feature then. The grafts are followers by the virtue of the fact that the morps are transfered onto them. I don't believe there is any magic happening, just the same set of morphs is created for them and activated automatically when they are activated on the figure I'm sure. So when I merge the grafts with the figure I expect that the delta values from the morphs in the grafts will be transfered to their merged version. Really simple process, but for some reason this is not happening. Either I'm wrong or it's a missing feature.
The material count is basically surface count in DAZ. It's the "submesh" count. The point is that in game engines each material or submesh in normal circumstances is rendered separately in its own "draw call" which means that each mesh is processed by CPU and sent to GPU for rendering separately. That can be much slower than combining all the meshes, processing and sending them to to GPU together. So it is an important optimisation usually to combine together everything that can be combined in a character.
I will probably work with unoptimised meshes now and write a script that will combine them later.
I'll combine parts of the body now though with a new UV layout, because otherwise it is a bit of a pain to work with that many separate textures and materials.
Had the morphs already been transferred to the grafts? Until that hapens (custom morph added or morph applied to the base) theer are no deltas to transfer, so if you then set a new morph on the base figure the ex-graft vertices will - correctly - remain unchanged.
Merge Geometry function zeros the shape of graft before merging process so as to ensure a 'welded geometry' with no seam / intersection in between graft and figure. Only the morphs on the figure will be kept if you dialed some...
I can not imagine a case where I would not want to transfer the morphs to the figure from the grafts when merging them, so I naturally assume that it will happen automatically. If not, what is the way to do it?
I'll search for a way to do it, but the only way that sounds like it is supposed to do it is transfer utility which already been ran from figure to the grafts. So again I assumed that it transfrered all the morphs already in some hidden category and that that's how the follower meses work. Which is confirmed by the fact that when grafts and clothing are exported to Unity they do have all the morphs from the figure. So againn I'm really confused by the fact that after merging those graft vertices act like they never seen a figure morph in their life.
Maybe the answer to your question is "Yes, they have been transfered". But there are multiple reasons to think that it is not the kind of transfer that you mean.
Running transfer utility from original figure to the merged one, and it freezes. I don't even have that many morphs.
Not really important to me what morphs are currently applied, I st need all the morphs that have been on the figure when I merged to work on the grafts as I dial them. For that it seems like I need to transfer them before merging(?)
I'm making a customizable figure so I need morphs being interactive after export. Which works great until grafts are merged.
Also each separate mesh is a separate shadow caster, which also adds to the rendering costs.
Oh no... The most important part is that for unmerged figure each submesh/material counts as the entire mesh for some rendering operations. So if my figure is 60k polygons, it comes out as 1 million polygons with that number of separate elements. Or maybe DAZ Bridge creates unoptimized meshes.
And I just found out that figure merged with attachments loses subdivision which I do use. So seems that Merge fitted whatever is not a usable solution also because of that reason.
In conclusion.. The best I can do is to merge surfaces inside the figure itself. And merge all my attachments into one. This still gives my renderer double the amount of vertices to process but at least not a million. Or I'll just write a Unity script that will merge everything..
perfect, just what i was looking for. thank you.