View Full Version : To Proton: LW8 vs Subdiv distort on UV

02-06-2004, 11:57 PM
Hello Proton,

I`d like to ask, does LW8 overcome this silly bug, or not? To me it`s the most important feature missing now (based on the videos you post during the past weeks). If it is still exists in LW8, then tell us, when it will be solved.

I`m sorry, but I`m very upset about this issue. It makes subpatch rendering almost impossible. I know there are workarounds, but I really don`t want to spend my time with workarounds. Please inform us about this issue.


02-07-2004, 03:51 AM
I'd like to be the first to join in a request for this....it's essential.

Jin Choung...it time for you to step forward (again!) and fight the good fight.

Please NT, reassure us!

Our fingers are bleeding from countless posts about this.

All the best.

02-07-2004, 07:50 AM
I'm working on a project right now that has me so frustrated because I'm wasting so much time with silly workarounds.

I'll add this to my list of reasons to not upgrade to 8 until I hear otherwise. :(

02-07-2004, 09:11 AM
what is this problem you guys are talking about??? can someone please explain what the problem with UV's and sub, thank you

02-07-2004, 10:41 AM
Make a simple model for subdiv. UV Map it, apply a simply checker texture, then hit TAB. You`ll see the problem. It`s a HUGE problem

jin choung
02-07-2004, 02:30 PM

did someone summon ME?! behold! i am come and mine eyes blaze fire and my *** spouts lightning!

(it's the same thing i say when i go to bed)

anyhoo, don't hold your breath for 8. everything that i've seen and heard say that it is NOT in the cards.

unfortunately, we're stuck with workarounds for now.

p.s. in terms of technology though, unless they do a radical rewrite of lw's underlying architecture, i think that the only solution POSSIBLE is something like a workaround.

and koot, do a search on these boards for subdivision and distortion and hold onto your butt and prepare to be assualted with wave after wave and incriminating bitmaps!


02-07-2004, 02:31 PM
I would love to see distortion free textures and if I'm not mistaken, it was improved in 7.5 somewhat from previous versions. I think the new development team is all about integrating Lightwave's features. Let's just hope that applies to Subpatches and UV's.

02-07-2004, 02:53 PM
I would like to add my request for a fix to the UV distortion on sub-d model problem.

It took many, many more hours than it should have to get the UVs on this dog to happen. If I weren't my own boss, I would've been fired.
I'm happy with the results, but it took way too much time jumping through every work around to get the texture to stick on a sub-d model. (the swirl marks in the fur are supposed to be there). A better work flow would be much appreciated.

Attached are a rendering and the UV map as it is.

I'm curious if the addition of animatable UVs changes anything in the model format. Will previous models/UVs be supported? And does the change fix any of the UV distortion problems?

Looking forward to what LW8 has to offer.

Best regards,
Bill C.

02-07-2004, 11:38 PM
Jin, I talked to few developers (including Maya plugin developer guys). They told me, in case of LW there is NO need to rewrite the underlying architecture, but implementing a subdivision dependent UV "subdividing" code, as I first thought. The process is simple. The code has to represent cage UV points as bezier control points, the edges has to be handled as spline cage (like in Maya the Spline Edit CVs), and the all thing it has to be done, that subdivide this splines into subdivision edges based upon the level of subdivision. I`ll illustrate it in my next post!

jin choung
02-07-2004, 11:57 PM
hey jester,

actually, i think that would NOT work.

because, if we're talking about discontinuous UVs (which are the only ones worth talking about), the subdivision of UVs would have to remember that edges of a separated 'uv part' is not necessarily a free floating edge in 3d space and therefore SHOULD NOT GET ROUNDED OFF!

that is, let's say that you have a guy's head. let's also say that you select four polys in the middle of his forehead and project them into uvspace.

subdivision would turn those four quads into a circular shape in uvspace. but the perimeter of those four edges would not look anything like that in 3d space.

also, in order to calculate the subdivision shape properly in uvspace, it has to remember the ANGLE in which it was projected into uvspace.

what i mean is, depending on how an edge is projected into uv space, the subdivided curvature of that edge could go in wildly different ways.

