Jump to content

Texture Animation Advanced Question


You are about to reply to a thread that has been inactive for 2654 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I'm wondering if there's any way between scripting, other tricks etc.

To take a texture that has Transparency, use that as a "Lock" Transparency, and Overlay a Texture animation onto that Texture, 

 

I.e if I made a Vertical line that is 10 pixels wide thats vertical down a texture of 1024x1024, and wanted to make a rainbow, or something similar run down it (Actual use would have curves and not be straight so can't just slide a texture)

 

or would it be possible to just do this in photoshop with a script that just steps through 150+ texture UUID's

Link to comment
Share on other sites

The answer is yes, if I understand you correctly.

You want to use a script so a prim face displays 150+ 1024x1024 textures in order so it looks like it's animated.  However it could cause a lot of lag for the observer of the prim and it may take a long while for all those textures to rez, because each texture has to download to the observer's viewer. So use the lowest resolution texture you can.  512 x 512  or lower would be much better. Also the fewer total textures you use the better.  Experiment to get the best result with the lowest lag.  

Link to comment
Share on other sites

Which texture needs to be animated? Is the rainbow running along the narrow strip, or is it moving in the large texture behind the static strip? If the latter, is the rainbow's movement following the curve of the strip? Is the curve of the strip fixed, or do you need to be abler to change it inworld?

I ask these because there is a lot you can do with mesh and careful UV mapping to achieve complicated texture animations withgout using huge amounts of texture resource, and your case may have that kind of solution.

Link to comment
Share on other sites

Specifically it would be the glow on a Dazzleshark skin avatar.

 

I.e this is like a glowing layer on a normal skin, stripes as you will;  However it uses the Same UV, and same mesh so its only a few lines on a texture.

Without a photoshop style way to Lock, that Textures Transparency and animate it that way so it Only animated as an Overlay to the specific texture.  There's no way to do it without actually adding Mesh UV that is strictly just the lines wanted to animate.

 

Doing the 150x  or whatever nessicary textures would be using that fairly basic photoshop trick I mentioned, where just step a gradient down with Lock transparency on, Overlaying the gradient into that transparency, and essentially manually animating all the frames.

Link to comment
Share on other sites


Mistychu wrote:

Doing the 150x  or whatever nessicary textures would be using that fairly basic photoshop trick I mentioned, where just step a gradient down with Lock transparency on, Overlaying the gradient into that transparency, and essentially manually animating all the frames.

Try this test first:

  • Rez a cube
  • Drag a texture with the same resolution you want to use onto one face of the cube (make sure it's a texture not already present in your inworld environment)
  • Watch how long it takes for it to render properly

That's how long the textures will take to change on your skin. Is that acceptable? If it isn't, you need to find another solution. That many textures will not be stored in OpenGL's texture buffer so each wil have to be retrieved from disk cache or - even worse - from a CDN server every time it's applied.

Link to comment
Share on other sites

I'm probably still not understanding, but: Is there some disadvantage to simply attaching another mesh for the animated stripes, sort of like a mesh clothing layer on top of the existing avatar skin?

Otherwise, if you're proposing to animate stripes on the skin layer itself, there's a nasty performance / quality tradeoff there because so much of the UV map is wasted by repeating the exact same image in each cel of animation.

"True" viewer-side texture animation (llSetTextureAnim()) is limited to a single texture divided into sequenced cels, so16 frames at 256x256 resolution, or 64 frames at 128x128, etc. to fit within the 1024x1024 maximum texture size.

In theory, you could create more, higher resolution textures and push them onto the surface by script, but that's totally impractical: the more and bigger they are, the slower they'll rez, and each new frame will be a separate object update, so it will be quite jerky and increasingly laggy at frame rates higher than one per second (if that).

Link to comment
Share on other sites

If I understand better now, then, unless you have access to the avatar mesh itself, you could not add appropriately UV mapped geometry for overlaying the transparent animated texture (any layers already there, like tatoo or clothing layers, would not be appropriately mapped). However, it's theoretically possible for you to make a rigged mesh overlay consisting of the animated stripes, with approriate UV mapping to transpose the linear texture animation into whatever sinuous motion you are after. Effectively, that would be wearing the stripes as tight fitting clothes. I'm not sure that that would be at all easy though, especially without the mesh itself, even if you have access to the dummy the creator says is coming.

ETA. Having watched a youtube about using glow stripes on the av, I see that this is done by wearing a second copy of the same av with the (mostly) transparent textures on. However, that would not have the right UV mapping for the kind of texture animation I imagine you want using just the llSetTextureAnim smooth animation of a single texture. UV mapping is the key.

 

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2654 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...