Having a Sprite's position be different to it's prefab's

Hello. I’ve been using Unity for about 2 years now, and have a difficult question to ask.

I am making a 2D game, and have a rigidbody object. This object has a SpriteRenderer attached to it, so naturally, when the object moves, it’s sprite moves with it.

What I want to do however, is have the object move normally (smoothly), but have the sprite move jarringly, giving off the illusion that the object is moving jarringly.

For example, when the object moves from x = 0.0 to x = 10.0, it goes 0.1f, 0.2f, 0.3f etc.
But the way I want the sprite to move is for it’s position to be the Mathf.Floor() of x, so: 1, 2, 3, 4 etc.

I’ve searched many topics on this, but there doesn’t seem to be a way to move a SpriteRenderer independent of its GameObject. I would make the GameObject itself move jarringly, but that would interfere with it’s rigidbody behavior.

This issue’s been bugging me for days now.
I really appreciate any and all help on this. Thanks in advance.

A SpriteRenderer has no position.

The only things that have position in the world are game objects.

My suggestion is that you make a child object to hold the sprite and adjust its position as you want.