but that's not what happened in 3dspace.

does that make sense?

so it seems to me that either lw needs a history to do it like maya... or it would have to remember 1. what angle every separate, discontuous piece was initially allocated into uvspace AND 2. have to remember which edges are not actually unwelded in 3d space.

as i've said before, that's a LOT of overhead of every single piece and i that's why maya did it the way that it did.

hopefully, i'm wrong. interested to see what you've got.


02-08-2004, 01:08 AM
You are right jin, I`ve just tested it. My theory although works perfectly with INNER edges of an continuous UV area. As it shows here:


However, I made a test in Maya, and I include it also here:


In Maya you have paramter for keeping MAP BORDER intact, so it won`t smooth out the BORDER edges. I think this could be a UV parameter...

02-08-2004, 01:02 PM
Oh Lord yes!


But I doubt it.


Oh well.....

I would be happy if that was all NewTek Dev worked on for an entire release!

No really I would.

I would dance in circles with joyous rapture, I would leap about like an idiot, I would not be able to contain my ecstasy, and run out and tell everyone I know, I would.. ..

jin choung
02-08-2004, 03:12 PM
hiya jester,

yah, that's why i think the way that maya actually handles the problem (by allowing you to capture the uvs at a very high mesh resolution and then allow the user to step back down to low res to skin and such) to be a really ingenious and low resource way to go.

but alas, it involves history. that's why my lw approximation of this technique simply requires multiple meshes that are LINKED.

so no fix for this in 8. hopefully, they've got a plan of attack for upcoming upgrades.


02-08-2004, 11:01 PM
I don`t think so. But I`m afraid aslo this isn`t solved. Then, I have to find alternative rendering solution, until it is solved :(

02-08-2004, 11:15 PM
Actually, Maya Smooth is not the same as LW`s subdiv. Almost the same, but not identical. The way it works is jut simply recompute the UV with each subdivision, and it is hardcoded into the model. Whenever you increase the iteration (in the history) Maya recomputes the UV. In LW it could work in a similar manner. Whenever you change your subdivision level LW should recompute the current UV. An additional parameter of UV could became handy : Smooth UV border.

As I see (and working enough with Maya in our studio) this UV Subdiv solution is a little overmistificated.

If you have access to Maya, test it with a simple plane. If you set Keep Map Borders to Off, your UV will behave just like as I showed you on the LWTheory.jpg above.

