As many of you I do enjoy working with an “extrude along spline” tool.
It makes your modeling so much faster in some cases, and it has
flexibility to achieve various results fast. I found it very good when my
task is not very constrained, when I work with something that I can change and create at my will.
But Some time ago I needed to do something more precise. To be exact i had to
do some lines on a sphere surface. I did remembered nice tool we have in NURBs arsenal which is called “create cv  spline on surface”. Now that i had my splines on a surface i needed to use them as splines for extrusion in my model.  And then I had some troubles with extrude along spline tool.  It just doesn’t seem to actually follow given curve, or to be more precise, the result is same as the curve, but its orientation is all wrong.
And then I had to find how to fix it. So if any of you happen to have same problem
here are some screen shots with a problem and its solution.

 

object and the spline

object and the spline

 

Just a picture of an object and a curve.

extrusion

extrusion

 

 

 

 

 

 

 

 

 

 

 

 

So we select faces and go to extrude along spline, and we choose our spline.

 

aligning

aligning

“Align
Aligns the extrusion with the face normal, which, in most cases, makes it perpendicular to the extruded polygon(s). When turned off (the default), the extrusion is oriented the same as the spline. To Face Normal, the extrusion does not follow the original orientation of the spline  it’s reoriented to match the face normals, or averaged normals for contiguous selections. The Rotation option is available only when Align To Face Normal is on.”  description from 3dmax help file.

 

rotation

rotation

 

“Rotation
Sets the rotation of the extrusion. Available only when Align To Face Normal is on. Default=0. Range=-360 to 360.” again, from 3dmaxs help.

make it first

make it first

 

So here we

select the vertex which is closest to extruded polygon so we can make it “first”

wuala!

wuala!

 

 

 

 

 

 

 

 

 

 

 

So we have it. Now our extrusion actually follows given spline. This seems to solve my problem. Hoope it helps you too.

 

 

It was quite a long time that i found this video somewhere and it did impressed me.  Here we are talking about 3d modeling. actually about very fast skechup like 3d modeling interface based on filmed video. Now definitely it cannot be a solution to all modeling needs, but one could benefit from such fast prototyping tool. please have a look at the video, it shows everything rather clearly.  If anyone knows anything about future of this product / research, please drop me a line in coment,

thanks.

I recently had an idea for a small animation.
I was thinking to use some moving objects, which would generate “blob mesh”
but all of it should be contained in one form or shape. I know its hard to understand what I wanted to do, but that does not mater, while
here i am concerned only with technology, or rather a way to do it.
So i was thinking to use boolean thingy to “contain” my object. or rather to cut parts of it which go out of my “container object”.
And I noticed that it seems to be impossible.
my plan was to use animated object to generate a blob mesh.
and all of it should have a very specific shape, which would have been rather impossible to make, but very easy to cut using boolean.
But it seems boolean is not existing as a modifier, only as a separate object, which I find quite disturbing.
Why can it be as a modifier? Might be the reason is unstable topology of resulting mesh? or its not implemented cos of computing time? i noticed that using booleans with something that has more then 10
vertexes become quite slow :) (well numbers here are somewhat ironic obviously)
so be it, but still I want it functioning. it can have big annoying message “are u crazy” or something… (are u sure u want to proceed and count each boolean operation per frame)  Anyways it could be only calculated each frame separately, almost as a different object.
But now, how can i do it? basically all I can imagine is to create my animation, lets say its 100 frames. and to perform boolean operation on 100 copies of my animated object, and render, or use only one
of these resulting objects per frame. but it would be a madness. any ideas?????

So as we can see in a previous post (if we read comments) there where some concerns about my proposals validity. Mainly Delt0r raised some valid questions. therefore i have been struggling to improve my initial idea, and here is what i came up with. Now, its still has some flows. and questions. but its for u to judge, sins i have no clue about maths, and here its quite important, i mean the math.

so the idea is this.

A. we have a mesh. *(base mesh) which we will use to to determine where the “blobs” appear.

B. we will get the normals of each vertex.

c. then the slicing planes should be generated. (here u can look at my old post or drawings beneath)

here comes the first problem. what i want to find out – is there a way to limit this “slice plane’s ” effect. here no one will understand me, so lets have a look at the picture:

screanshot of blobmesh section in max

screen shot of blob mesh section in max

Here we have a blob mesh, and a slice tool. the white plane is a slice plane, and green line is outline which is generated. the problem is that the green outline goes out of boundaries of slice plane, and correct me if iam wrong but iam sure algorithm behind this procedure works this way. so what we would like to have here would look like this:

blob mesh, facke intersection

blob mesh, fake intersection

Ok how to do it ? i have no clue. It might require rewriting all algorithms behind this operation, or doing it old way, and then subtracting unneeded parts. which is probably easier.

so now lets imagine our slicing works like we want it, and lets move on.

so in order to understand my “hand” drawings here is another diagram for explanation:

normals

normals

so this diagram shows a mesh we will be thinking about. in next drawings i draw only 3 vertexis out of this mesh. In this image we can also see averaged normals (left)cos normally each plane is plane :) so all 4 vertexies should like in image on right. but we can get average values.

