Jump to content

llSetTextureAnim objects don't animate if I'm not looking directly at them


Recommended Posts

I made myself some orbiting crows, the usual texture on a sculpt animated with llSetTextureAnim. I also have a set that I bought which looks like it works the same.

The ones I bought, when I look towards them, they are flying. Always.

Mine - if I look towards them, often they are stopped and don't move for up to three seconds after I look at them. Occasionally one or two of the four sculpts are animating with the others stopped.

I'm stood underneath them now, looking at the ground, and I can see their non-moving shadows on the ground. When I look up, they start moving again.

Am I doing something wrong here?

The code is simply:

llSetTextureAnim(1 | LOOP | REVERSE | SMOOTH , ALL_SIDES, 0, 0, 0.0, 1.0, 0.3);

Well, that and the random motion of the set around my parrcel, but that's not linked to the animation script in any way and I take the above script out once it's animating.

Link to comment
Share on other sites

This sounds like the old question, "If a tree falls in the forest and there's no one there to hear it, does it make a sound?"  The answer in this case is "No."  Animations are all played locally, on your computer, not in Linden Lab servers.  That includes not only dances and other animations that make our bodies look natural but also the apparent motions controlled by llTargetOmega, llSetKeyframedMotion, llSetTextureAnim, and their derivatives.  It also includes particles.  If your graphics card is not processing the animation, it doesn't happen, even though other people may see it.

Your graphics card should process any animation within your draw distance, but it gives the highest priority to things within your field of view.  If the animation is complex or if your card simply has more rendering to do than it can handle at the moment, it can lag.  This is most apparent with particles, which often start rendering a second or more after you have been looking toward a particle generator, but it can also happen with any other animation.  My guess is that the crows you made either have higher-res textures on them or are higher-rez models than the ones you bought, and that your graphics card is right at the limit of how fast it can handle what you are asking it to do.

Incidentally, llSetTextureAnim has to be started by a script but the animation will persist even when the script is removed, the same way that particles do.  The animation is a property of the prim it's in.

Link to comment
Share on other sites

Thanks for your reply.

I'm aware of how the animations work client-side etc, and I really don't think it's simply that my GPU is giving priority to something else because it's overworked. Most of the time I'm just looking out to sea or across my land, and there isn't that much work for the GPU to do. Certainly not for a GTX970 and a120m draw distance. I know when it's working hard - the fans speed up.

That said, I am (or was until yesterday when it stopped in fear of Qie's visit) having a really bad texture thrashing problem. Still, the purchased crows always worked.

The two sets of crows are almost identical - textures are identical. The set I bought had an issue (the wobbly sculpts were linked to a visible centre prim, and it's no-mod), so I pulled the texture and made my own improved version. Mine changes to bats at night though, and wanders anywhere on my L-shaped parcel using llSetKeyframedMotion.

The purchased crows (which I have never seen not animating) are further away than mine, most of the time, at the end of the parcel and they only roam a little.

Anyway, it's not a big issue in the grand scheme of things, I just wondered if there was some trick I didn't know to keep them animated, other than keeping one eye on them all the time.

Link to comment
Share on other sites

The roaming script is in a central, crow-less linked prim. I pulled it out a few hours ago and so far haven't managed to catch the crow animations stopped.

Hmmm... It might just have stopped doing it to mess with my head though, and it wasn't all the time anyway. I'll try it like that for a few days and see if it has stopped for real. If that's the case, then I wonder which method the purchased crows use to roam because they don't show the issue. I know the alternatives but llSetKeyframedMotion seemed the most obvious.


Link to comment
Share on other sites

You have some interesting material there, thanks for that link. I hadn't come across OHM beforet, it makes checking some stats out a lot easier.

Much of it I have already considered at one time or another, checked out, tried, etc, but I'm noticing some new things now...

Around my building, which is where I genereally am when I notice the crow issue (the texture thrashing happens all over) my GPU generally seems to stay at around 25% to 50% core, memory at 50-ish %, depending on which way I face. CPU and system RAM isn't strained at all.

That tool picked up one thing for me though - my garden at the top end of my parcel made my GPU core hit 100% very easily when I walked into the middle of it. My FPS didn't seem to take that much of a noticeable hit (dropping from the usual 40-ish to 20-ish) but clearly a lof of alpha-blending grass and trees don't make for a happy GPU. Shame they look like toy-town decorations if I try to use alpha masking on them. I always try to use masking on my home-grown stuff where I can.

I've found one odd spot, some animated water on a big pool/fountain I made (no particles active) that drops my PFS to 12 if I fill the screen with it, but the GPU core stays around 40%. Odd - I thought all those multilayered animated textures and alpha blending would have made the core max out. I'll take a close look at that over the weekend.

So, I've some work to do...

Link to comment
Share on other sites

Right, without the roaming script in, the llSetTextureAnim animation is still freezing when I look away. Not all the time though, it hasn't seemed to do it for most of the time since I took the script out, but is definitely doing it right now.

I can get it as obvious as this: Look at the crows - they are frozen in the sky, but after a couple of seconds they start circling. Now, I look down to the ground and watch the shadows stop moving over the next few seconds. Look back at the crows, and they start moving again.

The purchased crows still seem to be moving non-stop, every time I look at them.

If it was the other issue I have causing this too, I would expect it to happen to both sets of crows.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...