PDA

View Full Version : Understanding Array/Curve modifiers?



[]V[]essenjah
12-Mar-08, 18:14
I want to create a belly chain for a character using Blender. What I need to do, is create a chain link and have it wind around the character's waist.


I was reading this article:

http://wiki.blender.org/index.php/Manual/Array

But when I try to use Object Offset and I tell a box to follow a curve in an array, setting the count to 20, it doesn't follow the curve but does line itself up sort-of and goes in a strange direction. So I'm wondering if it just isn't associated properly to the curve and I'm missing something? I do have the button pushed down by the way, just to remove the obvious solution from my question.


I read through the Helix tutorial and where it talks about using a curve to add turns to the array... can't you only apply a curve modifier to a curve? Whenever I have tried to use it with a mesh in the past, it tells me that it can only be applied to a curve.

What I'm expecting, is that I will need to create the link and use an empty to twist each link 90 degrees in a straight line, then I'll need to use a curve modifier in addition to the array modifier in order to create the chain. Am I correct?

Apollos
12-Mar-08, 19:28
Messenjah,

In your modifier stack ( for your link(s) ), you'll want to have your array modifier, then your curve modifier.

Your last assertion appears correct, but I'm not sure you need an empty. I put together a sample using two link objects, each with array modifiers, and a curve modifier using the same curve.

Chain Curve Blend (http://blenderunderground.com/files/blend/chain-curve.zip)

Hope this helps...

[]V[]essenjah
13-Mar-08, 04:12
Nice, what I need to do then, is apply the same object to a curve modifier twice. :) Works for me! Thanks!


Hey, what did you use to create the chain link exactly? When I click to edit the mesh, it doesn't seem to have the same frame around it as the Torus. Just wondering.

[]V[]essenjah
17-Mar-08, 03:50
You wouldn't know of a good tutorial that explains this? I'm really confused. I tried doing this but I never seem to get the same results. The chain links become distorted and aren't to the correct scale of the model. The links are also all stretched out. Is it because I'm using a path rather than a regular curve? The thing about a path, is that I can get more dimension to it where a curve sort-of tends to limit the shape you can form. I need the chain to appear to hang around the hips of the character so I need some more dimension to it.

[]V[]essenjah
17-Mar-08, 03:51
I'm guessing it has to do with the center of the mesh? Is there a quick way to link the center of one mesh to the center of another?

Apollos
18-Mar-08, 14:03
Messenjah, sorry I missed this.

Have you tried turning on "3D" for the curve (not the path version) from the Curves and Surfaces panel? This should give you the third dimension for adjusting the chain.

I haven't tried with a path yet. If I get a moment, I'll check it out.

[]V[]essenjah
18-Mar-08, 18:11
NP, I appreciate the assist.

I tried turning 3D on as you suggested. It does align correctly. I'm wondering if it has to do with the fact that a path is considered a NURBS curve and you and others are using Bezier curves.

I also noticed that your mesh also has the distortion problem if you adjust the curve and you make it too sharp. Is there a better way to prevent the links from warping?

[]V[]essenjah
18-Mar-08, 18:12
BTW, I like your video tutorials. You should add one for using dupliframes, dupliverts, and arrays. :)

Apollos
18-Mar-08, 18:40
Thanks Messenjah! I'd like to do the dupli stuff. BTW GreyBeard has tutorials about those at blender.org.

Ok you're right about the Nurbs path being different. It just doesn't behave the same way. You're also right about the Curve version distorting the geometry at tight angles. This is just the way the curve modifier works.

If you need those tight corners (maybe you're tying the chain into a knot) then the only other way is to use a separate mesh object, and have the links parented to it via vertex parents. Then have the mesh object (a triangle strip) with the curve modifier. I can post an example, but I won't be able to get to it until later tonight or tomorrow.

Don't let me forget!

scrag_10
18-Mar-08, 19:50
how do you make the Arrayed objects real?

Apollos
19-Mar-08, 15:21
Messenjah,

Here's the new blend file: Chain Curve 2 Blend (http://blenderunderground.com/files/blend/chain-curve2.zip)

This makes use of vertex parenting. I created a strip of triangles, one for each link in the chain. Each link is a separate object, and not an array. I parented each link in the chain to three of the strip's verts. I then used the curve modifier on the strip. (TAB into edit mode for the strip, select a triangle face, CTRL select a link, and press CTRL+P. Repeat for each link.)

This method has its own limitations. Mainly, the links can 'pop out' and intersect if the angles are too tight. Most of this can be overcome by fiddling, and it does pretty well overall. Hope it helps.

Apollos
19-Mar-08, 15:22
Scrag, to make the array real, apply it from the array modifier itself.

You will have one mesh however, so to separate into multiple objects, TAB into edit mode, press the P key, and choose "all loose parts."

[]V[]essenjah
19-Mar-08, 16:16
Oh, cool! That makes much more sense and works a whole lot better. Not as fast but I like the control you have over the chain itself per-link a lot better. Worth the time by far.

May I ask how you parent an object to a vertex? Sorry, I'm still pretty new to this. Blender is a little tricky to understand vs. other 3D apps but worth the time to learn it.

BTW, I've studied Graybeard's tutorials a long time ago. I've used Blender on and off for a couple of years. I downloaded his tuts the day I started using Blender. I've used 3DS Max, Maya, and even Milkshape 3D for many years. Blender is very comparable to high end 3D modeling programs and is probably the closest I've found and constantly being updated.

Still trying to learn where everything is though. I get the sense that Graybeard is Canadian somehow? :)

Anyway, I just brought it up as I think it would be cool to see a full on tutorial that covers all of these areas in depth and as an all-in-one tutorial. If I can learn Blender a bit better, I may even look into making a tutorial at some point on this, if no one else gets to it first. But I need to understand how it all works first. It'd be a good way to give back to the community.

Thanks Apollos.

Apollos
19-Mar-08, 16:30
Yeah I don't know if there's an extensive tutorial on all this or not. I do remember seeing one on chains and the soft body system here somewhere, you might want to search on "chain soft body" and see what turns up. It probably goes through a lot of this.

And I think GreyBeard might be Canadian, but I don't remember where I heard it or got the impression. He does a great job on his tutorials though. :D

To parent your links to the strip:

Select the strip and TAB into Edit mode
Switch to Face Select mode with CTRL+TAB
Select a face, then CTRL select a link. You should now see a triangle and a link selected.
Press CTRL+P to make a vertex parent. The reason you're using triangle faces is that vertex parenting requires three vertices for full 3D transformation.
Repeat for all links.You're very welcome. Best of luck with adapting to Blender. It sure is different from something like 3D Max but it's capabilities are extensive. :RocknRoll: