Is is possible to make a material where something appears to be beneath a semi-transparent surface?
I'm not terribly proficient with making materials yet, but I was wondering if something like this is doable and if so, what it might involve. I basically want to make a part of a creature appear beneath the ice in 3d. but I don't know how to approach it or what I should be looking at.
Check out an ice shader (ex: https://godotshaders.com/shader/spatial-ice-shader/). I'd imagine you could make a rectangle or plane with a material using the shader and place it over your creature. There's lots of good information in the Godot docs on shaders, I would recommend taking a look once you have a good grasp on the basics with materials.
The simplest would be to just create a material with alpha transparency and alpha set to e.g. 0.5 to be semi transparent. Apply the material to some object (cube/plane/etc.) in the scene and anything behind this object should appear as if behind a tinted glass.
Or if you want something more sophisticated, then someone already posted links to ice shaders you might want to look into.
If it was in 2D, you could couple the sprites/textures under a CanvasGroup node.
In 3D, I suspect you'll want to apply a NoiseTexture3D. Although this video uses the 2D noise, I suspect it won't be too different in how to make it work for a 3D texture - https://youtu.be/IvOfx-kbqac
Is this the effect you're after? https://piped.video/watch?v=uLN69rtiu4Y
It's definitely possible with custom shaders, thought there might be somewhat of a learning curve.