Download

How to disable the scenecapture2D motion blur?

Hey all.

I’m working on an optiwand like in the old game SWAT4 (its basically a camera on a stick). I’ve got the thing working, but whenever I equip the wand, it seems like I get a double motion blur effect going on on my main camera.

Anyone know how to alleviate this “crosstalk” of camera process settings?

Ta.

Have you looked at the show flags on the Scene Capture 2D? There is a checkbox for motion blur there.

Capture.JPG&stc=1

Yeah, its off. Plus its not an issue with the scenecapture render texture, its happening on the main camera view.

I think you need a new problem statement.

How so? I stated its the main camera that is being affected.

I’ve been tracing through the code, but it goes off to some render gubbins that I’m not up to speed with yet. I suspect its doing a render pass twice somehow. Presumably the post process motion blur adds a motion blur composition pass onto a stack somewhere when it shouldn’t. But thats just my gut instinct talking.

Well, you’ve just told me that the title of your post has nothing to do with the problem :wink:

It’s not really clear what the cause and effect is here. Problem is initiated by “equipping the wand?” does that mean attaching a scene capture component to a Pawn?

Well, it kind of IS about the title, just that the blur is happening on the wrong camera. I’m guessing that its starting a blur pass, but not sure how the camera submits itself to be rendered or how the render passes are setup. Basically, I just want the **** thing to work as it should do (i.e. if it has no blur checked in the post process settings for the capture, it shouldn’t blur either itself or any other camera view. Don’t think its that complicated :wink:

I experienced similar issues with blur and the scene capture components we use for our 3d scopes.
At the time, we couldn’t figure it out.
Still haven’t.
Our solution… we disable motion blur on all global post process volumes :frowning:



    for (TActorIterator<APostProcessVolume> PPVItr(GetWorld()); PPVItr; ++PPVItr)
    {
        if (PPVItr->bUnbound)
        {
            PPVItr->Settings.bOverride_MotionBlurAmount = true;
            PPVItr->Settings.MotionBlurAmount = 0.0f;
            PPVItr->Settings.MotionBlurMax = 0.0f;
            PPVItr->Settings.MotionBlurPerObjectSize = 0.0f;
        }
    }


Problem solved, though it wasn’t optimal.

Thanks for the solution Kris, doesn’t feel quite right to do it that way though. I’ll have a dig in the code and see if I can’t track down what the problem is. I’ll submit a PR if I manage to find it.

No, it doesn’t :slight_smile:

Pretty sure Epic mentioned they would be doing more work on post processing and scene capture components a good while back.

Yeah, I posted a bug on answerhub and got a response that suggested that using a socket to attach the scenecapture to would work properly. But I’ve not quite got that setup to a place where it works and its likely that it actually works ok in a later version of the engine (still have to test that). But I’ve based my stuff off shootergame from 4.6 so didn’t want to update particularly. I guess if that works it might be worth it though, so I can do stuff like sniper scopes with the same method.