Projecting/generating mesh on surface at runtime

Is there a way to project a given static mesh, onto another surface at runtime?

Imagine a static or skeletal mesh with an organic shape, rotating around. I want to be able to “shoot” at this rotating body and place a 2D mesh (circle, rectangle, …) with normal data at the place where I shot it. The 2D mesh should not only attach to the 3D body, but wrap around it like a sticker.

So far I have looked into mesh decals and RVTs.

However, mesh decals seem to be not usable with changing projection surfaces at runtime.
RVTs seem more promising, but I can only find examples using landscapes, however in my case I would like to project on another moving static mesh (or skeletal mesh) and I am not quite sure if that is possible.

I also found the C++ plugin USurfaceMesh which seems very promising. However there is no Blueprint access and it also seems to use landscapes instead of static meshes.

It would be great if you could point me towards the right direction.

I think a decal is fine, as long as you attach it to the mesh

decal

Thanks for the quick response. The issue with this is, that I really need a normal map. The “stickers” were just an example to describe the behavior I need. In the end there will be a visible relievo (embossing) on the 2D-mesh.

Drawing to a render target would be the only way to do what you want with normal map altering…