39
$\begingroup$

Is there a way to rotate each iteration of an Array Modifier?

For example, I've created the helices of a DNA molecule, and I'm trying to add the base pairs. I've got a cylinder with an array modifier.

base array modifier

Then, I thought I'd apply a simple deform to twist them 360 degrees, corresponding to one twist of the double helix. The problem I'm seeing is that the deform modifiers squishes the cylinders, rather than rotating them independently.

enter image description here

$\endgroup$
5
  • $\begingroup$ I just noticed that since I took the first screenshot, I've shrunk the double helix to just one spin. $\endgroup$
    – ajwood
    Commented Aug 15, 2013 at 3:12
  • 1
    $\begingroup$ If you want more detailed helixes, BioBlender addon 1.0 was released last month. It let's you load .pdf files from the protein database $\endgroup$
    – zeffii
    Commented Aug 15, 2013 at 10:19
  • $\begingroup$ If using a curve to generate the spiral, see: How can I duplicate a mesh along a curve? $\endgroup$
    – Aldrik
    Commented Aug 15, 2013 at 10:59
  • $\begingroup$ I used a circle and a Screw Modifier, so I don't think that one would work for me. I might want to animate the helices straightening out into a ladder, so I might need rethink my approach.. $\endgroup$
    – ajwood
    Commented Aug 15, 2013 at 20:22
  • $\begingroup$ How accurate are you trying to be? Are you just doing something that kind of looks like a twisted ladder, or do you need to generate a specific base pair sequence? If the latter, try 3D-Dart. $\endgroup$
    – Elyz
    Commented Apr 16, 2018 at 16:28

1 Answer 1

61
$\begingroup$

You can achieve that with the Array modifier alone.

  1. Create an empty at the origin of your base pair and make sure it has the same xyz rotation.
  2. Disable all offsets in the Array modifier.
  3. Enable Object Offset and select the empty from the list.
  4. Rotate the empty and move it up a little, so that it matches your helix.

The object offset uses the differences regarding location, rotation and scale to generate the array.

Array modifier with object offset to create a dna helix

Another, older and in some aspects, more powerful way would be to animate the base pair rotating and moving up the helix and then turn on dupliframes in the Duplication panel of the object properties.

To get even spaces between the steps, you'd have to set the f-curve to linear interpolation.

$\endgroup$
6
  • 1
    $\begingroup$ Aha - I'd been trying something like this, but hadn't figured out to disable the constant offset. $\endgroup$
    – ajwood
    Commented Aug 15, 2013 at 20:19
  • 2
    $\begingroup$ Why would you consider the old way to be more powerful? $\endgroup$
    – ajwood
    Commented Aug 16, 2013 at 1:05
  • 3
    $\begingroup$ Because you can do custom movements, rotations, scaling, different spaces between Dupliframes. Array modifiers duplicate in a very regular fashion which is good for most cases. Btw, I said 'more powerful in some aspects', not 'more powerful per se' $\endgroup$ Commented Aug 16, 2013 at 1:22
  • $\begingroup$ Cool! I wasn't challenging the notion, just curious :) $\endgroup$
    – ajwood
    Commented Aug 16, 2013 at 15:10
  • $\begingroup$ Don't worry, I understood it right (: $\endgroup$ Commented Aug 16, 2013 at 15:52

You must log in to answer this question.

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