From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Have a careful look at this Triangle image because it holds the key to mastering Sub-D modeling.

Triangle.jpg

Triangle is the smallest element in a 3d model and by knowing how to solve Triangles you will make a big leap forward as a 3d modeler. In fact, once you're through with this thread you'll be modeling like Bay Raitt! (No kidding!)

But first we must understand poles and before you read on make sure to forget what you have learned about Poles! Here is another way of looking at it.

Note
This is a copy of this thread from Someartist and others (Someartist gave permission to resume here his thread).

Similar thread to merge:

http://blenderartists.org/forum/showthread.php?t=93651




(to be edited from here on)

Toontje

I feel like I'm Hijacking this thread[[Image:]]
Someartist, you're explaination is gold!
I was also looking at the workings of edge loops and pole at more atomic level and I like to explain what I found about using the "spin edge" or "spin quad" command.

I don't know if Spin Edge is available for all packages. I know for a fact that you can perform a spin edge in Blender and Lightwave.

If you have a grid and you perform a spinedge somewhere, 2 N poles and 2 E poles will be produced. It seems that in normal circumstances the number of E-poles is equal to the number of N-poles.


As you can see, after a spin, you are left with 2 loops like railroad tracks opposing eachother. I maybe wrong here, but I found that you can follow the loops better if you look at the N-poles instead of the E-poles. You see in the picture above that the edge loops get bent at the N-poles.

The cool thing about the spin egde command is that you can bend the loops anyway you like. One major drawback is that each spin edge spawns a new loop.


As you can see that if you intent to use spin edge to create loops, you will get this rather nasty side effect.

But you can use spinquands in situations to eleminate poles (just reverse the procedure above by spinning the edge in the oppisite direction) or to correct edge flow, which I will explain in a later stadium.

Remember the simple extrusion that leads to a closed loop? Well, you can make a closed loop too with edge spin and judge for yourself how much it differs from the extrusion method:


Here you have a closed edgeloop, but with side loops bordering its corners.

On a final note, you can collapse those side loops thus elliminating one N- and E-pole also like this:


I deleted the edgeloop in the lower right corner by collapsing it. In Blender you should be able to delete this loop, but I get an error saying that it is intersecting itself (must be a bug, because it clearly does not intersect itself). So I merged the verts one at a time. Maybe it is possible to elleminate poles in general by collapsing (unwanted) edgeloops? I'll have to experiment a little to find out if this is true for all situations.

I guess the moral of the story is: Beware of spin edge.... for now.


Somehow we (as a whole) need to come up with a clearer explanation for those that are starting out.


Which one is really edgeloop? A, B or C. The majority believe that B is a better example of EdgeLoop.

Redefining Edgeloop can be tricky because of the context. For example, a passionate Organic modeler might say that Edgeloop is “MuscleLoop”! If this organic modeler spread this idea then it will be a problem when you start to model trees or Machines since they are not Organic so you can't really say “MuscleLoop” when you're modeling a Building since buildings don't have muscle.

Now if you use SUBD algo that gives no pole then (A) in the image above would be a true Edgeloop since edgeloop in a poleless model would run from start to finish but when you use SUBD algo that gives Pole then (A) would not be a true edgeloop anymore since a pole would stop it completely. To pass the pole is to use the Ring as Loop and Pole would not stop it as seen in (B). The problem with (B) then is Ngon, having Ngon in (B) would stop that PolyLoop whereas having a Pole in (A) would stop that EdgeLoop. So to go pass all the Ngons/Poles is to go with ( C ) which is inside a PolyLoop(B).

Since the Edgeloop inside ( C) is actually inside a PolyLoop does that not make (B) a better definition of an EdgeLoop? I know that an Ngon would stop that Loop but we all know that Ngons are bad when it comes to PolyLoop modeling so (B) fits the concept perfectly. By choosing B as the concept we can make this concept even better with the Key and Fill. If we choose to go with A or C then the Key/FIll would be gone and learning modeling would be difficult.

Some people prefer to listen to Programmers because they are the one that coded the code but we must keep in mind that programmers are not artists and vice-versa. It's all in the context and we should pick one that makes learning easy! Muscles are not thin lines, they are thick and (B) would be the concept I go with.

If we choose to leave everything the way they are then we can use clever concepts when we are referring to them. For example, if I were referring to (B) I would say: PolyLoop. (C) would be EdgeLoop and (A) would be EdgeCurve.


Layer01


