Animated textures for Second Life


Animated Avatars - SecondLife Display
Animated Avatars – SecondLife Display

I’ve been asked by quite a few people how I made the displays of the animated avatars at my main store, which show the avatars in motion. In case you haven’t seen said display / sales boxes yet, they can be found at the skin department of my main store, and, currently, also still at the ‚Latest releases‘ wall near the TP point. Well, here’s how I made them.

One word in advance.
What I will write below describes my personal workflow. It works for me, but that doesn’t necessarily mean that it works for others as well. There are always several ways to achieve something with software; the below described process is what works for me. In case it doesn’t work for you, that doesn’t mean that you generally can’t make any animated textures for SecondLife. Maybe it just means that you’ll have to find a different workflow.

Also, my instructions will not spoon feed you with each and every step. For example, I do expect that you’ll learn how to use the software I recommend all by yourself. Please don’t complain about that. I found that learning software is done best by actually doing things, not by following tutorials step by step.


Alright, here we go!

First, get a movie recording software for SL. I do recommend Fraps – – to do this. Even the trial version will do since for animated textures, you’ll only need very short clips.

Second, put your avatar in the pose you desire and record a very short movie of it. Ten seconds or so should be enough. I usually record at 25 frames per second; for you, other frame rates may or may not work.
In case your avatar’s pose is animated (i. e. dancing), as it was the case when I recorded the clips, you’ll want to make sure that the avatar remains at relatively the same place. Meaning, a clip that will show the avatar walk from left to right or away from the camera isn’t good since it will result in a too big ‚jump‘ in the resulting animated picture.

Third, get a software that’s capable of opening movie files and saving them into *.gif files.
I use Ulead GIF animator for that purpose, which was included with Ulead PhotoImpact 10 (which, in return, is available dirty cheap on Ebay). Open the movie you recorded with that software.

Fourth, the tricky part. Find 16, 20 OR 25 frames (in order, but double check if Fraps hasn’t recorded any double frames – go through the animation frame by frame and delete those that are doubled; you’ll see it!)  of your moving avatar. For a square presentation, you want it to be 16 or 25 frames. The less frames, the clearer the moving picture on a prim BUT it has to be a square number of them.
Also, in case your avatar’s pose in the movie is animated, you’ll want to look for a sequence of frames in which the avatar’s pose is similar in first and last frame. That will make the ‚jump‘ that occurs between last and first picture when loop playing the animation less obvious. If required, cut some frames in between the movie that don’t show too much difference.

Fifth, crop the movie to a square picture.
You want to make sure that your selection covers the avatar during the entire number of frames. GIF animator allows you to move the selection if you need to. Hit [CTRL]+[R] to crop it if the selection is perfect to crop the picture. As I already said, the cropped picture should be as close to square sized as possible.
Then, save your animation as a *.gif file. Don’t worry about compression. Use the best settings possible; file size doesn’t really matter. That means, 256 colors, 100% dither.

Sixth, conversion from *.gif to SL. Actually, there are two possibilities. You’ll want to use BOTH, because both have advantages and disadvantages.
a) – having the conversion web based is, of course, very convenient.
However, that website refuses to parse some gif images; and occasionally outputs strange resulting image sizes. BUT! That website will deliver a script to you when outputting the animation.
The output script does have something like this in it:
llSetTextureAnim(ANIM_ON | LOOP, ALL_SIDES,5,4,0,0,9);
The first two numbers (5,4) are the numbers of frames in square. So the animation on the avatar is 5×4 pictures large (yes, we’ll get to how to actually get that texture in a moment, I just want to explain the script first)
If your animation has a different number of pictures in them (i. e. 4×4 or 5×4) you will have to change those first numbers accordingly.
The last number (9) is the number of frames per second. You’ll have to test which works best for you.

Now, getting back to actually converting the *.gif for SL.

As I said, the Peregrinesalon website is helpful, but occasionally (very!) buggy. So we need something else. I’ve been told a gazillion times that it would be simple to actually just arrange the single animation frames in Photoshop, but I’m too lazy for that.
So I researched, found, and now just use 🙂
It’s a VERY simple software; it will convert the gif to a picture that has the frames in them.
As you can see on the website, there’s a tiny Pikachu image that was converted to SL. The resulting SL texture of the Pikachu image is 4×2 frames, as displayed on the website, so that would be what you would have to use in the script, as described above.

Well and that’s basically it! After converting the *.gif with the software, upload the resulting picture to SL. Texture a prim with it. Then drop the script into the prim and watch it start to move.

Some words of caution though:
NEVER drop the texture animation script into a prim that you can just modify and not copy, since it’s technically IMPOSSIBLE to stop the animation once it started. Not even deleting the script from the prim will stop the animation. The only way to stop the animation is to delete the script inside the prim first, then shift-copy it. Which of course doesn’t work on no-copy prims.
Also, as soon  as the texture animation script is added, all ‚texture repeat‘, ‚angle‘ etc. values in the ‚Texture‘ tab of the edit window will become useless. The animation will precisely stay on a repeat of 1×1, no matter what you enter in said texture edit window. Also, it will not change its angle; offset values, of course, also become totally useless.
This means that you’ll have to design your animated texture JUST the way it’s supposed to appear on the prim. This isn’t important when wanting to display an animated picture on a cube prim, since a cube can be turned around. However it IS important when it comes to, for example, sculpted prims, which occasionally can’t be just turned around.

I hope that my instructions will be helpful to some of you 🙂

Comments (2)

Serafina EzvaltSeptember 23rd, 2010 at 1:11 pm

Thank you Thank you!!!

Lacy TrothJuli 25th, 2011 at 1:18 pm

Thank you for this info! I enjoyed it.

Leave a comment

Your comment

Math test (actually, this is spam protection ;-) ): * Time limit is exhausted. Please reload CAPTCHA.