I do not see why this wouldn't be doable. You can attach normal maps to textures in 3D with Godot, that's how PBR rendering works and expects. I'm not sure if the Sprite3D/AnimatedSprite3D node can take a normal map by default, but you could either write a shader to do this, or use a MeshInstance node with a quad and then apply the normal map there.