your absolutly right, we need a unified nameing scheme, otherwise everyone is just going to get confused.
faceloops sound better to me than polyloops, as we already talk about faces, vertices and edges in all modeling apps to describe the three basic elements.
But maybe we need new words to help us describe what we are talking about?
say maybe instead of (B) being a faceloop (cause some might argue that it doesn't loop back and close itself) maybe we could instead have the name reffer to the edge that runs the faces.
maybe O loop
like this:


i say "O" because if you look at the edges around the faces they form a closed (in this case bent) O shape...seems to me that this sort of visual naming makes sense as its clear why its called that, and even a newcomer can see it and undersand.
as for the edgecurves...that name makes little sense to me, i see its an edge but nothing to make it more a curve than say a Cloop. its just not imediatly logical.
however it seems to me that its main feature is that it's adjacent to Poles, or is connected/stoped by poles, so it'd make sense if the name invoked this nature..say poled edge, edge pole, pole curve?


however (c) makes sense, its an edge..and it loops, all or part of the mesh. this sort of logical naming scheme is what we need.
just look at exsisting names, box modeling..reffers to a modeling style usualy started with a box...poly modeling, a style that involves building the mesh poly by poly...all easy to undersatnd cause the name is linked to the concept.

of course making new words can be tricky, but if they make sense then people will use them, for example Epole and Npole makes sense and i use them all the time now to describe what i'm talking about.
not saying my names are the best or anything, just putting forward some suggestions.
though for the record faceloop and edgeloop work for me. [[|]] = Mesh breaks

 =

Toontje


Hello,

Today I'll be talking about mesh ripping. I don't know what the command should be called, or if there is a similar command in another package than Blender. If anyone has a better name for it, I'm interested.

So, what's up? The tools that I'm explaining here are tools that have an effect on the topology because they produce poles. I didn't quiete master the ins and out of this technique, but let me present to you what I found out so far.

What is mesh ripping? With this tool (Vkey for Blender), you rip the mesh open by pulling at a vertex. In Blender you should fill the hole it produces yourself.

[[Image:]]

The mesh above was ripped open at the upper N-pole. After that you may want to fill the resulting hole. In these scenarios I will fill the hole.
So, like spin edge, rip mesh produces a pair of N-poles and E-poles. Like I said before, the direction of the faceloop (I agree on the terminology too) is determend by the N-pole.

The resulting hole stands out like a diamond in the mesh. If you encounter such situations, and you a meaning to eliminate poles, just merge those N-poles together to get rid of all the neighbourhing poles (thus effectively reversing the mesh rip).

After a spin edge, you are left with pair of poles opposing eachother diagonaly. With mesh rip the poles are opposing verticaly or horizontaly.

So far I have found these uses for mesh rip (topology wise that is):
1) Moving E-poles around (YES[[Image:]] )
2) Creating C-loops

Because of the lack of Ngons support in Blender, you have to manualy complement the mesh ripping operation by using the cut tool and merge triangles into quads. But nevertheless, mesh rip is a very powerful tool.

First, Creating C-loops:

The rip mesh tool is very flexible in conjuction with the knife tool. Depending on the method, you are left with a single C-loop, or with a mirror pair of C-loops.


Creating a single loop:


And after the cut:


This was a very minimalistic loop because I ripped at only one vertex.


If you want to make a much wider loop, you must rip all the vertices in a row. You need to use the knife tool to obtain the face loop. Depending of how you cut the mesh, the results will vary.

To obtain a single broader face loop:


Here I'll cut before I fill the hole, else there will be triangles in the corners


And then after filling the holes and cutting (and smoothing) you are left with one C-loop (by the way: I assume that C-loop means C shaped loop and not closed loop).


There is a number of ways to make a number of wacky face loops/ edge loops with this method, but i suggest to keep it simple because simplicity and predictability is the name of the game here.

Lets try to make a a closed loop like in a extrusion:


After the last operation you are left with this:


Wich is identical to an extrude operation of course. So let us keep in our back of our mind that the break command and the extrude command is somehow related.


Now then, there are a lot of ways to finish of the break mesh operation with the knife tool, each producing its own unique outcome.

Here I will demostrate the easiest way to use the knife tool, but it produces a mirror loop. This effect may or may not be desirable depending on the situation.

After a break, fill the holes. You are left with 2 tris in each corner. Cut through this so the tris are doubled, which means you can join them back to form quads (*).


And you are left with two overlapping C-loops:


I've experimented a little with ways to complete the loop after a break, but the other results were a little funky, like one c-loop being overlapped by two opposing c-loops.

You might think that a break is the oppisite of a vertex merge, but it isn't. In an all quad mesh, a vertex merge can't be undone by a break.

But what a break does is removing one edge from a vertex! But a beak will add an extra edge on both its corners. Armed with that knowlegde I will show you tomorow how to move poles around. Essentialy you are adding an edge to the N-pole making a 4 edged vertex (normal quad) and you are removing an edge from the E-pole, and at the same time you are adding an edge to a vertex outside the loop. It sounds like a mouth full, but is just 2 simple actions.

