16
$\begingroup$

I'm trying to make my text stand up while still following this bezier circle.

I know it looks like a complete utter mess, but all I want to know is how to make the text stand up (Like on the clock image) instead of being "skewed"

Numbers standing up

What I'm getting

$\endgroup$
4
  • 2
    $\begingroup$ Hello :). The distance between upward standing numbers isn't regular on a clock face. You're better off placing them by hand. $\endgroup$ Commented Oct 13, 2020 at 8:40
  • 1
    $\begingroup$ plus is it doable since 2.8? It was probably doable in 2.7 with Dupliframe with a Limit Rotation constraint... $\endgroup$
    – moonboots
    Commented Oct 13, 2020 at 8:45
  • $\begingroup$ Related blender.stackexchange.com/questions/80298 $\endgroup$ Commented Oct 13, 2020 at 10:17
  • $\begingroup$ @sambler's little dials/guages add-on is now here $\endgroup$
    – Robin Betts
    Commented Oct 13, 2020 at 11:37

3 Answers 3

15
$\begingroup$

This relatively automated method places them automatically.

enter image description here

Create a simple plane object. In Edit Mode move about the Y axis the distance of your clock radius.

Aligned with the plane object center (not the geometry) add an empty object and rotate it $-30º$ about the Z axis.

enter image description here

Now add an Array modifier to the plane, set to Fixed Count and 12 iterations. Turn off all offsets and activate Object Offset pointing to the previously created empty object.

enter image description here

Create a bunch of numbers as separate (text or curve) objects. Center the text both vertically and horizontally for easier placement. Add them all to new collection (named "Numbers") containing those numbers exclusively.

Have in mind that the order in which you create your number objects is relevant. Particle sorting is as far as I can tell most likely obtained from chronological creation order, so the sequence you create your text objects in will directly influence the way numbers will be placed by the particle system, so when creating new objects or duplicating existing ones be sure to follow 1>2>3>...>12.

Now add a particle system to the plane set to Emitter, reduce the count to exactly $12$, turn on Use Modifiers, disable Random Order and Even Distribution and set the Particles/Face count to $1$.

Activate Rotation and under it set Orientation Axis to Object Y.

enter image description here

Under the Render panel pick Collection as Render As type and set the numbers collection as Instance Collection. Make sure Whole Collection, Pick Random and Global Coordinates are all off, and under Extra enable Unborn and Died.

enter image description here

Optionally turn off both Show Emitter and Render Emitter in the Viewport and Render panels.

This should ensure numbers are correctly placed at the right angles automatically for any arbitrary number of items without rotating them individually.

enter image description here

$\endgroup$
2
  • 2
    $\begingroup$ It absolutely doesn't matter, but it's bugging me that you have the 1 on top instead of the 12... $\endgroup$ Commented Oct 14, 2020 at 19:27
  • 1
    $\begingroup$ @DarrelHoffman Wow, how did that slip through? ಠ_ಠ How dumb of me, fixed it now. Thanks for the headsup $\endgroup$ Commented Oct 15, 2020 at 12:33
4
$\begingroup$

You can't, because characters aren't treated as individual objects.
Just for fun, you can get there using instancing.

  1. Add an array modifier to a single vertex
  2. Add a curve modifier so it follows a circle

EDIT: As @RobinBetts kindly pointed out, you can simply use a circle with 12 vertices instead of steps 1. and 2.

  1. Use instancing to duplicate the character on each vertex

Now you can make the instances real and change the numbers/characters...

enter image description here

$\endgroup$
6
  • $\begingroup$ Neat! Can you change each text instance individually? $\endgroup$ Commented Oct 13, 2020 at 10:30
  • 1
    $\begingroup$ You'd have to turn the instances into real objects first. Not much faster in this case than manual snapping, it was meant just for fun :). $\endgroup$ Commented Oct 13, 2020 at 11:12
  • $\begingroup$ Beat me to it... again ... why bother with the curve? Why not instance on a 12 sided mesh circle? $\endgroup$
    – Robin Betts
    Commented Oct 13, 2020 at 11:22
  • $\begingroup$ @RobinBetts Can you use a curve modifier on a circle? $\endgroup$ Commented Oct 13, 2020 at 11:27
  • 1
    $\begingroup$ @RobinBetts You're right, that would make much more sense :). I'm overthinking things... $\endgroup$ Commented Oct 13, 2020 at 11:39
3
$\begingroup$

You can try this way:

  • Create a 12-sided circle mesh
  • Move the 3D cursor to each point of the circle
  • Select the number and move it to the cursor

You need to make sure the origin is in the centre of each number, which you can do with Object > Set Origin > Origin to 3D Cursor.

enter image description here


You can use Vertex Snapping to speed it up too (thanks @Jachym!):

enter image description here

This way just grab your numbers (with centres in the middle) and move them to the vertices of the circle.

$\endgroup$
3
  • 2
    $\begingroup$ Hello :). You can also use Vertex snapping to speed it up. But in the end, you'll still have to add different spacing for different numbers. $\endgroup$ Commented Oct 13, 2020 at 9:31
  • 1
    $\begingroup$ @JachymMichal If the centres are right, it shouldn't be an issue of spacing? As you can see, the 1 and 2 have a larger gap than the 11 and 12, but the centres should be evenly distributed $\endgroup$ Commented Oct 13, 2020 at 9:33
  • 2
    $\begingroup$ You're right, it works well enough :). Mathematical center is not optical center, but this isn't Typography SE :). $\endgroup$ Commented Oct 13, 2020 at 9:58

You must log in to answer this question.

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