It would be awesome if we could manipulate vertex colors at runtime that would make a whole lot of things possible and from what I understand it wouldn’t be that hard to implement in the engine.
As for how it could be setup in blueprint, it could be similar to the Radial Damage with Falloff node, instead of damage it is then vertex color and the input is a color vector. Additionally there could be a setting for painting additive or overwrite.
I have here a specific thing I need this for, my game is made around painting:
That is just made with GPU particles and they need to have a lifetime, I would love to be able to let particles paint dry into vertex colors so the paint can actually stick on the walls for always.
That is obviously a very specific case but here are some more ideas that have a wide use, important to note is that vertex colors can be used as mask where the transition uses a texture similar to a dissolve material: https://www.unrealengine.com/content/eb627aab11584eab96f1aa20ee2b7d8a
- Dirt/Mud that can splash and stick to surfaces (think racing games)
- Gore/Blood, painted on skeletal meshes it can mask in gore or blood where the pawn is hit
- Painting terrain at runtime, RGB can control different texture masks and Alpha adds world offset like a heightmap (Think god games)
- Deformation painting, RGB can be used as world position offset and Alpha as the texture mask (I did something like that in my UDK game Last Knight but with spherical world position masks which made it very limited: https://www.youtube.com/watch?v=2ra1nMnLBaQ)
- Masking wetness or snow, think of the Uncharted character that can get wet exactly where he was underwater.
- Trails, like trails of tires in the mud (can use world position offset for depth and texture mask)
I’m pretty sure other people will come up with more cool ideas.