*: For those "I hate tris" folks out there, that's a sure way to eliminate tris, but it could leave you with a jumble of unwanted edge loops. Best is to cut through the shortest route.

SomeArtist

For this post I'm going to talk about the technique since people are waiting for it then later I'll respond to the posts before this one. [[|]] = UnPole

 =

For this post I'm going to talk about the technique since people are waiting for it then later I'll respond to the posts before this one.

Earlier in my first post I showed you the Triangle image and told you that it held the key to mastering Sub-D modeling.


The top row is what you have been living with and the bottom row is the UnPole technique. Combine this technique with Spin Quad (plus the knowledge on Poles) and you have just mastered SUB-D modeling! Here is another way to solve the Triangle.


Keep in mind that I did not invent any of the above I am only giving it a name and raising awareness (especially the bottom row in the first image). Now that you can solve Triangles you can turn a messy mesh into a good looking mesh! First let's look at the SpinQuad and Unpole.

Note: You need to know the above if you're planning to model in Blender since Blender produces a lot of Triangles.

SpinQuad/UnPole

SpinQuad is a very powerful technique that can change a flow in an instance. All you need to do is select two faces and Spin them.


There are two problems to this technique and they are:

1: The mirror effect.
2: The NPole!

These two problems can be solved by unpoling the Npole and once that Npole is gone the rest will be gone.


I look at Unpole as a technique to clean up the mesh (beside shifting poles).

There are two ways to create/change a flow and they are:

1: From a pole perspective
If you want a pole at a specific location then do not use SpinQuad since it's difficult to visualize the result in your mind. By knowing that two Es on the same lane will create a Circular flow, then it's logical to do it from a pole's perspective.

2: From a SpinQuad perspective
Use SpinQuad when you don't think much about Poles. Sometimes it's logical to use SpinQuad over UnPole and vice-versa!

And last you can combine these two together. I'll get into Shifting poles next for now try and open one of your messy meshs and see if you


Toontje


Though act to follow. SomeArtist, I feel like one of those small fishes swimming along with the shark.

I will present to you some technique to move poles around. One can be done with the Break command, and the other can be done with the Spin Quad command.


First the break command:

Let us take a standard circular egde loop/ face loop as the starting point.

A break normaly produces 2 E-poles. In this we have to break the mesh (/vertex) at a specific location so you are not introducing an extra E-pole. The logical place to do that is where the N-pole is located at. But not only you'll shift the E-pole, but the N-pole will come along for the ride. But this technique can only be done when there are no 'fill loops' present, in otherwords, the E-pole and N-pole are in direct contact.


Using Spin Quad:

There is a lot of possibilities here making the spin quad rather flexible. As stated before (I think), the spin quad should be used more as a tweak tool. By moving poles around, you have total control over the flow of the loops. With the spin quad, if you spin an edge that is connected to a N-pole, you'll get a pair of quads that shares two edges. This will look like two tris, but don't be fooled and convert it into a quad.

Let's start from this situation:

This was achieved by performing a spin quad.

SomeArtist already showed an inginieus method to eliminate one pole by unpoling the N-pole. I guess this can be done for any N-pole. One possible disadvantage is that your mesh will become denser.

In the image above, you have 2 loops that are joined at the hips. Here I shall show how to move the E-pole around and thus effectively seperate these two loops. This method can be repeated to further drift these loops apart.

(continued on next post......)


In the image above there you can see those two loops that are joined at the hip. To seperate them you can spin the green of blue edges. Don't spin the red edge, otherwise you are just reverting to the original situation (no loops) or if you spin twice both loops will flow in a oppisite direction.

The green loops are easy. When you spin it, the loop will seperate and drift diagonaly away. You may keep repeating untill the loop is at the end of the mesh. Or you can unpole it or collapse it to get rid of it.
Maybe it is not apperant in which direction you should spin this quad/ edge. Just visualize that you have to spin it so the edge will allign to the horizontal adges outside the loop. So in this scenario you should spin the upper right green edge once counterclockwise and the result is this:


SomeArtist

I can actually lose my breath by trying to show you all the combinations so what I'll do is show you the key ideas then from there you can experiment to find out. I might only show you one way but keep in mind that there are many ways! It depends on how you want your mesh to flow and how you look at solving the Triangle.


When you want to merge two Es onto the same lane all you need to do is collapse the edges.

Moving the E (Rotating)

An E Pole has 5 edges and all you need to do is take one of the 5 edges and rotate it, that is in theory. In practice what you do is delete it which will remove the E pole and you are left with an


Ngon. Rebuild the Ngon and there you have it...


Triangulate