What is a big difference, and requires the rewrite of UV system itself, that in Maya (and in Max, XSI, and all the rest) one geometry vertex may have multiple UV vertices. LW handles this with the discontinuous UV maps (if I understood well), and it`s a dead end. That is why you have to unweld your model time to time to make heavy UV editing, which is a silly thing also.

jin choung
02-08-2004, 11:37 PM
no no no!

that's not how you're supposed to do it!

the way you should work with SDS uv's in maya is like this:

1. you finish your model... it's exactly as light as it needs to be to skin. BUT, it's not dense enough to uv map without distortion... same problem as lw.


in step 1 or before step 1, you DID NOT UV MAP ANYTHING yet!

2. INCREASE the resolution of your mesh with the REFINE command (performed by selecting all edges) until the mesh is dense enough to NOT DISTORT.

3. NOW you take a snapshot of the geometry and start dumping uvs into uvspace. now, you are uv mapping a mesh that is so dense that it will not ever distort.

hell, we can do that in lw you say. problem is, now you have a mesh that's much denser than you NEED it and it will make weight mapping/skinning, as well as creating morph targets, much much harder.

BUT the genius of maya is that you can use the history of the DISPLAY LEVELS to go back down to your BASE MESH and only worry about weight mapping that!

AND, because you dumped the the geometry into uvspace using the hires version, that's the version that continues to get used to project your texture!


doing the above, you can do a simple example of a 'cube' sphere...

you can increase the res and create uvs for a texture so that it will not distort but still be able to deform that 'sphere' by its original 6 control verts.



02-09-2004, 03:07 AM

Can you not do the same in Lightwave by having two models.
One a base model with much lighter geometry as an animation stand in, which is then replacced with a denser frozen mesh.

I haven't followed this issue from the outset, did some post a web page with the issue and its work arounds anywhere?

02-09-2004, 03:07 AM

Can you not do the same in Lightwave by having two models.
One a base model with much lighter geometry as an animation stand in, which is then replacced with a denser frozen mesh.

I haven't followed this issue from the outset, did some post a web page with the issue and its work arounds anywhere?

02-09-2004, 03:18 AM

In Maya you don`t have to dance with the high poly version. You can uv map your cage, and it will smooth the UV perfectly. I use Maya along with LW all the day, so I had tested it. My Superhero character was pushed to Maya, and -what a miracle!- the textures weren`t distorted. In LW a recomputation of the UV would solve this. But I think a LW developer would know it much better than us, although I am a programmer as well

jin choung
02-09-2004, 03:19 AM
yes you can!

and that's basically my workaround that i posted a while back. how to do maya's sds uv mapping solution in lw... somewhat.

but the problem is, the lower density mesh has to DRIVE the deformation of the higher density mesh. the only way to do that right now for sure is METAMATION which does not use the realtime sds at all and instead just uses the older METAFORM PLUS which is in many ways much NICER! (except of course it's not real time).

so yah, basically, you CAN do this in lw by simply have TWO SEPARATE meshes... one of them driving the other.

(although at this point, it's an admission that sds wasn't really ready for layout primetime after all and is essentially a 'modeling tool' ala 5.6. in my view, that is actually the best and most honest way to go without a radical rewrite but i don't see us reverting to that)

and, imo, unless lw is radically altered, this or other workarounds is the ONLY way lw can address this issue.


jin choung
02-09-2004, 03:22 AM

do the 'cube' sphere example texturing your way. you'll see that it's the same thing in maya if you uv map the low density cage.

it may be that your finished character was indeed sufficiently dense enough when you got finished modeling that it resulted in no noticeable distortion. but in that case, it would work in lw as well.


jin choung
02-09-2004, 03:56 AM
howdy jester,

ok, so i did the 'cube' sphere sds. the one thing that maya does on the base sds mesh is it does 1 iteration of subdivision before it dumps the uvs into uvspace, even for a single quad.

so if you take the cube (sds sphere) and do a uv auto map on it, every quad becomes 4 quads and the edges are appropriately rounded once.


the distortion WILL still be there on higher subdivision levels.

check out the image.

the edges in orange represent uvs captured AFTER the refinement. notice how the edges curve more. but in the white edges, which were captured at the base mesh resolution, the edges are STRAIGHTER and do NOT reflect the curvature in the actual mesh. in other words, if you capture your uvs at the base resolution, the subdivision in uvspace will be JUST LIKE IN LW! (with the exception that, as noted, maya does ONE ITERATION OF SUBDIVISION before it dumps anything into uvspace which can alleviate a lot... although this is for a SDS sphere primitive... i wonder if it does it for a user created shape.... hold one) and that will result in distortion.

again, all of that is null and void if your base mesh is sufficiently dense enough... but that's true in lw too.


jin choung
02-09-2004, 04:15 AM

for a user created shape, the results are radically different. the uvs for a sds sphere are already setup so that the first iteration on a side (a quad) results in 4 quads with accurately reflected curvature.

i even converted a poly cube into an sds object to make the sphere object and as long as i kept the poly cube's initial uv mapping (it comes with a default uv layout), again, i get 1 iteration in the uvs resulting in 4 quads - with accurate curvature.


if i RE-UVMAP the cube before converting to sds - which is basically analagous to a truly user created, raw form - look what happens in the image.

this is what it looks like after several refinements but at the base level, you got 1 iteration of subdivision turning a single quad into 4 quads. but the border shape was a PERFECT SQUARE. and in further iterations, that border shape remains exactly the same. in other words, it does exactly what lw is doing.

but again, if i capture the uvs at the higher refinement, the curvature is accurately portrayed in uvspace.

the included primitives must include some extra information to give you a good result to start off with but a new shape would enjoy no such benefits.


jin choung
02-09-2004, 04:46 AM
actually jester,

your observation appears to be true.

in an actual TEXTURED model, there is some distortion on the lw ball but whatever distortion there can be said to exist in the maya ball is very gracefully handled.

weird thing is, in lw, if i uv map a cube and then metaform it several times, it looks just like the maya ball....

it may be that lw's rt sds solution is just kinda ugly!

argh... more experimentation later. i have a feeling that doing these tests on the balls aren't the best examples. it's 3:45am... must sleep.

until later.


02-09-2004, 04:47 AM
Jin, don`t use Maya`s internal HSDS, but the Smooth (in Polygons menu), this is closer to a general (not hierarchical) subdivision surface.

My character is about 15000 control poly, so it`s not dense (in my terms). I`ve tested it with custom objects, and I found it good solution. Try it with the Smoothing, not the H subdiv, and you`ll find that it can be solved with LW if they would implement smoothing UV based on subdivision level

Anyway, I`m curious when Proton will answer

02-09-2004, 08:09 AM
Anyway, I`m curious when Proton will answer

Me too!

02-09-2004, 11:23 AM
For now it would really speed up fixing the distortion if the vertex count would not be screwed up when I freeze an object at a patch division of 1. Or freezing the endomorph would not also change the base shape.

Then you can just create a frozen endomorph from which to create a UV map with the push of a button instead of having to fix the vertex count every time.



jin choung
02-09-2004, 03:19 PM
hey jester,

if you're using maya's SMOOTH function, then your mesh is remaining POLYS at all times isn't it?

at that point, you wouldn't have distortion problems at all... i'd just uv map the final hi res mesh... right?

also, if you are uv mapping the base cage and then smoothing, i suspect you might get exactly the same results in lw if you metaform the cage....

it would be interesting to see what the results in lw would look like.

anyhoo, i'm looking forward to an answer from nt as well but i'm not holding my breath.


jin choung
02-09-2004, 04:42 PM
ok fellows,

if you're using ACTUAL SDS in maya, these are the results that you get demonstrated on a simple fish shape.

i'm not sure how to place images properly so hover your cursor over the image to find the right one... they're numbered.

1. this is a fish when you project uvs on the base cage. there IS distortion. look at the tail especially.

2. closeup on the tail.

3. this is what happens when you up the resolution AFTER you already projected on the base cage. same thing as lw and distortion remains.

4. this is what it looks like when you project the uvs onto a mesh whose resolution has been upped FIRST (through the REFINE command for maya users). although it's still not perfect, i could have upped the res even more before capturing uvs and that would bring it ever closer to perfect.

5. closeup on tail showing much less distortion.

6. the purple numbers represent the vertices of the cage which i captured the uvs at. dense ain't it? and if i wanted to weightmap and rig this model with bones, this would be a ludicrous mesh to do it on.

7. but viola, in maya, after i've used that super hi res mesh to capture my uvs to minimize distortion, i can take the resolution BACK DOWN to the base cage level to weight map to my skeleton. again, the verts are the purple numbers.


jin choung
02-09-2004, 04:45 PM
aw crap, no images got uploaded... oh well, one by one then.


jin choung
02-09-2004, 04:47 PM

jin choung
02-09-2004, 04:48 PM

jin choung
02-09-2004, 04:49 PM

jin choung
02-09-2004, 04:50 PM

jin choung
02-09-2004, 04:51 PM

jin choung
02-09-2004, 04:53 PM

02-10-2004, 01:46 AM
Jin You are using Maya HSDS (Hierarchical SDS). This requirea completely different texturing, and it has it`s own texturing process. Smooth Polygons is the closest to LW`s algorythm of SDS (and MAX Meshmooth), and these ae more popular due to the high control over the mesh.

This image shows my fish low poly cage, and UV applied


This shows the Smooth Polygon window:


Check for the parameters especially at the Keep Map Borders checkbox.

This is the Subdivided mesh, with the smoothed UV:


and without the wire


