Why UUID Flipping is Bad

Introduction

With sculpted prims, many residents took it upon themselves to create "animated" objects by using LSL to change the sculpt UUID thinking this is a supported method of creating animated objects inworld. In truth, Second Life does not currently provide any adequate means of animating objects beyond position/rotation/scale. This article aims to clear up some of the rumors and speculation around why UUID flipping is good or bad, and why UUID flipping is being throttled for mesh to prevent the creation of objects that animate in this way.

What UUID Flipping Actually Does

When you change a mesh UUID, it sets off a chain of events that stresses the entire Second Life content streaming system. From the back end on down to the viewer:

What the Load Looks Like in Numbers

Say you have a simple 5000 triangle horse with a modest 16 frames of animation. With the current average of 10 bytes per triangle, each frame of animation will eat roughly 50KB of bandwidth, making this 5000 triangle object use the same amount of bandwidth and storage as an 80,000 triangle object and use nearly 1MB of bandwidth to download all frames and LODs. Once the object is decoded, its memory footprint per frame would be around 250KB of vertex buffer data, or 4MB for the entire 16 frames, making it not practical to hold all frames in memory, so even after an object is downloaded, flipping frames would cause much disk access and frame transitions would be slow.

Alternatives to UUID Flipping

The Glorious Future

Skeletal animation -- the animating of a single mesh by rigging it to an animated armature -- is the proper long term solution to creating fast, efficient, and attractive animated objects and avatars. The bandwidth and memory required is a tiny fraction of that required for UUID flipping, and the performance and visual results are much better. Any development effort that aims to support the future of animated objects in Second Life will focus on expanding avatar and object skeletal animation functionality.