The combinations are endless once you turn a Quad into a Triangle. Look below:


The same key idea can be used in reversed:


Toontje brought up SpinQuad and there is something interesting in it when you compare it with the Wrinkle technique which is used for wrinkle effect but it can also be used to create flow(s).


The difference is in the poles. Also, earlier I said that the Spin Quad are not logical well, after looking it a little closer I can now say that it's very logical!


When you about to an spin edge or quads keep in mind that the green dots will be converted to Epole and that the Orange dots will be converted to Npoles.


Toontje


OK now, I will continue with my previous rambling [[Image:]]

In my previous post there is a matter left about the blue edges. This has to be spun COUNTER CLOCKWISE always. The end effect is that the loop drops one position/ row. But in between the spin quad action will look like a mess. Delete the lone vertex. What this realy is, is two quads sharing two edges. By deleting this vertex, and filling the hole up, you are converting these 2 quads into one quad.


Ofcourse after smoothing and stuff the result will be:


Indeed you might have noticed only a vertical shift. You can shift it verticaly too by spinning another edge. But like SomeArtist said, I can lose my breath explaining all possibilities. As long you get the picture.

Next I'll explain the cut tool. I've discovered that the cut tool gives very unexpected results. You cannot just simply cut away in your mesh and expecting a nice edge loop. But I found a method to correct that using the magical but less understood Spin Quad again. With this method, you are left with a totaly clean face loop that you can use for a number of things like fine detailing (veins and such)


This one is very tricky and I doubt that someone discovered the fundemental flaw of the cut tool, otherwise it would have been mentioned long ago. That is perhaps why I was never able to define muscle shapes with the cut tool in the past.

I gather I don't have to explain what the cut tool does. But I don't know if it works the same for all packages. But here it goes:

With the cut tool you can cut faceloops/ edgeloops into your model. Most of the time you hear that you can model small detail like veins easily with the cut tool, so let's do that.


Lets pull this edge out to form a nice vein or something


So it looks like a nice method to add detail or loops to a model right?
WRONG!
First of all remember that I've said how face loops got bent? They bend at a N-pole! All face loops layered after that one will get bent by the N-pole!

Let's take a closer look at the cut mesh:


Observe how the face loop would get bent at the N-poles. Indeed there is a problem here: the location on where the face loop would bend alternates on both sides of the highlighted edge loop. This will result in multiple face loops running ammock on the surface of your model. When you try to use the edge loop cut you'll see that the edge loop cut will snap unexpectedly on various location on the mesh.
Notice also that the bending side alternate at a moment that the cut changes direction on the clock. So if you keep cutting in a C-loop or closed loop (like a normal extrude) or keep spiraling with the cut tool, there won't be any side effects. But as soon you make a S-like cut then you'll have this problem.
So this explains a) Why nobody never experience problem while cutting simple loops (like eye loops, nose loops) early on when box modeling and b) that's why you mesh gets messy if you want to cut details on your surface.

Here I'll colour the face loops that are produced by this cut operation:


The knife tool was supposed to be some kind of wonder tool, a modelers dream, but here you see that it will reap havoc on your mesh leaving you with a heap of ugly and useless face loops.

But there is an elegant cure thanks to the obscure... or better said our hero: Spin Quad.

To end this post I want to remark that everywhere and everybody is talking about edgeloops. But in my experience I see that the face loops is the dominant factor in terms of topology. Heck, every top modeler seems to highlight face loops in their model even though they are wrongly talking about edge loops.


Luckily there is a simple solution to this problem. Remember that things go wrong at the moment the the N-pole bends the loop on the other side of highlighted edge loop? Well, let us identify those N-poles that causes the problem.


Those edges that are blue should be spun. If the edge to be spun was preceded by a counterclockwise direction change in the edgeloop, then it has to be spun clockwise, if it was preceded by a clockwise turn, then spin it counterclockwise. HUH??? OK, for example, the first N-pole to be spun in the image above was preceded by a "L" turn. When driving on this L-turn you are making a counterclockwise move, so the first problem N-pole on the route should be spun clockwise. And vice versa.

When you spin those edges you have to perform the same corrections I explained a few post back. That is to delete the lone vertex and then fill the hole and smooth afterward.


And the result is only one face loop. To pick up where the problems started: Let's make a vein. Now we have to perform an edge loop cut.


Compare this image with the image in the previous post. They almost look the same, but this edge loop is truly continious. It doesn't bump against poles along the way.


The topology/ mesh here is clean. Compare it with the previous vein example. The differences is hard to spot? Just follow the highlighted edge loop. Follow each little segment. On both sides of a segment there supposed to be one quad on either side. That is the case at the second example. But check the first example: in the problem areas, 2 segments of the edge loop share one quad, making it look akward.