Consequence: Since Maya Smooth is the closest to LW`s SubPatch algorythm, it obvious, that LW`s architecture is capable of solving this problem. NT engineers should study Maya UV Smoothing process. Anyway, currently I`m looking for a programmer who would write two plugins. One is a displacement plugin for modeller, which would smooth the UV based on my theory, and one for modeller, for previewing.

jin choung
02-10-2004, 02:11 AM
actually jester,


it's just polys! it is exactly the same as performing a METAFORM operation on your polys. in fact, if you took the exact same low poly cage and textured in lw as you did in maya, it should look the same.

the low poly cage is polys and the final smoothed surface is POLYS.

THIS IS NOT A SUBDIVISION SURFACE (!!!). i.e. SUBDIVISION SURFACES ARE NOT POLYS. they are a higher order patch surface - advantages of such a surface being dynamic and 'unfixed' resolution and a control cage that is much less dense for the sake of animation and rigging. this is not true with a poly mesh... no matter how dense.

so the difference is that i am using maya's SDS. your process keeps it as polys AT ALL TIMES.

also, the way that you're doing it, you would have to weight the verts of the hi poly mesh. you don't have the ability of working with low poly cage.


at that point, you're talking about just working on a high poly mesh. AND at that point, why not just uv map the high poly mesh and have NO DISTORTION WHATSOEVER!

we could do that in lw now.

does that make sense? you are smoothing and subdividing polys but you are NOT using maya's subdivision surfaces.


jin choung
02-10-2004, 02:14 AM
oh, and you can STILL see distortion on the tail.

it's less in your model because you have extra edges on the tail -halfway from the branching point to a tip - on the low poly version. and this is an example of what i mean when i keep saying 'SUFFICIENTLY DENSE ENOUGH'.

if you remove those edges, the distortion would be pretty much what you see in my example.

and even though in the smooth operation in maya, there IS an option to smooth the UVs, as we talked about before, the smooth will NOT address the proper curvatures that take place during subdivision for the OUTLINES of every uv "PART". you would STILL have distortion there.

so if you have STRAIGHT OUTLINES on your uv parts on the low res version, in the hires version, you will STILL HAVE STRAIGHT OUTLINES!

this would NOT be ideal for a final solution in lw.

really, if you take your mesh (which does sound like it is sufficiently dense) and do a metaform operation in lw, i think you will have very similar results to what you're getting in maya.


02-10-2004, 03:32 AM
I`m sorry to say NO, YOU ARE WRONG.

That distortion is geometrical, and result of the GEOMETRY DISTORTION, and not the UVs


Believe me, it would be the best solution for LW.

02-10-2004, 03:35 AM
And don`t forget: I`ve mapped it BEFORE subdivision. So, for workflow, and efficiency purposes this solution is currently the best avaliabale, and moreover, I`m sure that it`s easy to implement it to LW, even in a form of displacement plugin, or a surface shader

jin choung
02-10-2004, 03:55 AM

as i said, if you take out the chain of edges in the middle of each prong of the tail (the 'v' shape in the back is bisected), the distortion will be clearer. also, you say it's geometric distortion but if you're just doing a straight projection down the X axis, there shouldn't be any distortion at all if you're looking down at the fish along the x axis, right? but there is and that's because of the uvs.

also please look at your uvs... you will see that the OUTLINE still just looks like the low poly cage... it does not reflect the curvature that happens after smoothing. and that would result in distortion too.

and personally, it's NO BIG DEAL uv mapping a high poly cage! just grab a bunch of polys and project them into uv space... especially with lw's selection tools, projecting parts like that is really cake.

also, do we at least agree that you're NOT using subdivision surfaces? it's STRAIGHT POLYS! if you asked maya what kind of object that is, it would say polys... NOT sds.


02-10-2004, 04:10 AM
Jin, I think jester is right on this. Just my opinion.


02-10-2004, 04:18 AM
I mean, if it is straight polys (your opinion), and it is the closest appoximation of 'metaNurbs' in Maya, and it is easy to map UV wise, then, perhaps, metaNurbs aren't true Sub-D's (my opinion), but they're pretty damn good and a proper mapping solution is not too far away.


jin choung
02-10-2004, 04:25 AM

i am literally weeping...

ok... extreme cases call for extreme measures. behold:

