Array + Curve modifier without any deformation
Hi there!!! it's about using the array + curve modifiers. it always creates multiple deformations of the mesh (even on basic shapes like cube). Is there any way you could create a button to keep the intact shape of the mesh without having theese deformation. i ve made a tutorial in French visible here: vimeo.com/212747522 ...about this probleme and how to "solve" it ;but i still consider it is not intuitiv AND it's faking the thing because i m using dupli and so i cannot animate some of the properties... Please tell me youre going to imprive the combination of these two modifiers! Thank s for your work !
Jacques Louradour
22 Comments
YESSSSSS!!! Guys if someone is still having this problem after these replies as I had…I finally found a solution and am very excited to share it …
Make sure scale is applied (both curve and object) both the curve and object are at same origin (And here comes the magic…!!!) select curve >> go to edit mode and click N to bring up the right tab (Idk it’s name) in that the curve radius won’t be 1 if your object is deforming >> turn it to 1 and TADAAAA… Everything looks gorgeous I had this problem for centuries happy to finally find a way…if you want to say thank you come to Instagram @devil_on_details…I am glad to help
Awesome!
I want it! I think these kinds of features are what make Blender friendlier.
Even if there are ways to do it I think that it would be much more intuitive if you could just have a "deform" checkbox in the curve modifier (to avoid deformation if you dont want the object to get deformed) or if you could directly select a curve in the array modifier so that you can array your object along a curve without deformation.
Created an account just to up vote this Thanks!
Right, I'm bringing this back to life.... As I really do think it's a pain to deal with again. Here is a link to my full questions that fits this perfectly. blenderartists.org/t/is-it-possible-to-array-objects-perpendicular-along-a-curve-with-sharp-corners/1292854
To be clear I don't think we need to have a tick box... I just have a feeling that currently, the "weights" (I don't know if that's the right word) of curves on a corner are just not quite right at the moment. If it's clearly a 90-degree angle that is sharp there has to be a way to stay perpendicular to a curve... I've found no solution for this and I really have no idea if there is a solution to this.
and yes... I know this is a pedantic problem.... The reason why this matters to me is that I use a blender for precision modelling and this seems like a very unintuitive result especially when I'm working with precision.
I don’t know how useful it is, but there is an addon that allows you to create undistorted arrays along the path : gum.co/curve-array-pro
Yes I want it. Dupliframes is no longer in 2.82 AFAIK. I searched much for it. So far I've had to use a mesh object as the path, make another mesh the child of it, and then set the parent to Object Properties>Instancing>Verts or Faces. You can also use Subdivision modifier on the parent mesh to get more child copies, and you can use Edge Split modifier after that to help align the child objects less erratically. This is still not a very precise way to do things, but it helps.
This is not a problem with Blender, rather perhaps an education one. In your video, you modify the mesh with Array THEN Modify it AGAIN with Curve. You are making a curve out of the mesh resulting from the array. Blender is behaving exactly like it should.
Instead, for your needs: Set your array type to "Fit Curve" so the cube mesh will be copied along the curve as desired.
Suggest posting a question like this in BlenderArtists in future.
* @ammusionist * An alternative solution (that doesn't deform anything) involves making an array of a single-vertex object, curve deforming that array, and using dupliverts for the object that's instanced at each vert.
* @Jason van Gumster * Works for me! I think the greater point here is that this isn't a feature request.
* @ammusionist * but "fit curve" just creates enough copies to fit the curves length and does not move the copies along the curve or do I misunderstood something?
* @Jack Brown * This was my mistake. I led you to the wrong solution. My appologies.
The way to achieve this is to duplicate your object along the curve. It's not an Array Modifier function, but works in a similar way.
This Link should help. DupliFrames
* @ammusionist * Hmmm - Dupli is not going to solve it either looking at the original post. I'm going to post a suggestion here that the Curve Type in Array should follow curve without distortion. (You can use Array + Curve if you want to distort the mesh)
* @ammusionist * I think not the curve type directly should do this but a new option in the array modifier to select a curve. Because maybe you want to set a custom amount of objects to be arrayed along a curve and maybe you want to animate this value.
* @ammusionist * I think everyBlender users should be able to decide if they want or not this deformation. it should be a choice.
* @jacques.louradour * I agree, but no Modifier should change it's functionality depending on what others it's in the tree with. The follow curve modifier SHOULD always deform the mesh. But there should be another intuitive way to follow a curve without the deformation. It makes sense that if you want to copy a series of objects along a curve that function belongs to the Array modifier.
* @ammusionist * A simple Check box could make it for everyone...
I can't agree * @jacques.louradour *. It's not a "simple Check box". It's a requirement that this function can only be used if there is an array modifier above in the tree.
Creating dependencies between modifiers is extremely complex. I agree that the functionality is required, but it should reside in a single modifier.
Having an array that can follow a curve seems to be a better fit. The solution then seems to be to either update the existing array modifier to properly accommodate curves, or perhaps to create a new "Curve Array" modifier as a best-of-both-worlds solution.
* @ammusionist * I agree, but that check box could be in the Array modifier. This check box would appear when we chose "Fit Curve".
* @ammusionist * That said, with node-based modifiers, those dependencies are much easier to pull off.
* @Jason van Gumster * Thanks Jason! Very good idea! I've tried with a single vertice object but I found that works better with a plane making the instance with Face instead of Vertice.