Making custom chromatic aberration. Can I distort color channels individually?

I’m trying to make a post process and I’ve run into a bit of trouble. My goal is to create a custom chromatic aberration effect that I can control based on depth of field. I’d like it to behave the same as depth of field, only instead of blurring the image in the areas that are out of focus, it separates the color channels more and more. I’ve got the scene texture and I’ve separated the color channels. Is there some node I can pass them through to stretch, translate, or otherwise distort them based on a 0 to 1 variable before I append them again? That variable would come from the depth of field function, or something from the pixel depth function. Is what I’m describing possible? Am I looking at it all wrong? Thanks for the help.

You have to deal with UV coordinates to scale the screen texture. Here’s example of Depth Chromatic aberration. It’s not optimized, but a good place to start.

I’ve scaled Red and Green channels by 2% and 1% respectively by using Remap to Range. This function is useful if you need to set U and V separately. Lerp just blends scaled UV with original depending on Depth.

Keep in Mind that it’s better to blend UV’s an not Scene Color.

1 Like

HELL YEAH, I’m gunna use this for my enter the spider-verse VR game.