1. Non-destructive method
- Add a curve "Circle"
- Add a text object and edit it to represent the text, font and size
- Set it to Vertical alignment to center, to have the text align at it's center along the circle
- Select the curve and adjust the Resolution U of the curve to a reasonable high value to get a smooth text later
- With the curve stil selected, go in edit mode and press Ctrl+T
- You can now move the mouse to change the tilt of the curve, kinda like how the street is tilted in sharp curves in car races.
- The arrows show the direction of the curve, so it may be that you need to switch the direction if your text ends up upside down. For that go in "Segments" -> "Switch Direction".
- Go in object mode and select the text object
- Add a solidify modifier, this will allow you to use different materials for front, rim and back faces (if you don't need this, just use the text objects "Geometry" -> "Extrude" parameter)
- Add a curve modifier and select the circle as target, the axis should be set already to "X"
- Now we need to add a heavy modifier to make sure the text will be smooth and not glitchy from the bending, the Remesh modifier. Once the remesh modifier is added, move it between the solidify and curve modifier!
- Set the remesh modifier to "Sharp" mode, then the "Octree Depth" will need to be increased til you are happy with the result.
- BE careful though, the higher the value the more your machine will have to work. A value of 9 or 10 gave me the best result, while i would go with 9.
It should look somewhat like this:
A little advice, this method is for an as clean as possible (to this point non-destructive) result and it's heavy on the machine, so saving first is highly recommended.
For boolean operation you will need to convert the text into a mesh though.
2. To generate something more like in your first picture:
Everything up to step 8, then:
- In the text object set the fill mode to "None", this will make the text disappear, don't worry, soon we'll see it again
- With the text object selected, go in the "Object" menu and use "Convert to"-> "Mesh from Curve/Met/Surf/Text"
- Now with only the outline of the text, add a shrinkwrap modifier to the text and select the knob, activate the "On Cage" visual helper (4th right to the shrinkwrap modifier name) and it should look something like this (that knob is just a placeholder based on the first picture)
Step 11 and 12 can be left out, if the text is close enough to the surface by tilting the curve, otherwise it helps to make the text stick as close as possible to the knob geometry.
- Go out of edit mode and apply the shrinkwrap modifier
- Go back in edit mode and press A to make sure all the text objects elements are selected
- Go in object mode and first select the text, then the knob while holding Ctrl thus having the knob as active (brighter outline)
- Go in top view, then toggle back in edit mode
- Go in the "Mesh" menu and use "Knifeproject"
- You should now have the text/numbers cut in the geometry/mesh of the knob and can adjust your camera to a view you like again
- Deactivate the text object and make sure that the knob object is selected
- Back in edit mode
- The result usually leaves you with the faces of the cut text
selected, i recommend to go over the result and correct eventual
problems, as it seems to never be 100% clean, after that...
- Press RMB and select "Extrude Faces Along Normals" to push the text faces in the knob and get the engraved look
To get cleaner results, use a higher subdivided knob to knifeproject on.
3. And lastly (should not be forgotten, even if we like to build everything in Blender) using a texture you can safe yourself a lot of heavy geometry:
- Select the faces of the ring-section on your knob make sure they are kept as a circle, marking inner and outer loops as seams for circular shaped surfaces helps.
- To get the best results for the situation at hand, i created the 3 flat surfaces like mentioned and broke up the borders with one cut/seam each, resulting in a rolled out stripe and 3 circular parts like in the picture below.
Note: Donating more texture space to certain surfaces of a mesh can in this case ensure the best resolution where it's visible, as the rest is pretty much just color, but in case borders of the surface need some details, you may need to ensure that at least the affected islands (UV-map parts representing the surface) are scaled equally (for example island 1, 4 and 5 as they would otherwise become blurry towards the island 4 and 5 due to lower resolution given to them).
- You can export the unwrapped UV-Map as template for the Numbers to fit on
- Create the Text/Numbers arranged in a circle in a program of your choice
- Numbers in black, background in 128,128,128 grey (medium value) saved as .png
- Use the .png file as (non-color/raw) texture and use it for the bump/displacement (displacement best with either high subdivision on the knob, OR if you use cycles you can go experimental and activate "Adaptive" in the subdivision modifier, which gives great results without you having to increase the subdivisions too high. You may only need to adjust the "Dicing scale".
Here a Screen full with the essentials for the texture approach:
Top left: UV-Map exported
Top right: Evee render
Bottom left: Bump/Displacement texture generated with Inkscape
Bottom middle: UV-map above the texture
Bottom right: Shader for the knob, using both bump and displacement (cycles/evee output) as well as color from the one texture.
Might be better to read.
Fine tuning is fun each should have for themself ;)