Name plates for each mesh

Hallo,

today I am trying to implement name plates for each mesh in my scene. These nameplates shall appear, if i click on a mesh (maybe leftclick) and disappear, if I click it again (maybe rightclick).
I already looked in some other threads here and found some infos about using GUI features to achieve this. In general I can implement the nameplates through GUI features, but this gives me huge performance issues due to the big amount of meshes I have in my scene.
So, do you have other suggestions how to do it?

Some more information, that might be helpfull: The shape, position, color and textures of my meshes are all set through a JSON file, that is created in a certain software.
Using dynamictextures does apparently not do the trick, because if I use these, I loose the actual color and texture.
I also tried to add a simple plate in front of each mesh during creation, but that kinda breaks it.

Hi @CoBry

Can you provide a PG that shows your issue?

Due to the complexity of my project and the fact, that we are devoloping it with Angular, its difficult to create a PG :thinking:

But my trys to use the GUI were inspired from this : https://playground.babylonjs.com/#41IFI5#16

Can you create the plate when the user clicks the mesh?
Also, to maintain performance, you can keep a list of created plates and dispose the oldest when an arbitrary number of plates is reached.

Yes, the creation of the plates is possible. But if i click more than maybe 4-5 meshs, the performance suffers.

You should not get a performance drop with 4-5 plates. Sorry to insist but if you could copy/paste your code in a PG that would help me debug your issue.

sry for not replying in a while. I had to do other stuff. But now I am back for this projekt :smiley:
Recently I thought about using the Bounding box of a Mesh to display the name of the mesh.
Any ideas if that is possible? Adding some text on one side of the cube should do the trick, but I dont know, if thats possible …

At the same time I am trying to use a GUI Button as a nameplate. Leftclick on a mesh, the button should appear and rightlick on a mesh, the button should disappear.
The creation of the button works, but I dont know how to delete it.

with billboarded holographic buttons you can do that:

mesh plates | Babylon.js Playground (babylonjs-playground.com)

Performance seems ok with 100 plates.

2 Likes