View Full Version : how to move Vertix while preserve the UVs to maintain the map's position?
zinzin 10-09-2006, 03:12 AM Hello Eveyone, I saw my friend using max can do this! and made life a lot easier!
is there anything simlar in Maya??
can someone tell me please!
thank you very much!!
| |
isoparmB
10-09-2006, 03:20 AM
You usually don't need to do anything. Uv's do not move relative to a texture map when cv's change position in 3d space, normally. You may still have uv texture mapping history from when you were uv mapping your object.
You can fix this by selecting your geometry and deleting history. Hope you haven't skinned your object, though, as you will lose your skin weights.
zinzin
10-09-2006, 03:30 AM
sorry, didn't make too much sense for me!
what I want is, while I move the Vertix, the Uvs actually supposed to be moving with the vertix (in the uv editor) , so that the map who was projected on the model remain the same.
Emil3d
10-09-2006, 04:29 AM
Well zinzin, actually your request doesn’t make sense since vertices move in 3D and UVs in a 2D space and I don’t see how Max or any other program can resolve this.
A UV is always attached to a vertex in the 3D space and moving an UV in the UV texture editor over the texture tells Maya which part of the texture is mapped on a specific vertex.
However If what you are trying to ask is how to move vertices without moving the texture placement, then just assign the texture as projection. To do that, in Hypershade or Create Render node window, before choosing the texture, click on the “As Projection” radial button.
thematt
10-09-2006, 07:34 AM
hello,
Zinzin is right, max as this option in which it is possible to move a vertex, while maintening the Uv's where there where.This thing has been discuss a number of time here or on Highend but I don't think there is a solution for that in maya.Although, i haven't test it but with the new proximity transfert from maya 8 you could certainly do it, copying your model, moving vetex here you need and then retransfert the Uv base on the proximity.In theory it should work.
cheers
MasonDoran
10-09-2006, 10:34 AM
it works...I have tried it for specifically this effect.
zinzin
10-09-2006, 11:25 AM
hi Thanks, it sounds I c hope but I can't afford maya8 yet! (either my money nor my machine)
is there any mel script or plug-in can do this!
I will try to find maya8's relatived docu too. Thanks a lot!~
zinzin
10-09-2006, 11:28 AM
btw, even this menthod works in maya8, but it seems every time I wanna maintain my texture, I need to do severl steps which seems troublesome~ with a lot modeling work, it is time consuming! in max it's just a shortcut key difference.
I am looking forward maya9...
Emil3d
10-09-2006, 01:59 PM
Forgive me if I can’t understand but I have no idea what a lot of you are trying to say here: how to move Vertix while preserve the UVs to maintain the map's position? …
…what I want is, while I move the Vertix, the Uvs actually supposed to be moving with the vertix (in the uv editor)…Zinzin is right, max as this option in which it is possible to move a vertex, while maintening the Uv's where there where….Here’s an illustration of how UVs work in Maya.
http://i111.photobucket.com/albums/n129/Emil3d/UVs.jpg
As you can see when you move a vertex in the 3D space its associated UV coordinates in the Texture Editor never change and I don’t see how that is possible in any program.
edit: Unles the program shows distorted UVs position instead of distortied image which in my opinion is a bad idea.
When the texture is assigned as projection, Maya distorts the texture image in the UV texture editor to so that it doesn’t appear distorted when you move a vertex in the 3D space.
When the texture is assigned as normal, Maya distorts the texture image in the 3D space and keeps the image intact in the UV texture editor.
frogspasm
10-09-2006, 03:27 PM
What zinzin is describing is how Max is able to preserve the UV's on a mesh that you are moving vertices around on, relative to the pre-edited mesh. It's actually distorting the UV's to try to keep the mapping looking the same as it did before you edited the model.
~Mike D.
Emil3d
10-09-2006, 04:45 PM
Thanks for your explanation Frogspasm, but for me that brings more questions.
Does actually that Max method do something different as a final result from what I illustrated above with the texture projection example in Maya?
If Max does the same then in my opinion it does it in a way that as I said in my previous message is a bad idea of implementing Maya’s projection. Instead of distorting the image of the texture in the UV texture editor, it distorts the display of the UV coordinates. So in Max you move a vertex in the 3D and you see it moves in the UV editor but at the same time its real UV coordinates are not changing.
May be it is because I don’t know Max but I can’t imagine any advantage from this implementation. Then how do you bake a texture in Max and how you see where the image is distorted from a projection in order to edit it properly?
frogspasm
10-10-2006, 05:43 AM
Max will distort the UV coordinates to keep the look of the mapping the way it was before you altered the topology. It's something you can turn on or off, so you only have to use it when you want to. It's really useful when you have a character that you have UV mapped to a specific texture, and you want to adjust the topology of the character, but not the placement of the texture.
Here's an illustration:
http://forums.cgsociety.org/attachment.php?attachmentid=103096&stc=1
wat2k
10-10-2006, 05:46 AM
If I don't get wrong.Xsi can do this too.It is called "texture swimming".
Emil3d
10-10-2006, 12:14 PM
Thanks for the illustration Frogspasm,
I think I understand how this works but before I make a cnclusion, I have to ask one more question; what happens to the texture in Max when you alter the shape (not only repositioning the topology) for example move a vertex like in the screenshot I posted or add additional geometry like extruding faces or appending?
robinb
10-10-2006, 01:50 PM
Nothing happens to the texture, the uvs are moved to compensate for any physical movement of the verts.
It doesn't work on newly generated geometry, so if you extrude a poly the sides still get streaked texturing. It only sometimes works on uv boundaries depending on the relationship of verts to uvs, although sometimes it's surprisingly effective.
In the case of your picture 2, the results look like your viewport image, but the texture remains as it was, but the uv is moved up. This won't work on a corner vert like you've got selected as it's used by a uv that's trapped in a corner and would have to move in two directions. It works on the other corners though.
It is very useful, especially on say a large piece of tile mapped ground that needs to have the geometry moved around (for game landscapes). As I said above, uv boundaries can cause problems but as long as the verts are moved around within a uv chunk it works pretty well.
Emil3d
10-10-2006, 03:11 PM
Thanks for the details Robinb.
That’s exactly what I thought it is. To do this in Maya instead of moving a vertex you have to take the split poly tool and draw new edges where you want the original ones to move, and delete the original ones. This way the texture is not affected, no UV distortion occurs, and a new UV is created replacing the old one. Apparently Max simply automates this on the fly giving the illusion that the original UV has been moved and positionally distorted.
And yes this makes sense and should be perfectly possible to be implemented in Maya and I think is a matter of demand and decision. I would welcome such feature.
Although personally I haven’t missed it a lot since in such cases I model over a stationary texture that is projected form a spot light over the model where I’m not restricted to sliding vertices over the current shape but can pull and move any vertex anywhere over a texture that doesn’t move. Once my modeling is done I assign the texture as a projection from the light’s look through camera. I can project like this from any number of angles, bake all angles projections as textures and in Photoshop blend all as one seamless texture. This method is perfect for me since it will produce perfect texturing with a UV layout that is far from perfect.
robinb
10-10-2006, 03:48 PM
You could certainly do something similar by splitting the geometry and removing the old edges, and I used to do it that way before Max got the 'preserve uvs' option. But I don't think Max can be doing it that way with 'preserve uvs' as it doesn't affect vertex order (I used it to change the shape of a head used with the morpher and it still worked so the vertex order can't have changed).
And the way you describe using projections from lights also works. You've always been able to do something similar in Max by editing the geometry under a UVW Map modifier. That's just the way the stack works. Again, very useful for modelling to match an image. Good for architecture. I believe this is essentially what the XSI 'Texture Swimming' option does, you have to leave the projection live right? You don't with 'preserve uvs' it works on a collapsed object (it doesn't work if there's a UV projection or a UVUnwrap on the stack as they would override it).
All really useful options, especially to a game artist like me. I'm very happy to see all the improvements happening with UV tools at the moment, they all save me loads of time.
Thanks for your explanation Frogspasm, but for me that brings more questions.
Emil, I don't know Max, but from what I understand, Zinzin, actually want's his UVs to *move* instead of remain in position when he repositions vertices. It's a communication thing I guess. He wants the texture to maintain the 3D coordinates (as good as possible), while tweaking vertices. As far as I understand from this discussion, some 3D apps have this option.
I'm thinking here that this should actually be possible in Maya: but only when you've mapped your UVs with a texture projection node and didn't remove History.
Okay, I tried it, but it doesn't work out of the box. Apparently, when using a texture projection node, a duplicate version of your mesh is created. I tried connecting the original object's "outMesh" to that proxy mesh (inMesh) and yes: it sort of works. Moving vertices moves the corresponding UVs in the UV window too (only relative to the projection, of course). But there's some cyclic connection-thing going on, and moving the vertices is awkward (a bit what you get when you have double-transform problem). Someone more talented than I could probably find a workaround for this, but it would still only work on texture projection-based UVs.
Emil3d
10-10-2006, 05:43 PM
Robinb
thanks for the info. I thought about the vertex order and knew that the final effect will not be the same for things like blend shapes and assumed that a feature like this should have dealt with keeping the vertex order. How this is exactly done I can only guess but my explanation was rather an attempt to find something that makes sense with understanding it and not an attempt to explain the particular technicalities behind it which is beyond me. But establishing the new relation between the coordinates of a vertex and its UV after moving the vertex in Max is apparently on the same principle that makes this relation when creating a brand new vertex.
Zmip
yes this is what Zinzin wants and it already became apparent to me. What we are still trying to figure out is how this feature works.
Regarding your attempt to reproduce it in Maya, right now I can’t understand exactly what you are doing and don’t have time to play with this but I don’t think it is related to projections. Maya be you can give a try to the Thematt’s suggestion earlier with the transfer thing
zinzin
10-11-2006, 03:16 AM
Thanks all you guys for so many suggestions.
the purps of the question is to make life easier~ so I can edit poly in a quicker way, not chanllenging other software for achieve doing this (that will make more trouble actually) if there is not such feature in maya, ok, let it be~ there are always other ways.
yes it's called texture swimming in XSI.
I think eventually maya will be able to do this.
monkey monkey monkey
01-21-2007, 05:41 PM
Autodesk have been lovely enough to include a Preserve UVs tool in the latest Bonus Tools:
http://area.autodesk.com/custom/?id=4508
They even have a handy video showing you what it does.
Trouble is, i'm such a noob I don't know how to actually get to it in Maya!
I've found there's now a Bonus Tools menu, but going through it there's nothing to suggest a Preserve UVs plugin. I've set all the Bonus Tools in the plugin manager to 'loaded' and 'auto-load' as well.
So... where is it? It's just what I need at the mo!
ManDay
01-21-2007, 06:14 PM
I only read half the thread but because I now know Maya as well I can give a statement:
Max only offers Textureprojection and no actual UV-Mapping. So when you normally move a vert in max it shifts within the projection. Maya rather starts from a projection which only determinates how the geometry is unfolded than keeping the UV distict in a plane of projection. In Maya geom is unfolded and is projected onto the texture where in max the texture is projected onto the geometry. that means:
Maya:
3D->2D --projected on-> 2D
max
2D->3D --projected on-> 3D
That is the reason why in Maya you dont have to move the texture with the vertex.
Eltarbos
01-21-2007, 09:56 PM
Be sure you download the last update. The preserve UVs script have been included.
Have fun...
monkey monkey monkey
01-23-2007, 02:36 PM
EDIT: I'm sure it didn't say they'd only work in Maya 8.5 before... :sad: ... looking again, the file's called MayaBonusTools8.0_win32.msi :rolleyes:
monkey monkey monkey
01-28-2007, 03:46 PM
I've got Maya 8.5 running, and there's the Bonus Tools menu. I select 'Preserve UVs window' and...
// Error: source preserveUVs;preserveUVsUI; //
// Error: Cannot find file "preserveUVs" for source statement. //
:banghead:
I've reinstalled the bonus tool for 8.5 three times! It seems to be the only tool NOT there!
Could someone tell me what the plugin file is called, and where it goes in the Win32 directory structure?
they forgot to add it into Bonus Tools from start, so they've put an BonusTools Update download on the-area heh :)
http://area.autodesk.com/downloads/plugins/view/4538/
http://i111.photobucket.com/albums/n129/Emil3d/UVs.jpg
Sorry to resurrect this old thread, but i can't seem to be able to replicate the behaviour that is shown in the picture above in Maya 2008. What are the exact steps ?
Edit:
Never mind i got it working by enabling the High Quality Shading :rolleyes:.
It seems that the way Maya handles this ( messing about with the actual Texture as opposed to adjusting UVs ) is really slow when setting the color-texture resolution of the HQ Shading to something like 1024.
vBulletin v3.0.5, Copyright ©2000-2008, Jelsoft Enterprises Ltd.