Hi Guys,
Not sure if this is fixable or more of a hardware thing.
Im noticing on my 2d games when i move sprites around i get a ghosting effect, where you can see part of the edge of the sprite in the location it was in the previous frame.
My sprite is an illustrator created character with a rigidbody and boxcollider attached.
I was thinking maybe it was the refresh rate on my screen but i dont notice this ghosting effect in other games i play.
Also when i take screenprints the ghosting effect is not visible.
Anyone know any solutions to removing the ghosting?
Thanks
My code is simply addforce with the input.axis float value also
voidFixedUpdate(){
h=Input.GetAxisRaw("Horizontal");
//Move player
Vector2moving=newVector2(h,0);
rb2d.AddForce(moving*speed);
//Flip player
if(h>0&& !facingRight)
flip();
if(h<0&&facingRight)
flip();
}
A lot of times this ghosting is from LCD displays taking time to change pixel colors. It can usually be more prominent if you have high contrast between the sprite and backgrounds. When this ghosting is from LCD displays, it might not be noticeable in other games for a number of reasons:
You’re more engaged with gameplay and not studying sprite edges as much
There’s less contrast or more general movement which hides the issue
There’s enough motion or intentional blur that hides the issue
Thanks for the reply, i did have a dark plain background with a sprite that was white so the ghosting showed up really bad.
Changed the background to a lighter colour and the issue was masked.
Good to know its not something im doing wrong and its something i can ‘Design my way around.’
If you pause the video, you see there is no actual ghosting, it’s an artifact of your screen. So to properly fix it you would need to get a screen with a faster response time; going from full white to full black is the worst case scenario. The video looks like it’s 30fps, though; doing 60fps, so there’s fewer pixels changing between frames, would help somewhat.