PDA

View Full Version : Edge extrude normals problem


yann22
01-10-2006, 05:01 PM
Hi,

guess this has been touched upon before, but I couldn't find a satisfactory answer:

when extruding several edges, quite often one or two of them will move in the direction opposite to that of the extrusion, and the resulting faces' normals will be flipped, as can be seen in these pictures (click thumb for larger version):

http://img242.imageshack.us/img242/6255/extrude3jw.th.jpg (http://img242.imageshack.us/my.php?image=extrude3jw.jpg)
http://img242.imageshack.us/img242/2377/extrude29tf.th.jpg (http://img242.imageshack.us/my.php?image=extrude29tf.jpg)
http://img242.imageshack.us/img242/859/extrude30hw.th.jpg (http://img242.imageshack.us/my.php?image=extrude30hw.jpg)


Now: it doesn't have anything to do with "keep faces together" / the original geometry was created by building a polygon and extruding edges from it / no normals were flipped prior to the problem occuring / If I switch from local to global extrusion, the problem goes away, but that's not really an option for me / I've tried just about all the options under the "normals" menu, to no avail.

If anybody has some explanation for this strange behaviour and maybe even a solution, I'd be very grateful, since it makes modeling with edge extrusions a very messy affair.

Cheers

yann22
01-13-2006, 08:57 PM
anyone?

cheers

_vine_
01-14-2006, 12:16 AM
Unfortunately, I don't know of any real solution to your normal problem. I've learned to just accept that Maya doesn't always make the best decisions when extruding edges.

When making hair, I tend to just worry about sculpting all of the hair first, and then worry about the normals at the end before laying out UVs. Many times just a simple "Set to Face" does the trick for me.

Sorry I don't have a better answer, but I hope this helps.

yann22
01-14-2006, 08:27 AM
thx for your reply, I guess we'll just have to accept that Maya is a bit quirky / sucks bigtime (depending on my mood, lol) in this regard

cheers

mzee
01-14-2006, 09:41 AM
Hi RabbitRun,

can you probably post a simple scene - with the problem

cheers,

mzee

yann22
01-14-2006, 11:33 AM
Hi again,
here's a simplified step-by-step of the problem (top view, all extrusions local):

1.) Create a poly (counter-clockwise)
http://img385.imageshack.us/img385/9710/poly15ei.jpg (http://imageshack.us/)

2.) Extrude Edge upwards twice
http://img385.imageshack.us/img385/3537/poly25wz.jpg (http://imageshack.us/)

3.) Extrude several edges sideways
http://img385.imageshack.us/img385/407/poly30yi.jpg (http://imageshack.us/)

4.) Selecting the upper two edges to extrude upwards
http://img385.imageshack.us/img385/6633/poly47sk.jpg (http://imageshack.us/)

5.) When extruding, the left edge is fine, but the right edge extrudes in the opposite direction (downwards instead of upwards):
http://img385.imageshack.us/img385/825/poly57sf.jpg (http://imageshack.us/)

6.) When checking the normals in perspective view, one can see that the face on the right created by the last extrusion has a flipped normal, while all other normals are fine:
http://img385.imageshack.us/img385/7803/poly69tm.jpg (http://imageshack.us/)

Now, obviously I can always reverse flipped normals, but only after the extrusion and the useful thing about local extrusions is that one can easily create flowing shapes, because the direction of the extrusion will be determined by the previously created faces.

Maybe I'm missing something really obvious here, so any input is appreciated, cheers.

mzee
01-14-2006, 01:08 PM
Hi RabbitRun!

I tested your step-by-step tut.

Before you extrude the upper edges - click on the small blue round icon with the two circles. I'm not quite sure how it is called :-)

I hope this should solve your problem.

cheers,

mzee

yann22
01-14-2006, 01:34 PM
Hi mzee, thanks, but that's the global/local extrusion switch I was talking about earlier.
My problem is, that I would like to extrude locally to preserve the flow of geometry, but it seems that I will indeed have to make do with global extrusions...

cheers

Emil3d
01-14-2006, 08:14 PM
Well the result only makes perfect sense. It is like folding a peace of paper. When the edge wraps around the originating surface the face of the paper points up when folded will point down.

yann22
01-16-2006, 08:14 AM
Sorry, but I'm not sure how your analogy applies to extrusions, could you elaborate?

MasonDoran
01-16-2006, 11:12 AM
this problem has been known for a long time....and i always check to see if they fix it.


