How to set a mark at one face of the mesh?

I want to add some words or pics at the loaded mesh? Like the below:
before:
image
after:
image

if you can’t set the text in blender and it has to be dynamic you would typically use decals, see three.js examples but it’s going to be a bit of a struggle because you’ll have to create the decal texture dynamically/runtime which throws you into a whole different set of problems.

to summarize, step 1 will be to create a webglrendertarget and render text into it, i would suggest troika-three-text. your texture now says “hello three js”. step 2 will be to calculate a decal and set that texture as the materials map.

if you can pair three to react, it has ready-made components for both decals and dynamic textures:

<mesh geometry={ring}>
  <Decal>
    <meshStandardMaterial>
      <RenderTexture attach="map">
        <Text>hello threejs</Text>
3 Likes

Thanks for your help. I studied the example, and I need to achieve the rotate of the mesh and the decals without using OrbitControls, and something went wrong. I ask another question as below:

I just saw this discussion on the summary. Here is an alternative solution to your specific problem.

Here is a sample program where I addressed the problem of adding a description on the outside of a globe - which is the opposite of what you are trying to do.

I used an image editor to create the characters I needed. I loaded the characters and then positioned them along a circular path using a custom subroutine. In your case, you would be positioning the letters on the inside of the orbit facing inward. If you think this would be helpful, feel free to copy the code and extract what you need. If you want, I can walk you through the code.

Note that this solution addresses only your specific problem of placing characters along a circular orbit - like the outside of a globe or the inside of a ring. If you want something more general, you should definitely learn about creating decals, as already suggested.