I can cut off a sprite or a texture by shader, but if there is a sprite with several children to be cut off, how to do it?
This makes more sense. There is two basic ways to do it.
1.) If every sprite has it's own material, it will need to set the values per-material. So you will need to have a code that looks like this:
for EachChild in self.get_children() :
var TheMaterial = EachChild.material as ShaderMaterial
2.) Actually there is a more efficient way to do it.
What you need to know is that every material will have a set of it's own material properties.
What this means is that if the material is shared between sprites, like in a sprite sheet or texture atlas, they will all be effected at the same time.
Here is a example of sprites sharing a material:
A Zip file, with a Godot example. I use Godot 3.1 Alpha2