15
$\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$ – Jachym Michal Oct 13 '20 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 Oct 13 '20 at 8:45
  • $\begingroup$ Related blender.stackexchange.com/questions/80298 $\endgroup$ – Duarte Farrajota Ramos Oct 13 '20 at 10:17
  • $\begingroup$ @sambler's little dials/guages add-on is now here $\endgroup$ – Robin Betts Oct 13 '20 at 11:37
14
$\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$ – Darrel Hoffman Oct 14 '20 at 19:27
  • 1
    $\begingroup$ @DarrelHoffman Wow, how did that slip through? ಠ_ಠ How dumb of me, fixed it now. Thanks for the headsup $\endgroup$ – Duarte Farrajota Ramos Oct 15 '20 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$ – marcellothearcane Oct 13 '20 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$ – Jachym Michal Oct 13 '20 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 Oct 13 '20 at 11:22
  • $\begingroup$ @RobinBetts Can you use a curve modifier on a circle? $\endgroup$ – marcellothearcane Oct 13 '20 at 11:27
  • 1
    $\begingroup$ @RobinBetts You're right, that would make much more sense :). I'm overthinking things... $\endgroup$ – Jachym Michal Oct 13 '20 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$ – Jachym Michal Oct 13 '20 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$ – marcellothearcane Oct 13 '20 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$ – Jachym Michal Oct 13 '20 at 9:58

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.