UV mapping and subdivision surfaces

Off hand I don’t see another solution, but that doesn’t mean there isn’t one. And I’m not convinced that what I have working currently isn’t the right solution.

But I’ll give it some thought.

Richard

Oh yeah, and while we’re on the subject, is there anyway to have different tensions on different points of the same mesh? andnbsp;(ie. Have sharp creases on some points and have nice curvy curves on other parts of the same SDS) If not, here’s hoping its something that gets added to a future revision andnbsp;;D

Tankem

Now this topic is something that I got really interested in because I’m about to do some heavy stuff with SDS (well…attempt to anyway ) but don’t want to be hung out to dry when it came down to texturing. andnbsp;

After mulling it over I think I’ve come up with a sort of workaround until the UV mapper can handle either SDS or meshes with large number of points. andnbsp;But first, a little background info.

So the image shows what started out as 8 cubes. andnbsp;The meshes on the left side are the SDS commited meshes that I texture mapped. andnbsp;As you go to the right, the smoothness gets kicked up a notch until smoothness = 3.

As you can see, the deformation of the map on the top row is a little bad. andnbsp;I guess some rounding errors occured on the top middle row but its obvious that the corners are cut off and straight lines become bowed. andnbsp;The middle row shows a little bowing but to a much lesser degree. andnbsp;And the last row shows almost no deformation at all.

So what does this all mean? andnbsp;Well, as the smoothness gets kicked up, the meshes/vertices/UV coords converge to some point. andnbsp;The closer to the converging point you are when you apply the UV mapping, the less deformation there will be.

Here’s an example of what to do(hehe, text only)

Lets say I have create an SDS mesh that I want to UV Map (Say smoothness = 4). andnbsp;I prep the model by painting the different faces different colors (ala the uv unwrapping tutorial) with the smoothness set to 0. andnbsp;Then I crank up the smoothness to 1 (or more, depending on what I want to compromise speed/deformation) and commit. andnbsp;Then I perform all the UV unwrapping to my hearts content (Don’t forget to Update Material at the end <!– s;) –><img src="{SMILIES_PATH}/icon_e_wink.gif" alt=";)" title="Wink" /><!– s;) –> andnbsp;Then I up the smoothness till it hits 4.

So thats
1) Paint faces
2) Set Smoothness to a low enough number
3) UV map the mesh
4) Set Smoothness = final smoothness

Note that I haven’t played with the tension at all and I don’t know if it’ll affect the end result or not though I don’t think it would.

Sorry if I babbled, first post and all that… Hopes that helps someone

Tankem

Very interesting. I’d be curious to hear Alex’s opinion on this andquot;work aroundandquot;.

Richard

Yep. That was my problem all along…I wanted to UV map it at the lowest possible resolution and not worry about the UVs getting all flibbered up when I crank up the smoothing.

Tankem’s idea is nice, but like I said, I don’t want to UV map models that have 25,000 polygons at Smoothing Level 2, especially when the final smoothing level is higher than 2. The reason SDS modeling excited me initially is because it was a chance to do smooth, andquot;photorealisticandquot; textured objects with a high level of detail….which would mean I could also do those complex models on a professional basis using my favorite modeling package.

As it stands, salable high resolution work is too difficult to produce in a cost-effective manner right now, because most people don’t want to buy high detail models that are either too difficult to texture or lack textures entirely. Until its native UV mapping capabilities catch up with the modeling capabilities, it just isn’t a feasible option for me at the moment.

-Mel

Tankem,

No, you’re right…the more detailed you get, the less important textures become in certain circumstances.

When you start modeling nuts and bolts, simply using the ambient, diffuse, etc material channels is often a good move. But the rub comes when you need to do things like camouflage patterns, painted flames on hot-rods, or other complex paintjob-related effects.

In my case, the overall shape of my SDS model was so convoluted and had lots of compound curves that practically guaranteed that any texture would look horrible unless precisely mapped to the faces. The armed mechabug I was working on needed a camouflage scheme with painted-on markings and such to lend it a more military feel, and that required the ability to precisely lay out the UV coordinates for the paint job.

I’ve shelved that project for the time being.

-Mel

The tankem method…. I like that andnbsp;;)

The top row of the image I first posted is with the initial UV map applied at smoothness to 0. andnbsp;Which is basically, what you would do without the prescribed method. andnbsp;

The big problem that the workaround overcomes is that when you’re doing subdivision surfaces, the first subdivision cuts off sharp corners (especially at faces at 90 degree angles) that SDS cages tend to have. andnbsp;The subsequent subdivisions do not have these sharp corners to cut, therefore the changes to these is less drastic. andnbsp;

What this means is that I think that even at smoothness = 1 for the initial UV mapping is drastically better than smoothness = 0 no matter how far from the final smoothness.

Also, a thought on photo-realistic models. andnbsp;I think that when you start to do models with very minute details in the mesh, textures start to become less important and you relie more on the color material of the mesh. andnbsp;The initial purpose of textures other than decals was to keep the amount of detail of a mesh when viewed from a certain distance (with a lower level of detail model). andnbsp;Unless you have textures that are many thousands of pixels (or more) wide, when an object is viewed upclose, the texture will still fall apart.

So if you’re models are that detailed, I’d step back from texturing where the detail is really minute. andnbsp;Of course, I’m making plenty of assumptions about what you mean by photo-realistic and I may be blowing up my own tail-pipe and I apologize if I am andnbsp;:) andnbsp;

My 2 cents,
Tankem

I’d rather lose continuity than deal with distortion. It’s much, much easier to paint seamlessly across discontinuous coordinates than it is to paint like frigging Picasso or something because your UV map has overlapping and distorted projections.

The solution I had in mind was a simple one…the original UVs for each region unwrapped at Smoothing 0 should also serve to mark the andquot;bounding boxandquot; of the UV coordinates for each unwrapped region in all subsequent smoothing levels.

Then as smoothing changes, reapply the new UVs within the bounding boxes specified by the original unwrapping at the same time the model is being smoothed. If necessary, split UVs along the discontinuity seams but keep them inside the same bounding box.

One extra feature I would want is one that exports the new UVs to an empty bitmap so the texturing can be done using the finalized geometry….this can be done when the Commit button is pressed by throwing up a dialog box asking if you want one supertexture, or several smaller textures clipped to each region, and a filename to save it as. Then after painting, all I have to do is do a material update.

I realize what I’m asking for, and I’m aware of the disadvantages. But I’m asking for this because I *do* have the experience and the knowledge that led me to this conclusion. I’m more than willing to trade off continuity for distortion-free mapping of complex SDS models.

It’s a given anyway….I’ve designed a lot of paper models and textured quite a few computer game models, and I can assure you right now that there’s no such thing as 100% perfect distortion-free continuity when you start slicing very complex geometry to lay flat.

-Mel

I do plan to look at Mel’s/Alex’s suggestions. And, I have definitely been thinking about it. The problem I see is that you will lose continuity of the textures.

Has anyone seen this working in any other 3D modelling program? If so, it can be andquot;doneandquot; and I could try to reverse engineer a solution.

Richard

You must be logged in to reply in this thread.

24 posts