How do I make a globe into a hollow sphere made out of a spiral? In other words, how do I make a spherical spiral, or a spiral follow a spherical shape?
Hey! No more upvotes here, please, drop them on Gorgious's answer
One way is to use the Simple deform modifier.
- Start with a UV sphere and remove some vertical stripes
- Add a Simple Deform modifier > Twist
- Choose Z axis and adjust the rotation
To add thickness, you can use the Solidify Modifier
Okay, modifiers enthusiasts, let's have a good one.
- Add a plane in the center of the world. Go into Edit mode. In the Mesh menu, choose Merge > At Center.
Now we have a unique vertex on $0,0,0$
- Add a Displace modifier. Set its direction to X.
- Add a Screw modifier, set axis to X. Set the steps to 8, angle to 0 and the screw to 0.5.
- Right-click on the Screw value field, choose Copy as New Driver. Right-click in the Displace modifier Strength field, choose Paste Driver. Right-click again there and choose Edit Driver, change the driver type to Scripted Expression and set it to
Now we have a line with $9$ vertices centered along the X axis.
- Add a Screw modifier. Set Angle to $0$, axis to Z and Steps to $32$. Set the Screw value to $10$.
- Add a Displace modifier along the Z direction.
- Right-click on the previous Screw modifier value field and choose Copy as New Driver, right-click on the last displace strength field and choose Paste Driver. Right-click again, choose Edit Driver, change driver type to Scripted Expression, set
Now we have a band centered along X and Y axis :
- Add a Displace modifier, set the Direction to Y, Strength to $2$
- Add a Simple Deform, set to Stretch 0, along Z, with a factor of $-0.40$
- Add a Simple Deform, set to Twist, along Z, with and Angle of $360°$
- Add an Empty in the origin.
- Add an Array modifier, set the count to $6$, uncheck Relative Offset, check Object Offset and set your empty.
- Right-click the Array Count, choose Copy as New Driver. Go to your Empty's transforms, right-click the Z rotation and choose Paste Driver. Right-click again and choose Edit Driver. Set driver type to Scripted Expression and type
2*pi/countso that the angle is in radians.
We have so far some sort of pinecone. Tweak the first Screw offset so that there is no overlapping mesh when you add a lot of array count.
- Add a Cast modifier, set it to Sphere (default), set the Strength to $1$
- Add a Subdivision Surface modifier, set the strength to $2$
- Add a Solidify modifier, thickness to $0.1$
- Add a nice shiny material to it.
Got to chuck one in ....
- UV Sphere, 32x32
- All selected, CtrlE Edge menu > Unsubdivide, 1 iteration
- Alt select one edge loop, CtrlNumpad + expand, then go to Face mode
- CtrlI invert selection, delete ..
- Object-offset array, target: 90 rotated empty at origin, Count 4
- Solidify, Bevel by angle, Subdiv modifiers.
Thanks to a complete build melt down I'm late to the game.
After playing around with the not unfamiliar add spiral addon in 2.79 (which I find I can no longer use since going default (commando) on 2.8) while 2.83 re-built decided it could be easier to simply write a script and in the end wired it up as an addon.
Addon Add Spiral Thingy
Download install and enable addon, or paste in text editor and run script.
Addon to quickly add tapering width and tapering or constant thickness to what is essentially the spherical curve spiral.
The thickness is
width_angle above and below the spiral at the equator, and zero at the poles. The taper is calculated using
Using addon operator, add a 2 turn spriral, then array it 5 times using an empty as object offset.
import bpy from math import radians from bpy import context bpy.ops.object.empty_add() mt = context.object bpy.ops.mesh.add_spiral_thingy( segments=128, turns=2, growth_angle=radians(12), thickness_type='TAPER', thickness=0.25) spiral = context.object array = spiral.modifiers.new(name="Array", type='ARRAY') array.use_object_offset = True array.use_relative_offset = False array.offset_object = mt array.count = 5 mt.rotation_euler.z = radians(360 / 5)
Shading: an approach to the 'engraved' material
Since the answers here cover a lot of bases, I couldn't resist having a go at the gravure.
This supplement is based entirely on @Gorgious' superb lesson in procedural modeling, so no credit here for that, please.
To approach the engraved appearance of the OP's reference, @Gorgious' diagonal wave texture is used as a halftone screen...
Here, illustrating with the yellow-ochre material of the outside of the spiral
- The bottom branch of the tree takes the negative of the light-response of a diffuse-grey version of the surface, so the shadows are white, and adjusts its contrast.
- The top branch takes the negative of the gradated halftone pattern, so its blacks are white.. (here, that's unnecessary, because the sine-wave is its own negative)
- They are multiplied together, and then, using the color-ramp, inverted back to positive and put through a threshold.
- In the last mix, the black-and-white tone approximation is tinted with a 'spot color'.
The image is detailed with a Freestyle line restricted by Collection to the spiral, and set to catch material boundaries.
EDIT: Answer to @Gorgious.. get rid of the back of the wire-frame sphere with nodes:
.. bit of a hack, but will do for this job? We'd like to keep enough of the perimeter for that darkening at the edges? Nicer if it faded...