How can I create a blur effect that keeps things sharp in the center, but blurs the outside?

I’m trying to create an effect that blurs the screen more and more on the outside of a focal point the more I zoom in.

The best example I can give for what it is I’m trying to achieve is the effect that happens in the movie “Big Hero Six,” where the robot is zooming in on an island and everything on the screen is getting progressively blurry towards the outer edges of the screen while the center stays sharp.

I’ve looked at many tutorials for Depth of Field and Dynamic DoF from online, but they require a focus point object or depth object that it uses as a basis for blur. I just want to create a scalar variable that I use to force the screen to get blurred in the outer edges based on whether or not I decided to zoom the camera.

I thought about using a texture to alpha in as I zoom but it doesn’t look very good when I use it.

50113-gradientzoomblur.jpg

Anyone have any ideas on how to achieve what I’m trying to do?

Hey BattlePulse_ari,

So, to answer your question yes it is possible by utilizing a Post Processing material. I will link you the forum post where a user has posted how to go about the creation of the material.

If you get lost let me know,

Logan

Yes,

The only tricky part is where you have to create a custom variable and create some code in the comment and make sure all of your naming conventions line up.

The way I think I would do it is create a Boolean variable in a blueprint that turns the effect on and off when the player toggles zoom mode.

Then, I would store a floating point variable that goes up or down [+= and -=] based on the mouse wheel scroll direction.

Lastly, I would try to use that variable to adjust the intensity of the post process effect. I think that would work.

Sure, if you wanted to do something dynamic so that when you zoomed in and out intuitively. I thought you were simply looking for a way to accomplish this effect.

How you use this information is entirely up to you.

Logan

Thank you very much for moving me in the right direction!

I got the effect to work on it’s own, but I have a question about accessing parameters of a material instance from a blueprint.

I created a post process component on a player character blueprint and I added the radial blur material instance as a blendable to that attached post process component.

Inside my character blueprint construction script, I created a node called, “Create Dynamic Material Instance” and I set the source material to the Radial Blur Material Instance.

In the even graph, I created a button event for the “F” key / “G” key and used “OnPressed” that would “Set Scalar Parameter Value” to the intensity of the radial blur amount 1 or 0.

Unfortunately, This does not work. I set a break point to see if it actually gets into the function and it does. Is there a step I am missing?

Hey BattlePulse,

Your original question was how to create the blur effect that keeps things sharp in the center and then blurs the outside.
We are now getting off topic and into how you would actually use this effect dynamically within your project. This question is a separate on and if people were to search for this information it would be buried in a wall of text that is not readily apparent to someone needing it.

What I would like for you to do is to open another ticket in the blueprint ticket with this issue and then link the ticket her so I can loop in the myself and the blueprint department.

Thank you ,
Logan