As much as you want to work in local mode, this problem forces u to work in global mode...and I dont know of any possible work around.

There are a lot of different modelling techniques....and when you get in a situation like this you can always change tacticts and use a different method .

MasonDoran
01-16-2006, 11:13 AM
u can also duplicat this just by extruding opposite edges of a plane a couple of times to see that somehow one edge gets reversed.

Emil3d
01-16-2006, 12:13 PM
Sorry, but I'm not sure how your analogy applies to extrusions, could you elaborate?Hi RabbitRun, I guess my bad English showed its ugly face again:). Here I’ll give it another try

Like in real life, when you take a piece of paper with an image on the front side and nothing on the back side, and then fold a part of it, when you view the paper from the back, you will see the image facing you on the folded part.

The same physical rule applies to edge extrusions in Maya. When you extrude an edge and push it back towards the surface so that it overlaps it, you are in fact folding the surface and Maya is trying to figure out whether the new surface is folded on the front or back of the original surface. In cases with multi edge extrusion on complex and especially non planer polygons, some of the extruded edges will end up folded on front and others on the back of the original surface, resulting in a twisted surface with normals pointing in different directions. I’m attaching an image with a very simplified example. I extruded 2 edges on a side on a plane, then pushed them back to overlap the original surface, but also pulled them slightly down, to reveal the fold, then on a copy of it I rotated the edges to demonstrate the normals flipping in action.



I hop it is clearer now.

yann22
01-16-2006, 12:48 PM
Hi Emil,

thanks, I think I got your meaning now, don't worry about your english, I think you have just misunderstood me. I was in fact just plainly extruding away in one direction, when this problem occured. The pushing backwards and folding you speak of wasn't my intention, rather it is part of the bug in Maya I tried to describe.

Hi 2byts,

even if it doesn't fix our problem, it's still good to know that I'm not the only one ;),

cheers

Emil3d
01-16-2006, 01:33 PM
...I think you have just misunderstood me. I was in fact just plainly extruding away in one direction, when this problem occured...
Oh I finally got it. I thought you problem was only understanding the flipping normals.
Here's what you can do - convert the poly to subdiv and back to poly with vertices tesselation option to get it back exactly the way it was and now the problem goes away.

pixlix2
01-16-2006, 04:34 PM
Ok, so after everyone got it I made a video that better describes the problem.. lol.
Anyway, here it is:
swf - something like 1,4mb (http://media.putfile.com/extrude3)

I've encountered this wierdness quite often and never understood what's the reason... and still not..

Emil3d
01-16-2006, 05:11 PM
pixlix2, thanks for the video it shows the problem very clearly, and I did made some experiments bofore and I actually reproduced the problem even starting from a plane after a few extrusions. I updated my previous message with a workaround before I realized that you have already posted, so in case you've missed it, the workaround again is: convert the poly to subdiv and back to poly with vertices tesselation option to preserve the original geometry and the problem goes away.

pixlix2
01-16-2006, 06:14 PM
hmm, that workaround needs a workaround for me ;)

The back and forth conversion doesn't change the behaviour in my case - it's exactly the same like in the video. I converted the hand-drawn poly-object to subD and then back with vertex tesselation but when i do the two extrude ops it's all messed up again.

That's really really wierd. Even when you create a poly plane and draw the exact same face with the poly tool and delete history on both objects, still the handdrawn will mess up. I could not find the slightest difference between the two objects...

Emil3d
01-16-2006, 06:40 PM
It works only once per extrusion, like this:



after a bad extrusion result
undo that last extrusion only
convert to subdiv and back to polys
try the same extrusion again and now the result is OK
After that if you continue to build surfaces by extruding edges the way you showed in in your video you will again crate the same situation and then you will have to repeat the above steps again.

By the way it seems that if you only extrude by using the blue arrow the result will be OK, But that’s not always the desired direction.

Let me know if it works now.

pixlix2
01-16-2006, 07:28 PM
Hi Emil,

yes you are right, It's working now, many thanks! Now i can make a anti-mess script for the toolbar ;)

But it's still sad, Alia.. erm Autodesk...

yann22
01-17-2006, 11:29 AM
Hi again,

thx both for chiming in and Emil for providing the workaround,
it'll speed up my modeling for sure.


Cheers

danielkenobi
02-20-2006, 04:15 PM
I been having the same exact problems And I dont understand really what is going on. Does alias have in his plans Fixing this?

CGTalk Moderation
02-20-2006, 04:15 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.