Transferring the UVs and Geografts - How do I learn this?
In a discord server that I'm in, I asked about applying a add on that was meant for G8F to a G8F. Their response was that it would more than likely require transferring the UV maps from G8F to the G8M as well as the geografts. They also mentioned that it would be difficult, which I imagine to be true. However, upon my short search, I don't see a host of videos or tutorials that talk about how to do this kind of thing for exactly what I'm talking about. Although I did find videos explaining what they are and how to find them, so I'll start there. Outside of that, does anyone know if there's a tutorial on how to do this kind of thing? I've got blender, but I've a bare bones understanding of the program (still working on that) but with a thorough guide, even a caveman can do it, lol.
Otherwise, happy holidays folks.
Comments
I would imagine that whether you need to transfer the UV maps would depend on which add-on you're talking about, and how it was set up. I've successfully transferred a geograft or two across genders without doing anything to the UV maps. There's also the matter of how you're going about transferring it. I'd recommend checking this thread out.
Thank you for the link! Thinstuctions are pretty simple to follow. I did try following these instructions and it kind of makes sense how it should work, but alas it didn't. It's probably because of the complexity of the add on (it's not from this site) I thought to ask here about swapping the UVs and Geografts figuring that I could learn how to do ti here, then learn how to do it for that specific add on on the other site. But I'll keep looking and see what more I can find on the subject.
The instructions on that thread are for transferring between generations; transferring between genders would also require the Cross-Figure Resource Kit.
It's a little hard to know how to help you since you're being very vague about a lot of things, presumably to avoid running afoul of the TOS. What product are you using, and how is it not working?
Lol, you're absolutely right. I did a quick skim of the TOS again, and I didn't see anything that said I couldn't mention the products, so I will. But if I'm in the wrong, please correct me. (I'll never post pictures of the issues themselves, but if anyone is fine with receiving and email about it, let me know)
I'm currently working with Headlights, but there are several other products that fall into the same realm (Breastacular For G8F, HD N for G8F - 2.0, Lifelike N Graft For G8F, Milkaiser For G8F Breastacular). First thing I tried (as a rule of thumb) is the auto fit which didn't work to no one's surprise. Then, I tried to morph the G8M into a G8F usuing the utility tool and, reshaping them into a G8M and then applying the add on, still no cigar. That's when I hopped in discord and asked about it, to which I was told that if I had to ask how to do it, I don't have the skillset for it (#facts). However, the way I see it is that I won't get the skill set for it if I don't ask about how to do it and learn. I did post about it on the other R site, but I haven't gotten a response yet (they seem to be almost afraid to try and delve into these kinds of things when it comes to the male figures, not sure why)
But I digress. I think I need to know these things before I'm able to successfully make this work -
1) How an add on (not a prop) is created/it's anatomy
2) What UV maps and geografts are and how to edit them in a program (probably Blender)
2) The specifc antomy of the spcific add on that I'm working with
3) How to dissemble the add on in a program (I assume that it's blender, but I'm not sure)
4) How to re-assemble for the other figure and then export it back to daz with all the morhps in tact
That is a lot of work to do, which is why I'm never out right asking someone to just tell me how to do it. I know that's a lot of back breaking work just for something that most people don't do, but if I had a list of tutorials and a little help from time to time on figuring it out, I am confident that I could have this down in a couple months (4 months max if I work on it consistently, but life happens). Maybe even what google terms I should be using to point me in the right direction of said tutorials, cause clearly I can't use google right (tried googling stuff for hours the other day and still wasn't sure if I was looking in the right spot) I did notice that you mentioned getting the cross figure resource kit and the UV swapper for G8, although I'm still trying to learn what those are and how they work.
While I've never attempted something like this, I use UVs in Blender fairly frequently, so I can help you with the theory.
Every vertex in 3D has an X, Y, and Z coordinate determining its position in 3D space. Vertices also have a U and a V coordinate determining their position on a 2D texture map. It doesn't matter if a vertex's 3D coordinates are (295778.0445, 4515487.258, 95481216.5546), it can still have a UV coordinate of (0,0). When four vertices create a face, their UV coordinates define the region of that texture that will be drawn during rendering. So if a face with four vertices has UV coordinates [ (0.0, 0.0), (0.0, 0.5), (0.5, 0.0), (0.5, 0.5) ], then the lower-left quarter of the texture map will be rendered on that face. UV coordinates are normalized, meaning that 0.5 is halfway across the texture. This allows you to scale texture maps (1024x1024, 2048x2048, 4096x4096, etc) while keeping the UV layout intact.
In Blender, you can use the UV Editor to rearrange the UV coordinates exactly the same way you manipulate XYZ coordinates. G for Grab, R for Rotate, S for Scale, etc. You can also use the Snapping feature to make two vertices click together, so in theory with enough time and patience you can manipulate UVs however you want, to change how the textures are mapped onto the model. Realistically though, that's very boring, so most people just mark seams in the 3D viewport and then unwrap the model, so the program automatically lays out the UVs optimally. If you're trying to transfer UVs however, you'll need to be careful not to destroy the ones the original creator made.
Without seeing the UV layout and texture maps you're using, I can't say for sure. But my best guess is that you'll need to leave the bulk of the layout (the breasts, I assume) alone, and then very carefully move the outer vertices so they align with the UV layout you're trying to fit it to.
Geografts are a Daz Studio thing. You basically mark a ring of polygons as a graft point, and DS at runtime treats them as if these two meshes have been welded together. Nothing like that exists in Blender natively, though you could probably hack something together with custom normals.
When it comes to making a geograft for Daz Studio, you export a Genesis 8 dev load, delete everything but the region you want to change, and model/sculpt your changes while ensuring the ring of vertices where it's supposed to join to Genesis 8 aren't touched. When you re-import it back into Daz Studio, you use the Geometry Editor to mark the vertices you want to join as graft faces, and Daz will automatically treat them as a single mesh.
The UVs actually belong to the polygons, one coordinate per vertex. if the UVs belongs simply to the veritices then it would not be possible to have seams (where a vertex appears in two different places on the map).
While broadly correct, it isn't necessary for a GeoGraft to actually weld - for example, there are several clothing sets that use GeoGrafting to hide the figure mesh underneath to avoid poke-through (mainly with clothing that would compress the flesh).
To convertbthese geoGrafts would not be simple - you need to move them to line up with the correct area of the genesis 8 male, with no shaping applied, then - since these do need to weld in place, and since the male chest geometry is obviously different in shape and is also different in topology (the layout of vertices and polygons) - you would need a fresh set of welding polygons, and you would need to bridge them to the breast mesh. You would then need to remap the mesh to match the male UVs, so that the skin looked right and the nipples were correctly placed, which would almost certainly introduce some unwanted stretching of the skin map details. The you would need to provide morphs for the grafts that kept them correctly shaped with the morphs you applied to the main figure. You woudl also most likely need to make corrective morphs for use with the bends. It would be a lot of work, and I suspect would be noticeably lacking in quality unless you were very good at the modelling and mapping, and possibly also able to rework the textures to deal with any stretching and compression.
When working in Blender, it's most useful to associate vertex with vertex since selecting a UV vertex will automatically select the 3D vertex, and vice versa. And selecting a vertex along a seam will automatically select all of its counterparts, even though they're in different positions, so it's probably a list or array rather than simply one coordinate.
If you look at an OBJ the UVs are listed in the same order as the f lines for polygons, oner coordinate per vertex. That doesn't prove anything about how Blender represents the data, but the behaviour you describe is what would be expected if it did use much the same structure.
Be that as it may, the visual feedback from Blender is that 3D vertices are the same as UV vertices since selecting one will also select the other(s). Best not to confuse new users with stuff under the hood.
I don't have any of those products, but I can use something different to demonstrate how it's done. It's actually less complicated than you're probably thinking.
That's a garbage answer, both because, as I just said, what you're trying to do is not necessarily that complicated, but more so because you gain the skillset by learning how to do it.
Exactly.
To offer a simpler explanation than Margrave, a UV map flattens 3D geometry to a 2D plane so that the program knows which polygons on the 3D object to associate with which areas of an image map.
The simplest way is to hide the geograft. This will leave a hole on the base figure where the polygons that the geograft hides would be. From there, you can copy that polygon selection to the male figure.
That might not be necessary. In theory, you should be able to do everything you need to within DS.
CFRK is just a utility for converting clothing and other add-ons for one gender onto the other. You get essentially a transgender morph for the base figure, and a script to add the cross-figure morphs onto the desired item. UV Swap just adds opposite-gender UVs onto the base figures, so that if you use, for example, a male texture set on a female figure, it will automatically switch to the correct UV. Once you have UV swap, you may never need to actually USE it; it just works behind the scenes. Again, depending on how your particular product works, you may not need UV Swap, but you almost definitely will need CFRK.
margrave - Thank you for that explanation! When you explain UV maps that way, it kind of makes more sense in the moment. When I watch the youtube videos, I'll keep what you said in mind. And the geograft explanation makes sense too. So it sounds like I might have to put it together in daz, export it to blender to edit the UVs and then send it back to daz to edit the geografts. This is just my thought, but I'll keep researching and practicing to see how I could make this work. That brings a question to my mind though - When editing the add on and not the G8 figure, how would I export that into Blender to begin with? I tried opening up Blender just to see if I could open it from the My Library section in the Daz folder, but it didn't pick up any files that we able to be opened. (I probably didn't try to open up the right file type)
Moving on, there's another question that I have - There's a product here in the Daz Store - UV Swap for G8, do you think that it would for something like this? Or is it something that I'd have to just buy and trial and error it out?
Richard Haseltine - Thanks for your response! When you say " line up with the correct area of the genesis 8 male, with no shaping applied," does that mean that I have to use the dev load of the G8M or could I use any G8M figure? Also, when you say "provide morphs for the grafts that kept them correctly shaped with the morphs you applied to the main figure." I think what you're saying is that I would have to have additional morphs for the figure (not the add on) to fix any mishapen instances that happen to be there from the add on that I've placed on?
Some new vocab to add to the digtial dictionary! - Welding Polygons, Remapping a Mesh
You're absolutely right though, this is going to be a lot of work. But there's no other way that I'll learn unless I try and mess it up right, lol. Thank again for walking through this with me. I honestly think that if I just had've asked for more help when I first started usign Daz as opposed to trying to brute force it all I would have been a lot farther.
To export a base mesh for geografting, just load a Genesis 8 dev load and export it in obj format. In the export options, make sure you tick the options to keep UVs and material zones, since that will allow you to re-apply the Genesis 8 materials using the figure's material preset. There's also the option to Collapse UV Tiles; Daz models have their UVs stored outside the 0.0 to 1.0 range in UDIM format. This option will normalize them on export so they're all within the UV Editor grid when it loads. Otherwise you need to move them manually.
When making a morph in Blender, you need to select "Keep Vertex Order" for both import and export. I don't think you need to do the same for a geograft, but I always do it out of habit.
As for UV Swap, I don't think it'd be useful since you need to edit the UVs of a third-party geograft, not the Genesis 8 figure. Unless you're also applying female texture maps to a male G8 figure, in which case it'd help with that.
Thought I'd try to demonstrate this with the tail from Sobek.
1) Set the figure and graft to base resolution and put the viewport into a shaded wireframe mode
2) Select the figure and dial in the CFRK morph (categorized under Actor -> Cross-Figure
3) Select the geograft and run the Cross-Figure Setup script (under Scripts in Smart Content, Scripts -> Utilities in Content Library). This will add the necessary morph to the geograft.
4) Select the graft, unfit from its current figure, click the "hamburger" icon in the scene pane, and select Edit -> Scene Identification. Change the Preferred Base to the opposite gender.
5) Load the opposite figure into the scene, set to base resolution, and switch to the Geometry Editor tool.
6) Select the outer polygons where the graft should go, right-click, and select Geometry Assignment -> Set Graft Faces for Attachment, and select the graft
7) Fill in the polygons, then select Geometry Assignment -> Set Auto-Hide Faces for Attachment, selecting the graft.
8) Switch off of the Geometry Editor, fit the graft to the opposite figure, set back to high resolution, and you're done.
9) Almost forgot: SAVE THE GRAFT AS A NEW ASSET if you're satisfied with the conversion.
The wheels are going to come off at step 6, at the latst, because the male and female chest geometry is, as I recall, different, so even if the morph baking had the vertices in the right place for the female mesh they would be in the wrong place on the male, at least in some cases, which would stop them from welding (and the welding in geoGrafts is, or has been in the past, very exacting as far as matching coordinates go)
Alright, so here's a very, very rough outline of what you need to do. As I said, I've never done this myself, so I can't guarantee the workflow is 100% complete, but this is the best I can give you offhand.
The GeoGraft vertices have to be in the same place as the vertices they will weld to when the shape of the base figure is zeroed (Edit>Figure>Zero>Zero figure if you don't use the Dev Build - and it's a good diea to use that command anyway, in case there are any morphs with non-zero default values).
When you apply a morph to a figure it is projected into the fitted items if they don't already have a property with exactly the same name, so that the relative offset of the fitted item from the nearby vertices is maintained. There are also morphs applied when the figure is posed, to correct for the undesirable effects of the joint bending algorithm. With something that is, depending on the default size of the breasts, going to be fairly distant from the base shape the results of the projection (and of the projection of weights when rigging) may be less than ideal and you may need to provide your own morphs, scultped to the shape you want, to override the automatic morphs. You may also need to adjust the morphs of the base figure, though.
Looking at them now, you might be right, although it could also depend on which polygons are used for the graft.
Thank you all so much for the responses! I really appreciate the conversations that are happening, and I'm gonna take this into consideration when I attempt this. I'll keep updating this thread with my progress. But I'm gonna start my blender lessons tonight.
Well, I finished the Donut modelling. The next parts that he goes over is lighting, animation and duplication of objects and stuff. I will touch on those but for now I want to retain my focus on creating models and taking them apart. Outside of that, I'm learning with the more that I learn about Blender that it's not nearly as hard as I first thought. The interface is definetly scary, but once I kind of understand what does what, it makes a lot more sense. I'm also learning that I might be able to do a lot of things in Blender without purchasing the utility for it in Daz.
Now that I know how to make the model in Blender, I'm going to eport it to Daz and see if I can manage that and keep the textures and whatnot in tact. Once I've accomplished this, then I'm going to take an existing prop and see how I can eport it to blender. After that, I'm going to disassemble it and re-assemble it with some edits to Daz. This way, I've completed these steps -
1) Basic understanding of how props are made in Blender
2) Basic understanding of how to import and export things (props, not add ons) from Blender and Daz
3) Basic understanding of how to disassemble a prop and put it back together.
Seems like a simple step by step so far. Otherwise, here's a view of my lovely donut (I'm actually not too fond of donuts with sprinkles)
margrave - I decided to give what you suggested a try just for giggles. And so far, everything was making sense, till I got to the end of step 4 -
I don't know what you mean by this. But I did look up online about increasing the vertext count on objext, and all the tutorials on that seem to be for older versions of blender. I might have to wait until Blender Guru comes out with a tutorial on something similar to this.