UMG Movement Jitter

Hey there,

I recently added some UMG’s that pop up to show damage done to an enemy. I followed this tutorial to do it…

https://forums.unrealengine.com/showthread.php?50130-UMG-Tutorial-Placing-Widgets-Over-Actors-In-Screenspace

My issue is that when the UMG is moving around the screen as the player continues on running around there is a noticable jump as the umg goes from one pixel to the next as if it isn’t properly blending the image when it is “bewteen” two pixels. I think i’ve seen something similar to this before inside Adobe After Effects and was called sub pixel interpolation or something to that name but I have no idea how I would fix that within UMG.

Thanks for reading!

We are having similar issues with our UI, with noticable pixel pops left and right. Does anyone have a solution for that?

We’ve been hoping to see a solution for this issue for a while.
Epic could you look into it one of these days?

Would also love some info about plans to support subpixel rendering/compositing for UMG, the whole pixel transforms are really distracting when moving at slow speeds

Have just run into this too, I’m guessing there is no workaround but would love for things to be able to move smoothly (I was going to have my menu elements jump out and then have a slow zoom but the zoom movement is all jagged).

Bump. MAN this is rough.

I turned a blind eye to this after posting it so long a go. I saw people occasionally commented so thought to myself “I don’t need to worry it will probably be fixed before the game needs to ship”. It’s been over a year now I am starting to sweat so…Bump

It’d be nice if we could get an issue opened so we could vote for this feature.

I’d vote the hell out of it. UMG could be everything I want it to be, but…not yet.

+1, an issue would be great.

Feel like I’ve read here or there that Slate uses an integer coordinate system and that’s why there’s pixel snapping or something – would be interested in hearing from the team if that’s true, and the reasons they had/chose to do it that way. Wonder if there’s any way to have float coordinates somehow too, even if requires compiling engine from source

Your comment gave me an idea for a workaround in my case - I wanted some subtle zoom happening on my menu background (you know how a lot of games it moves slowly just to get rid of that static feel?), so I made some BP logic to go through all image widgets and automatically convert them to a material, and I do the zoom by scaling the material UVs slowly in tick. No snapping there of course, so looks nice and smooth :slight_smile:

Same problem here.

Same here.

This problem is still happening, I would love to see a bug report entered for this. Using a billboard component is super smooth, but using a Widget Component results in bad jittering, as your icon can’t stay properly centered over the object as your camera rotates around it.

agree with AJ_Graphix, this problems had been there for a while

It’s a bug with screen space or a limitation of UMG. Setting to world space and then updating the component to face the player in blueprint is smooth, but then the widget can be occluded.

I was able to attain something near a solution, it´s not perfect, mind you, but it is definitely an improvement. I remove the fractional part from the screen coordinates and use the result to set the position in viewport, I then use that fractional part to set a render translation. The result is a lot more bearable for me.

Hope it helps!

2 Likes

Good thinking, that’s a better workaround than I could come up with.

Still holding hope for proper sub-pixel interpolation in UMG from Epic, so that we can use the built-in UMG animations to move things nicely.

I suppose it might be possible to hack UMG animations to use your workaround too - pre-run the animations on startup, record your own key frames (maybe) and do some fractional interpolation yourself concurrently when the UMG animation is run. Maybe. Lol

Just ran into this problem myself, the solution is easier than you think.

Create a material with the image in it, then move the image around using it’s texturecoordinate.
You can easily set material params using this (This is from C++ but im sure Blueprint nodes are the same)

Image > GetDynamicMaterial > SetScalarParameterValue

Same here,has any solution?