I've achieved this painterly effect in Blender via compositing but I need to know whether it's possible in Unity - after some google searches and going thru the Unity Asset Store I don't see anything. The effect -
With Blender this is achieved through displacement and a canvas pattern. How can I do this Unity, specifically in VR?
EDIT: Here's what I have per the answer below, but no image effect is achieved:
For URP or HDRP, there is an actual simple way to apply your full screen shader fx in this way, which looks similar to traditional method "OnRenderImage()".
Firstly, you have to register two events:
Camera Cam;
void OnEnable()
{
RenderPipelineManager.endCameraRendering += RenderPipelineManager_endCameraRendering;
RenderPipelineManager.beginCameraRendering += RenderPipelineManager_beginCameraRendering;
}
void OnDisable()
{
RenderPipelineManager.endCameraRendering -= RenderPipelineManager_endCameraRendering;
RenderPipelineManager.beginCameraRendering -= RenderPipelineManager_beginCameraRendering;
}
The second part is copying the Camera texture, and Blit() with shader.
private void RenderPipelineManager_beginCameraRendering(ScriptableRenderContext context, Camera camera)
{
Cam.targetTexture = rt;
}
private void RenderPipelineManager_endCameraRendering(ScriptableRenderContext context, Camera camera)
{
Cam.targetTexture = null;
//Apply your shader here
Graphics.Blit(rt, null as RenderTexture, material);
}
*Above suggested method is referring to FM Color, which includes advanced painting styles with shader maths.