UV maps on Poser 7 Sydney G2
I've noticed that her mapping is kind of a mess. I found out when I was creating the second skin costume seen in the render:
Things don't like up quite right, while the front of this suit doesn't look too bad, the back of it is a hot mess...
It's hard to tell from this image, but the center of her map seems to be down her back, and it's not centered.
There is a question on all of this... do you think it would be worth the effort to remap her? I looked to see if there were templates for her, but didn't find any. I can't remember if she came with any. I doubt she did.
@rokketman I thought this would be the perfect opportunity to demonstrate my UVtemplate generator, never having opened SydneyG2 with it previously, but Poser and the script are having an absolute cow over processing her ~100k verts and facets. This is surprising, because there was no delay at all when I processed V4.
OK, Sydney has a pre-UDIM UV layout. I.e. everything is mapped within [0..1,0..1], which my script, though it can make sense of V4, which is also pre-UDIM, because I added some analysis of her materials and separated layers based on the material name prefix (1_, 2_, 3_, etc.). So, I'm adding a facility to optionally re-assign UDIM to specific materials, base on the wavefront obj file name, which is what Poser uses to distinguish poses intended for one figure rather than another. In initial testing, I will just match the obj name of the selected figure or prop to a dict key within the script and assign my arbitrarily chosen UDIM values to materials (based on material discovery order and whether they appear to overlap or not). When I get that working for Sydney, I will look at an appropriate GUI so the user can optionally re-assign material UDIM allocations before creating templates or props. That will be a lot quicker than adding materials to UDIM groups using the grouping tool and then using group specific magnets to separate the template objects. Couple more minutes before I have something to demonstrate as I can't even tell whether Sydney is a UV mess or not, yet.
@rokketman with another script iteration which properly separates the UV templates to avoid overlap, SydneyG2 doesn't look so badly mapped, with the exception of her eyeballs, which are a planar map superimposing the front of the sclera on the back of the eyeball. The rest, iris, pupils and eye transparency are separable without anything other than assigning the material to a different UDIM slot.
Superimposed, but separate UV templates with seam guides:
Back and front of the wrap morphed template objects:
The central back seam doesn't seem particularly offset. These are all preview screenshots, where I increased the Preview MIPmap size from 512 to 1024 to give sharper texture details.
Hi Rokket, if you want to see what a UV unwrap does in Poser?
Delete all materials and put a tile node on the figure as I did here.
And here the rendered result compared to a standard G2.
You can really see what the UV map does.
=> Then compare to the UV-Lay-out and go from there.
***=NSFW content***click to show
When you put the same tile shader on the head and body, you also see the detail difference between both maps.
You also see where a UV map bulges, expands or shrinks, cracks, has issues, or twists like here on G2's legs.
Best regards, Tony
I separated the parts to make templates (SydneyG2 templates), but the templates don't have those seam alignment color blocks. @anomalaus , are you using some UV map program to get the seam alignment marking? Is that output of your script project? If so, bravo! I would like to be able to generate such seam guide templates.
I might have to look closer at all of this. Thank you both for the replies.
@vilters That is a really cool idea. I should have thought of that. Thanks, Tony.
I've also noticed that when I apply the morph package to her that the UV stretching gets a little worse. I guess I could work around it. I didn't want to do this for a figure like V4 because it was hard to create the second skin on mapping that has everything broken into different sections, but maybe I should stop being lazy and see if I can create something for Pauline or another newer Poser native.
Is this a product that you are making for sale? If so, a polite heads up. Creating new UV maps for Sydney will be an issue, because the people will need the new OBJ in order to use them ... and Sydney isn't a merchant resource, so you can't redistribute the OBJ file.
UVs getting stretched when morphing are normal. Things like dots and stripes are especially noticeable.
@Deecey No, I am only doing this for my own use.
I think the biggest problem with the maps is the fact that the whole body is one large map. Maybe if it had been broken up the UV's would have been lined up better and smaller islands are easier to work with.
@anomalaus These last two images are showing the grouping for rigging. Her body is one single map. There are only individual islands for her finger and toe nails, which are separate geometry parented to the body mesh. There are no separate maps for the arms, legs, hands... etc. Other figures have things broken up. It's easier to create a body suit with the G2 characters because of the single map, but if the UV is messed up, then you get the issues I have. Like you stated, the back is out of alignment. It might not look like it's that much, but when I have all the striping on that costume, it's all out of whack.
Even around her bicep area, the map twists around her arm and the ends don't come together (you can see that in the second pic I posted quite clearly).
I am going to use her original geometry .obj file in the runtime and see if I can do anything with the mapping. It might just be more trouble than it's worth, but I won't know until I mess around with it.
@seachnasaigh that's a python script currently under development to produce UV templates and automatically generate seam guides directly within Poser. There are two incarnations of it at the moment. The first, and originally intended end product, simply creates UV template images with seam guides and optional facet numbering. The second creates actual planar geometry objects representing the unwrapped UV maps with a morph to wrap the flattened UV template with seam guides into the original object's shape, so animating the wrap morph allows one to follow exactly where seam facets go as they transform from 2D to 3D.
I will release them when I have a useful GUI to simplify application and when I can decide whether they are sufficiently merit-worthy to submit myself to vendor martyrdom.
@rokketman I think I've found what you're referring to. At first glance, the torso and limb maps appear to be bilaterally symmetric, but having pulled that template into an image app, and horizontally flipped and realigned a 50% opacity duplicate of the template, the seam edges do not line up with the opposite side of the body. It's especially bad on the leg seams (shown in the second image below), so painting textures will be a nightmare, because you can't just paint one side and flip the texture to the other side and have it automatically aligned.
@anomalaus Yes, exactly. It's that lack of symmetry that made it impossible to weight map her. Someone tried and failed. While Sydney still has a soft spot in my heart for her, I won't be doing anything else like this with her. I am going to use Vilter's trick on a couple of the other figures and may go ahead and make the second skin spider gal for one of them. Thanks for taking the time to look her over and confirm my suspicions. I would like that script when you release it. I'd offer to beta test it for you, but I am constantly out to sea and I can't download anything on the ship's computers.
I have good news and bad news.
During my last days at SM, I had been working on revamping Sydney, and fixed a LOT of the issues she had. First order of business was to reduce the polygon count in the mouth parts (which alone removed about 40K polys from the model, I got her down to a more respectable 62K polys). Next order of business was to fix the asymmetry and the welding and extra verts at the group seams. Next order of business was to improve the UV mapping, which is made up of head, torso, arms, legs, mouth, and eye maps.
I softened her face a lot, so she is more generic (the original Sydney had a very distinct face that was very recognizeable, whereas this one is a lot more neutral.
Now here's the bad news. I can't distribute it because the OBJ is totally different than the original (unless maybe I am able to get special permission from SM to do so). She isn't weight mapped yet (weight mapping figures is not my idea of a good time), and I also kept the rigging the same so she could work with all the existing content. Except the new OBJ doesn't work with the face room, seeing as the poly count in the head is WAY different and it would have to be done over again.
Oops I mean existing clothing will work. Morphs and textures for old Sydney will not, due to all the changes.
Another render of the reworked Sydney
@Deecey nice :-)
I'll putz around with the weight mapping a bit, if I'm successful maybe I can touch base with SM to see if there might be a way to distribute it. No promises though! LOL