I'm working on a project that needs the player to be able to paint their avatars with colours.
I've gotten started, and implemented a solution of sorts. Basically I raytrace to the target material, then call my Draw on Surface function which splits the parameter color into the three channels. Then sends those three channels to their respective UCanvasRenderTarget2D resources.
The problem is that in order to paint in multiple places I need to use additive, and with additive enabled any colors I paint combine to make white. That is if you paint in one spot long enough the result is white on the material. I would love to either:
A) Paint colored pixels directly to a UCanvasRenderTarget2D
B) Limit the alpha in each channel's UCanvasRenderTarget2D
Either would result in the exact color needed being painted, only to be replaced or surpassed if the color is changed. Ideally by lerping towards the new color. So I'm kinda at my ropes length, can someone help?
Here is the implementation in order {1,3,2} //sorry