1. you have an extreme shape here. it is basically a low poly cube with the sides beveled out and then scaled. yes, it's an extreme shape but it is to demonstrate that what is being claimed as a solution is not and cannot handle all situations.

note here that we're looking down the x axis and there is no distortion.

2. this is using jester's smooth function with smoothing of uvs checked. there IS distortion. again, we're looking down the x axis so if it 'worked' we would still see a perfect grid. we do not. and look at the uvs... the outlines of the PARTS look just like the low res version... just as it does in LW! the actual shape has changed in 3d space but the uvs do not (cannot!) reflect that. that's where the distortion is coming from!

3. a close up. again, if this worked, we should see a perfect grid!


the 'smooth uvs' option in maya helps a bit. but that's all! it's not a solution.


jin choung
02-10-2004, 04:26 AM

jin choung
02-10-2004, 04:27 AM

jin choung
02-10-2004, 04:29 AM

jin choung
02-10-2004, 04:32 AM
and note, what this means is that if you took the uvs of the low poly cage and used it as a painting template and painted something on it, it would get distorted out to hell.

again, this is an extreme example, but the ideal solution WOULD ADDRESS THIS SITUATION!

and the actual solution inside of maya does - using it's real sds.


p.s. don't fight me on this... it's exhausting! :)

02-10-2004, 04:46 AM
Jin, I`m sorry to disagree you, but you`ve made a mistake.

If you leave Keep Internal Edges On as you did, you`ll recieve the same as LW current UV system produces. Turn it to NONE, and suddenly you`ll see a proper solution.

It is the solution, it is the same in XSI (I`ve just checked), in MAX, etc.

We need a handy coder to make a plugin for this.

jin choung
02-10-2004, 05:02 AM
aaaaaaaaaarrrrrrrrgggggghhh hahahahahahah arrrrrrrrggggggh!

oh man... your killin' me.

ok. here it is without maintaining texture borders...


what this means is that you do not have a reliable painting template.

in this case, look at the uvs of the long QUADS. if you uv project on the actual hires, they would NOT look like ovals! but since they do turn out this way if you uv project on the low poly and then smooth like this, if you paint a texture onto the capture of the uv map, it will be distorted all to heck!

listen, you keep saying that i'm wrong and i've been careful not to say it back to ya... but you... are... wrong....


jin choung
02-10-2004, 05:07 AM
ah hell,

we're burning up the bandwidth anyway so here it is (with the 'maintain border' set to none) without the lines to get in the way.

see? the same kind of swimming distortion. again, in the ideal solution, you would still get a perfect grid and therefore an accurate and predictable painting template.


jin choung
02-10-2004, 05:30 AM

remember our forehead example?

let's say you have a low poly head. if you select for quads in the middle of the forehead and dump them into uvspace, if you smooth with 'maintain border' set to 'NONE', in uvspace, you're going to get an OVAL!

but that's not what it looks like on the model!

distortion again.


02-10-2004, 05:50 AM
This distortion not as severe as you recieve in LW. This distortion could be eliminiated by wise mapping. In LW you may be as wise as you can, but the distortion remains a constant problem.

jin choung
02-10-2004, 06:12 AM
now THAT is true! i am not disagreeing that maya's smooth with the uv options is not better than lw's.

but the fact remains that while the solution you propose may lessen the distortion in some cases, it CAN really aggravate the problem in others (the forehead example) and is not an IDEAL SOLUTION! which is my point. we should not be urging newtek to adopt a mere 'stopgap measure'. if they're gonna fix it, they better FIX IT RIGHT!

(and no matter how 'wise you map', for the shape that i used as an example, it would be EXCRUCIATINGLY DIFFICULT to map on a straight grid on the high res surface using your method. again, not an ideal solution.)

not to mention that what you're doing in maya is not subdivision surfaces at all! :)

and so, i go back to saying that the solution that maya uses to deal with this problem for its ACTUAL SDS surfaces is the way to go.


02-10-2004, 11:19 AM
Jin, shall we agree that wise UV mapping is a separate art? :)))

I think, if LW possessed the possibility Maya has (at least in UV mapping), I would have no doubts about LW8 success