(3.8.6)Can a cc.Label be attached to a 3D object?

Does a 3D object support attaching a cc.Label on it, like a SpriteRenderer?

For example, if I want to create a dice (cube) with numbers, when attaching a cc.Label on it directly:
p1
the label doesn’t show:


However, when attaching it with a parent Canvas:

The label shows:

but the label needs to set the position as the -width and -height of the canvas:

So, is that the normal way to attach cc.Label to a 3D object? Does it have a more simple way to add it so that the position of cc.Label may be kept at position (0,0), just like a cc.Sprite in 2D canvas?

You can have a try to use camera-texture shader.