Keep a certain orientation with curve modifier

Hello!

I’m currently working on a project in which I’m trying to modelize a virus. For this, I would like to repeat an object along a curve with a corkscrew/pinhole shape.

But for this I need to use that damn curve modifier which seems to be my nemesis.

I’ve achieved to have my object to follow the curve (file: kinda_working.blend (2.7 MB)) but it’s kinda anarchic:

And then comes the hardest part. I would like that my object keeps the same relative orientation. What I mean is that I want the biggest part of my object in the inside of the helix. I don’t think I’m clear so here is another .blend where I’ve put some of my objects manually to show an example of my objective objective.blend (6.9 MB)

I’m struggling a lot with this step, so if anyone can help me on this, that would be awesome!

Thanks for reading :grinning:

Using dupliframes intead would save a lot of memory because it uses instancing. It doesn’t deform the meshes though.

dupliframes_ja12.blend (1.1 MB)

If you go with modifiers instead, the objects have unapplied transforms. Applying them would need to be done without parenting. Remove parenting (alt+p → keep transform), apply scale (ctrl+A → scale) and clear rotation (alt+r).
https://blenderartists.org/t/deform-mesh-along-curve/615269/5


Applying scale to the curve changes its radius but its influence can be disabled from object data properties → shape: path/curve deform. It’s also clearer which way the arrays should go and which axis the curve deform needs.


Twisting to Z up should keep the duplicates aligned better. That’s not great for the segments which make a loop at the top, but there’s also a smooth value below that can be used to get rid of the artifacts there.

The orientation along the curve can also be controlled with tilt (ctrl+T) in edit mode. The value is in 3d view properties.

kinda_working_ja12.blend (1.2 MB)

1 Like

I’ve completly forgotten how to use the dupliframes and was looking at the wrong place… It works very well with it, thanks!

I just have one question: when I try to apply the dupliframes to my curves, the mesh is rotating along the curve (in the end the mesh is entirely outside the curve). Is it due to the way I’ve created my curve? Yours’ is very different.

I don’t think it’s the way the curve is created but I’m not completely sure of the reason. The curve twisting setting also affects the dupli-object rotations along the curve, and I used Z up for that too.

I made another curve just to point out that it doesn’t need that many handles to be a smooth curve. Handle types and curve resolution control a lot of it.

Ok. I think I will make new curves (with a lot less handles) to get rid of the problem :grinning: