6
$\begingroup$

I have a chain object, and I have a curve it follows. I got it to work for following curve, but chain object are not circles but both parts are more like stretched circles (ovals).

Object I made with two toruses one rotated 90 degrees and then joined them together. I tried single torus too, but same issue persists, on a curve it just looks like a stretched oval.

What is the issue?

$\endgroup$
3
  • $\begingroup$ can you upload file? blend-exchange.giantcowfilms.com $\endgroup$
    – eromod
    Commented Dec 9, 2016 at 2:22
  • 1
    $\begingroup$ Dont use the curve modifier directly on the torus. Use the torus as dupliface on a plane with the array and curve modifiers instead $\endgroup$ Commented Dec 9, 2016 at 2:29
  • $\begingroup$ I forgot to say that that i have 2 active modifiers. One is array and other is curve. $\endgroup$ Commented Dec 9, 2016 at 2:38

2 Answers 2

18
$\begingroup$

The curve modifier distorts the objects, that is the intended behavior. If you want an undeformed array use either by Instancing (Duplifaces before 2.8*) or a particle system instead.

Add your Array+Curve modifier stack to a simple plane mesh instead.

Create a new plane mesh, parent one single chain link to it and activate Object Properties > Instancing > Faces (Duplifaces pre 2.8*)on the plane's object properties.

Then add the Array modifier, use an empty object rotated $90º$ to introduce rotation to each link. Activate the Object Offset option and pick the empty.

Adjust spacing and settings as desired, and then add the curve modifier exclusively to the plane object alone.

Array+Curve+Duplifaces

Alternatively use a particle system instead of Instancing > Faces feature with one particle per face if you wish to hide the original link independently. Manually adjust particle count to match the number of arrayed links.

$\endgroup$
7
  • $\begingroup$ ok i followed this animation but when i use array it only multiplies the plane $\endgroup$ Commented Dec 9, 2016 at 3:11
  • $\begingroup$ But I thank you for taking your time. i will see some tutorials and info about dublifaces and hopefully can figure out what to do. Thanks a lot $\endgroup$ Commented Dec 9, 2016 at 3:53
  • $\begingroup$ You have to parent the torus to the plane $\endgroup$ Commented Dec 9, 2016 at 5:10
  • $\begingroup$ How do you stop the plane from being rendered? $\endgroup$
    – Jammer
    Commented Nov 21, 2019 at 20:40
  • $\begingroup$ Which part didn't work for you in 2.8? I just managed to follow along just fine. Also if you search you will find what you seek blender.stackexchange.com/questions/118835/… $\endgroup$ Commented Nov 22, 2019 at 1:00
0
$\begingroup$

For modern versions of Blender with Geometry Nodes available, a friendlier approach can be used.

Chain Curve

  1. Add a Geometry Nodes modifier to your bezier curve.
  2. Use a Curve to Points node set to Length, and adjust the Length as desired.
  3. After that use an Instance on Points node
  4. Add whatever geometry you like to the Instance socket. In the illustrated case I constructed a torus (from a curve circle and a Curve to Mesh node, but you can use any bespoke object instead)
  5. To rotate every other instance you can use a Rotate Instances node
  6. Under the Selection socket connect an Index node to identify which instances to rotate
  7. Between the to add a Math node set to Modulo of $2$, to only select every other instance

Geometry Nodes Instance on curve

$\endgroup$

You must log in to answer this question.

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