28
$\begingroup$

This is the profile of the object I'd like to wrap...

Object to wrap.

Here is the object's profile after being wrapped...

Object profile after wrapped to curve.

Is it possible to prevent the distortion? The following post here: http://blenderartists.org/forum/showthread.php?293735-Dublicating-an-object-along-a-curve-without-distortion-Array-or-DubliFrames did not affect my object. It seemed very promising, maybe I'm missing something?

Note: I have applied the scale to both my object and curve.

$\endgroup$
2
  • $\begingroup$ Related: blender.stackexchange.com/questions/510/… $\endgroup$
    – gandalf3
    Commented Jun 23, 2015 at 11:35
  • $\begingroup$ I guess the only way is to add armature- then parenting objects with them. And - finally adding Ik solver and spline IK to armature so it will slide along curve. $\endgroup$
    – qnaman
    Commented Mar 7, 2017 at 20:32

4 Answers 4

33
$\begingroup$

You can use a proxy mesh as the curve object, then use Dupli faces to place an object at each face. This has the added advantage of using instances, which are more memory efficient than the array modifier.

enter image description here

  1. Add a plane and set it up with the curve and array modifiers:

    enter image description here

  2. Parent the actual object to the plane (CtrlP).

  3. With the plane selected, enable Faces in Properties > Object > Duplication > Faces.

$\endgroup$
4
  • 1
    $\begingroup$ What do you mean by 'the actual object'? $\endgroup$
    – jik bik
    Commented Nov 25, 2015 at 15:40
  • $\begingroup$ @jikbik The object you intend to duplicate $\endgroup$
    – gandalf3
    Commented Nov 25, 2015 at 21:38
  • 4
    $\begingroup$ In 2.8 the step 3 is under Object > Instancing > Faces, then you'd also like to uncheck both "Display / Render Instancer" checkboxes. $\endgroup$
    – Parziphal
    Commented Sep 9, 2019 at 19:09
  • $\begingroup$ Is there a way to stop the blocks from intersecting? $\endgroup$
    – crxyz
    Commented Jun 10, 2020 at 13:31
12
$\begingroup$

The Curve modifier will always distort the object according the curve's curvature.

If you want the object to follow the curve (using the curve as a path to move the object along it), you can add a bone, parent the object to this bone and add the Follow Path bone constraint:

  • Go to Add menu (Shift A) > Armature > Single Bone
  • Place it at your object's center position
  • Ctrl Tab to Pose Mode
  • Select your object, then Shift select the bone (in this order)
  • Parent the object to the bone: hit Ctrl P and choose Bone
  • Select the bone, and go to Bone constraints tab in the properties panel
  • Add a Follow Path constraint (right-hand list, titled "relationship")
  • Choose your Curve object in the Target input
  • Check the Fixed position box, and use the offset slider to move the object along the curve:

enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ How do I repeat along the curve? I tried adding an array modifier to the object -- makes sense to someone as educated as me, but probably doesn't make sense to a blender pro. $\endgroup$
    – chrisp
    Commented Dec 31, 2013 at 22:02
6
$\begingroup$

Here is a solution supposed the arrayed objects are relatively simple and regular:

enter image description here

Demo file is here.

I have to admit that such solution is very limited, but if it's enough to serve your particular case, then try it. :)

$\endgroup$
1
  • $\begingroup$ Fast and easy solution - the Solidify and Bevel modifiers are superfluous. $\endgroup$ Commented Oct 7, 2017 at 18:58
0
$\begingroup$

Judging from your comment on Polosson's answer, you may want to convert the curve to a mesh (AltC, then Mesh from Curve/Text), set it as the parent to the object you want along the curve (select the object, then the curve, then CtrlP), and then enable duplication (in the object panel for the curve, in duplication, activate "Verts").

Play with the curve's resolution before converting it (in the Curve panel) to tweak the density.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .