UV Mapping and MeshSmooth Modifier


#40

I tried your suggestion in a lot of diferent ways but no good so far - I ended up having to unwrap the smoothed object (which sucks sometimes). I’m gonna try something metamesh said to me in another thread to see if there’s any gold there (http://forums.cgsociety.org/showthread.php?p=4876118#post4876118).

But I’m still waiting for the workflow you mentioned earlier Steve. And sorry for annoying you with this doubts!


#41

Hi,

try taking a look at this file, see if it works for you.

I did an auto unwrap UVW on the low-res object, and when tsmoothed there was a wobble at the edge of the extruded cube (the end, not the bit that joins the cylinder)

So I removed Turbsomooth and I added edit poly, selected the same edges as the location of the UV seams (which causes the distortion), and selected split.

I then put Turbosmooth back in the stack, since the physical mesh is now split, it won’t warp UVs around the seams.

I then loaded the channel info utility and copied the map channel, and then pasted it onto itself.

This added a UVW mapping paste modifier to the model on top of turbosmooth.

Now, if I delete or turn off the edit poly modifier which split the edges, the mapping should still stay OK with TS turned on at the number of iterations which I copied the mapping data. So you are unwrapping the low-res mesh, just copying the mapping data of a smoothed one which has split edges.

Anyway, here’s the file - I only split the edges on the corner in the middle of the screen, not the others.

It’s a big kludge, but I don’t know of any other way around it.

Cheers,

Steve


#42

Thanks for your help Steve! I’m trying that latter!


#43

Quite there, but not 100% as I woud like to have.
Tried that witha simple cube and cut some edges to keep the shape, applied a TurboSmooth, inserted an Edit Poly Modifier, split the edges, copy/pasted the channel info and switched off the second Edit Poly(see attachment).

Still have minor distortions, looks better than before, but still not that perfect like I would like to see it.


#44

Funny… I did as Steve pointed and it worked fine - a big hassle, but worked.


#45

On what kind of object(shapewise)?
Care to write down step by step? Just want to check if I’m doing this right.


#46

Well, I just did it with a doll I’m modeling. Not the most complex shape of all time but I’ve had some stretches in the arms and legs seams. OK, Step by Step (thanks Steve for all your help in this! I did it in my friend’s Max 9 and it worked):

My Stack:

TurboSmooth (TS)
UnWrapUV
Editable Poly

Steps:

1 - Make a copy of you object
2 - In your copied object, insert an EDIT POLY modifier BETWEEN UnWrapUV and TS.
3 - In EDIT POLY, go to EDGE sub-object mode and select the edges that are seams and have stretched (it’s easier to see these edges if you toggle ON “show end results” on your stack and “display cage” in the “Edit Poly Mode” rollout. Hitting F4 to hide wireframe also helps).
4 - After you selected some edges, hit the SPLIT button in the “Edit Edges” rollout.
5 - Repeat the process (selecting edges that show stretching and splitting them). Don’t worry if you geometry starts to look funny in some places.
6 - Go to UTILITIES (the with a hammer on it) click MORE and select CHANNEL INFO
7 - Inside CHANNEL INFO select the row which has the MAP ID (in my model it was the last row). Click COPY in the CHANNEL INFO dialog, go to your original model and hit PASTE still in the CHANNEL INFO DIALOG.
8 - A new modifier will be added to your model, and your textures should now look fine.

If you need further help (i.e. an illustrated walkthrough) I’ll be happy to help!


#47

Thanks for your efforts, sounds exactly like I did.

Sounds like there is no other solution then splitting the mesh and relaxing the remaing distortions in the unwrap.


#48

Well, I don’t know if this is the only solution - I’ve heard you can also substitute the Turbosmooth for MeshSmooth and check “Old Mapping Method” or something like that on MS. If there are ANY other ways I’m gladly (and, hopefully, we will be) listening!


#49

I started to script the whole process and it works quite well most of the time, but with some objects it’s simply impossible to transfer the channel info data as the number of faces changes when using TS.
No idea why, working on it.


#50

Cool!! Does your script wprk with complex shapes?


#51

It’s quite easy to automate the splitting process, but think I need a few days more to work on it.


#52

Man… I feel I should study Maxscript a little more… The explanation Bobo gives in Max help are most complete. I wonder how the these people’s brain works - they must have a LOT of clockwork in there… :smiley:


#53

Not really.

It works in this case, but completely fails in others.
It’s still not able to remove stretchings, only distortions.


#54

Once again thanks scrimski and davius for providing the solution. I’m been trying to solve this problem for sometime now… by the way is this a software problem that Max have?


#55

Ok, here’s my script attempt. I’m not 100% done yet, but due to lack of time I can’t finish it atm, maybe it’s usefull for someone anyhow.

Tough still in beta stage, it does work quite well.
Quite good at removing distortion in most cases, fails in removing simple stretchings and sometimes doesn’t work at all(haven’T figured out why, sorry).
Feel free to use and to add features as you like, please report bugs, errors, suggestions to the mail adress listed in the script.

Workflow:

Select object, directly or via selection floater.
Object needs to unwrapped, otherwise the (non)existing or default UV layout is going to be used.
Attention: Keep in mind that the object is going to converted into an editMesh, everything in the stack is going to collapsed.

Options:
Keep flattened geometry: Offers the option to keep the UV layout as geometry, default is off
TS/MS Allows to choose between TurboSmooth or MeshSmooth, default is meshSmooth
Iterations: Number of Iteration to be used in Turbo- or MeshSmooth, default setting is 1 iteration
Isoline Display: Allows to switch on Isoline display for te Smooth modifer, default is off

This script is provided as is, use it at your own risk.


#56

This can be reduced a bit as follows:

  1. Create seams in your model (split edges or detach to element) in the same places where they are on your UV layout
  2. Apply MeshSmooth (TurboSmooth screws it up regardless, though to a lesser degree)
  3. Apply UV Unwrap
  4. Go back to your low-poly mesh and weld the seams

Should work :slight_smile: It did on my simple test case.

The really bad thing is that you can’t use render iterations and everytime you change the Meshsmooth settings it screws it up again. I wish Max would finally have with a GOOD SubD modifier. Or is this a problem with all 3D software? I doubt it…


#57

Hehe, can be reduced even more:

  1. Add an edit Poly modifier in you stack below the smooth
  2. select all edges, split them(yes, all of them)
  3. proceed with steps 6 and 7 like described by davius
  4. deactivate or delete the edit Poly modifier from step 1

#58

LOL! Sledge hammer approach!


#59

Hey guys,

Here’s another approach,

First make a copy of your object and remove the turbosmooth from that object, so you have an object with meshsmoothing applied to it and another without. Add an uvwmap to your smoothed object on top of your turbosmooth. Just leave it at planar. Click Acquire (located at the buttom). Select your unsmoothed model and choose relative.

I have only tried this with some dummy objects - but it seems to be working.