Can you project an object with an array modifier and curve following modifier onto a curved surface?


I am attempting to put an array of objects aligned on a curve into a fractal type of configuration projected onto a curved surface. I know that sounds complicated, but my hope is that someone knows how to do this with relative ease.


I believe this can be done with a bezier curve as a parent, which is shrinkwrapped to the surface, while its children follow the path, and an array modifier is used to extend it along the path. Shrinkwrapping the object itself flattens it, which is not what I would like.

To start, let's leave out the part about the array following a curve, and just look at the fractal pattern of objects onto a curved surface, because I think this is something that a lot of people would run into when making scenes and would be highly useful to do in an automated fashion.

it should be something like this:

Starting with the small complex set of objects, such as the cube and balls to the left, and the large curved surface (spehre) to the right:

How can we get to something like this? (as an array upon the surface) (Sorry it's such a bad attempt at getting them oriented on the surface):

or this: as a fractal modified array or random on surface?

I am attempting to do this with cylindrical type aggregations of objects, which follow bezier curves, which I can project the bezier curves onto the surface, and then make the object follow the curve and set up an array to make it follow throughout the curve, but it does not work out so well to do it with hundreds of objects quickly.

To do it with these cubes, it would look (something like) this:

The problem with shrinkwrapping the bezier curve to the curved surface, is that you have to apply the modification before you can get the cubes to go along the curve, since you want them along the surface after shrinkwrapping to the surface.

If you apply the shrinkwrap after getting the array of cubes and they are following the curve, you get this (nothing happens to project the cubes onto the surface, the bezier curve just gets put there):

So, it appears you must have apply the bezier curve as the parent object after the projection, which makes it difficult to get the ration/translation applied to the cube objects.
Furthermore, the shrinkwrap doesn't completely get the bezier curve along the curved surface:

If I put a hundred bezier curves shrinkwrapped to the sphere (it must be applied in order to get the objects to follow it), then they each have different rotation and translation, in which the object has to be changed to match in order to follow it correctly. Is there a simpler way to apply an object to follow all of these bezier curves and have the same rotation/translation etc?

I think this method would have huge consequences of use if it could be applied with varying amounts of fractal pattern applied to each portion.
Such as having a standard patch of grass mesh, then applying it to a series of planes created with fractal patterns (random soil arrangement), then applying the standard grass to it in a fractal pattern while varying the grass mesh slightly each time. It could make a realistic random grass scene with just a plane and a few blades of grass.

  • $\begingroup$ I think that applying the shrinkwrap is not enough, as it affect only the curve's control points. Converting the curve to a mesh (and than to a curve again) does the job, but you'll lose all the advantages of curves (the new curve is more a polyline than a bezier), wich was not the purpose of your interrogation. I'll be glad to be in wrong, but I feel that the answer could sadly be "no". $\endgroup$ – Carlo Nov 18 '15 at 16:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.