How do create a readout (GUI?) on the surface of an object or plane?

Gentlemen, I need your help.

I am trying to create an in game instrument cluster that would output the information to the user for learning purposes.

This is different from the normal GUI’s, as the normal GUI would always be on screen all the time, but what I want is like a second camera output on the surface of a game object like a model or even a plan would be fine.

I have tried to do it with the render texture, but I think I am only half-way there. The render texture kinda works, but the GUI that I have placed on the secondary camera would appear like it is created on the main camera.

A picture tells a thousand words so lets move on to that.


The first picture (the one on top) shows my main camera view. It is a 3D game so don’t bother too much about the background.


The second picture(the one on top) still shows the main camera view, but as you can see on the 3d model, I tried to add a plane and that is where I have placed my render texture.

What I’m trying to do is to make the instrument cluster appear on the instrument cluster on the motorbike only.

Maybe render texture or GUI’s are not suitable here. I don’t really know so please advice!

The other examples that I could think of is a in-game 3d-scoreboard, or even a in-game tv. Added this so that people could find then when they encounter a similar problem.

Things that the instrument display would show.
Different pictures for the tachometer (1x~14x RPM) (Label 2D texture), speedometer readout (Label) , date (Label), gear indicator (Label).

I have previously tried to google the problem but I couldn’t find a suitable answer.

Many thanks in advance!


or other gui solution.

Textured planes.

Looks like you have the instrument cluster in the same layer as the main camera. Put all that instrument stuff in a new layer, and the camera for it too. Put the rendertexture in the default layer, and apply it to the mesh (via a material of course) on the motorcycle.