how to make planes

how to make planes

you can enlarge this image to see better. but the idea is to make planes for each vertex separately.

so here as well we have problems. first of all we would want to arrange planes so the would make a “continuity” i mean they would go like this: /\/\/\/\/\/\ shit i have no idea how to explane…. look at the drawings again. chm…. please tell me if anyone understands what i am talking about ? ah? anyone?

so and last step would be to “weld” vertexies who are very close to each other.

again i wonder how easy it would be to make so many “restricted” planes for slicing.

but from what i understand, if it would work it could improve mesh topology or?

any ideas?

ok, its a long time. so some thoughts on implicit surfaces and their topology. so why do we talk about it in first place, its becouse of its ugly topology. metaballs are so cool, but hardly usable in animations and in other fields cos of irregular and ever chaging mesh topology, so what do we do? lets think.

first, a description of implicit surface as i understand it.

2.2.3 Implicit surfaces (Bloomenthal 1987)

Implicit surfaces are also known as “Metaballs”, “Blobbies” or “Soft objects”.

Implicit surface is a technique first introduced by Jim Blinn in 1980. The idea is to have control objects, which determine the resulting surface. Each control object generates a sphere around itself. When two or more controller objects are close together, the resulting surface will “melt” together. So instead of two spheres one will have two spheres which are connected and form a “blobby” single surface shape. How much the resulting surfaces blob together is a result of distances from controlling objects and of weights of these control objects. (Maestri. 1999 43-44)

so i had few ideas on the matter. pls look at a picture and tell me what u think.

ok. now as far as i understand the poligonization of such mathematical substance :) as metaball, it works like this (and pls correct me if i am wrong) the algorithm “checks” certain points in worldspace to see if that point is in or outside of this mathematical descriptio0n of metaballsurface. so basically, user determines “resolution” or level of detail he or she wants, and based on that, algorithm generates planes, to see where are boundaroes of this object in that particular plane. and planes are generated in x, y, and z. so pls look at picture beneath. so what i thought of is, why user is not able to determine how these planes are distributed and aligned? why dont we have such simple control as in uv ordinates, u know we would choose box, cilinder, sphere just like in uv layout (imagine box uv layout as a traditional plane distribution for imlicitsurfaces).

so people who have read, and understood, some of papers about implicit surfaces, including old john blinns texts, tell me do i bulshit or that could be a very small step towards better topology?

and some links to read more: here

and as usual link to my other website here

4.4.2 Hole Determination Based Upon Overall Tree Structure

In this method a more advanced hole generator approach is used whereby holes are created at the intersection of big branches. The first potential place is the trunk and first branch intersection. The further the branching is from the trunk the less reason for a highly detailed model, therefore there should be a limit, and intersections between small branches should not generate holes and cracks. Another good position for possible holes could be the beginning of the roots whereby a hole is determined in an area where most of the vertices angles are low also in places where the roots meet the trunk’s surface.

Now that I have described the tools and two possible methods for hole detection I will provide the necessary steps for this process. The proposed process of hole generation is based on 3d studio max 9 work flow and tools, but could be easily implemented in any other 3d modeling application or created as a stand alone solution. For the sake of simplicity random vertices on a polygonal plane will be used, instead of vertices with low angular levels in tree trunk model.

The first step in hole generation is to select a candidate vertices group, which should form a hole. After the selection is done a chamfer tool is applied. The value which describes the distances where new vertices are created, could be half of an average edge length of selected vertices’. The next step would be to connect newly created vertices via the chamfer tool. The connection tool creates new edges between newly created vertices. Edge selection is converted to a polygon selection. See figure 33 where it describes the fourth step.

max hole

Fig 33. Proposals visualization.

Fig 33.first four steps in hole creation. The red dots represent selected vertices, red lines selected edges, and red shaded area represent selected polygons.

As Figure 33 shows the resulting polygon selection is not accurate. This is due to the fact that the edge selection conversion to a polygonal selection includes all neighboring

polygons. Polygonal selection should be shrunken to get the desired result.

max hole

Fig 34. Proposals visualization.

This is shown in Figure 34. The next step is to erase all selected polygons, and select the remaining edge outline and conduct an edge extrusion. The last step shown in Figure 34 represents a subdivision algorithm applied on a mesh.

The subdivision algorithm not only generates more detailed mesh structure, but also softens the edges of it. The steps I have described are rather easy to perform due to the ability of 3d studio max to remember the last used selection and convert vertices selections to edge or polygon selections. This process should be possible in any 3d modeling software, but it might include a different order of steps, or additional steps required to achieve the same result.

Figures 33 and 34 show steps which are very easily preformed manually. But the steps are also simple enough so that the actions could be automated. To manually create a hole as shown in Figures 33 and 34 it took around 5 minutes. But if a real trunk model was used with high mesh density and many holes to generate, this process could be very long.

My recommendations if implemented would decrease the amount of time involved in current tree generation.

————————-

You can visit my web page here

dont like english? u can (try) readig it in lithuanian or anny other language here! alternative, has no lithuanian :(

Follow

Get every new post delivered to your Inbox.