Invisiprims make parts of the basic avatar invisible while leaving other prims visible. The most common uses for invisiprims are prim shoes and non-human avatars. Like normal prims, invisiprims can be linked to create more complex attachments. If you rez one as an object, it is invisible but still hides any avatar parts within or behind it. Note that water and trees are alpha textures, and as such will be hidden by invisibility prims. Also, the sky behind such a prim may appear just a tad discolored. Objects with glow won't glow when behind an invisiprim, although they will still be visible.
Beatfox Xevious released invisiprims to the public with full permissions. The following text is from Beatfox's notecard released with the prims.
SL has a few special system textures that are only accessible by UUID key and that possess properties which no other textures do. Namely, a prim using one of these textures is capable of rendering whatever avatar textures and textures containing alpha channels are inside or behind it completely invisible. Normal textures that do not contain alpha channels will remain untouched. This is useful for hiding part or all of an avatar while keeping non-alpha attachments visible. Great for creating digitigrade legs, skeletons, Rayman -- the sky's the limit!
Go here to see the differences between avatar masks and invisiprims.
Working with invisible prims can be a challenge. While you can use CTRL-ALT-T to make invisible objects visible to you, that doesn't work with invisiprims. They don't appear in red if you hit ALT while in edit mode. (Why? Because the "red" is an applied alpha texture.) But you can make a prim backdrop. When you set to backdrop to be slightly transparent (making it an alpha texture,) the invisiprims become visible.
I like to place a plain plywood object on the attachment point in question and size it to cover the avatar pieces I want hidden. Then I drop a copy of the invisiprim script into it making it into an invisiprim. Please leave the script unmodified, since if there are any other invisiprims in the current render-area that use the same invisibility textures but do not have the default refresh timing, the invisibility may not work properly.
Be comfortable with using Ctrl-z to move prims back to their last position. Moving your invisible prim out of the way while you work on the rest of your attachment is something I end up doing a lot.
Invisiprims can hide objects with 24-bit textures. The prims occlude as if they had a solid texture when they're very large or the camera is very close.
"The object's occlusion abilities is only proportionate to the objects behind it. If any part of a prim's geometry is visible, or near the edge of visibility, from behind a foreground object, it gets rendered and not culled by the client viewer (keep in mind this is from your client's camera point of view). But if an object is fully blotted out by the foreground object, and not near it's edge, then it would be culled by the client and not rendered (the Info Display> Occlusion option in your Client debug menu visually demonstrates this)." - Brenham Beale
The Second Life Terms of Service has been interpreted to say that you can be banned for using a totally invisible avatar. Don't do it. You should have parts of your base avatar or attached prims visible at all times.
// Invisibility Prim Refresh v1.1a // by Beatfox Xevious // last updated Oct. 21, 2004 refresh() { llSetTexture("38b86f85-2575-52a9-a531-23108d8da837", ALL_SIDES); llSleep(30); llSetTexture("e97cf410-8e61-7005-ec06-629eba4cd1fb", ALL_SIDES); } default { state_entry() { llSetPrimitiveParams([PRIM_BUMP_SHINY, ALL_SIDES, PRIM_SHINY_NONE, PRIM_BUMP_BRIGHT]); llOffsetTexture(0.468, 0.0, ALL_SIDES); llScaleTexture(0.0, 0.0, ALL_SIDES); llSetAlpha(1.0, ALL_SIDES); llSetTimerEvent(5); } timer() { if ((integer)llGetWallclock() % 60 < 10) { refresh(); } } }