If it’s a flat plane then you could have an alpha material based on a different uv channel and just repeat a fade texture along the edge polygons and keep the internal polys solid.
This is the effect of a single layer of shell mapping. Obviously it’d look better with your fuzzy thread material but I don’t have time to recreate it, so this is just with some random noise. But you can see it effectively creates an multi layer look.
If using mesh based shells, there is nothing special about the material, other than it needs to be able to tell what part of the mesh is supposed to receive the opacity mask and what parts should be opaque. Vertex colors are one way to do this. For example, the inner surface might have a vertex color of 0 and be opaque, while the outer shell has a vertex color of 1 which activates the opacity mask, not unlike how you had fresnel controlling this before.
Out of convenience, that screenshot was made with overlay materials. I just scaled up the overlay mesh slightly in the vertex shader.
Not to necro this post but finally solved it! What I ended up doing (with some help from a friend) was to create a static mesh blueprint that replaces all my meshes in game. Then in the construct script I add mesh components based on the layer count. The material then uses custom data to change the world position offset of each layer, depending on what layer it is (multiple by current layer).