Mmmmm, maybe you could just crop the sprite on an image editor and then import it to unity. Seems like the most reasonable way to do it.
Or maybe you could generate on unity half the sprite with something like this:
/// <summary>Converts Sprite to Texture2D.</summary>
/// <param name="_sprite">Sprite to copy pixels from.</param>
/// <returns>Texture2D with Sprite's pixels.</returns>
public static Texture2D ToTexture(Sprite _sprite)
{
Texture2D newTexture = new Texture2D((int)_sprite.rect.width, (int)(_sprite.rect.height / 2));
Color[] pixels = _sprite.texture.GetPixels
(
(int)_sprite.textureRect.x,
(int)_sprite.textureRect.y,
(int)_sprite.textureRect.width,
(int)(_sprite.textureRect.height / 2) /// Here you crop the sprite on half
);
newTexture.SetPixels(pixels);
newTexture.Apply();
return newTexture;
}
But that's something you should do once, since it is expensive, and this is applied to a Texture2D, and not a sprite.