Jump to content

How do I create crisp, clear, textural, animation frames?


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

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

Recommended Posts

I'm using Gimp to create (or should I say "attempt" to create), crisp, clear animation using frames, but it doesn't matter what size I use, the outcome of the final multi-frame image when applied to a prim face and the accompanying script applied, the animation is so blurred and out of focus, I tried various image scaling for each frame from 128x128 to 512x512 with a DPI between 72 and 1200, and I still can't get a crisp, clean, focused animtation.

Link to comment
Share on other sites

There could be a number of things going on.  First, have you looked at the texture on a prim face without animating it?  The largest texture dimension you can use in SL is 1204 pixels, so if you have more than 8 frames in a row, each one will be at most 128 pixels wide.  That's not enough pixels for a real high definition image in each frame.  (BTW, the PPI is totally irrelevant here.  After all, a pixel is a pixel.  The effective PPI is a function of how wide the object you have it on is, how much a person has zoomed in on it, and what the person's screen resolution is.  And it's PPI, not DPI.  DPI is for print media.) 

Then, have you been careful not to stretch it on the prim face you're viewing?  If your frame is 128 x 256 pixels, and you are stretching it to fit on a 256 x 256 prim, it will have false magnification in the direction that you stretched it, so it will be lower resolution than you intend.

Next, have you given the image enough time to rez?  All frames will rez at once, of course, since they are all in the same texture.  Remember, though, that the larger a texture is, the more time it takes to download to a viewer's GPU and get rendered.  When an image is first made available for view, it is always blurry. A 1024 x 1024 texture can take an age.  The way to beat that is to preload it so that each person "sees" the image before it's displayed.  Hide it on a black prim face somewhere nearby but in the viewer's line of sight. 

Link to comment
Share on other sites

The framed animation I'm attempting to create is similar to a pulsing light, starting luminosity at 5, ending at 20, then reducing back to 5,,, thus using 7 layers, each layer = 256x256, and when blended to an animation using 1 intermediate frame, results in 12 frames (4x3), the converted 4x3 tga image (size = 1024x768) shows crisp and clear as a static image on a prim, but add the script:-

default{ state_entry(){ llSetTextureAnim(ANIM_ON | LOOP, 1, 4,3,0,0,8); } }

the animation goes blurry and out of focus, close up or at a distance.

What I want to do is to have a framed animation to look clear and focused, regardless if looking at the prim from 5m or 50m, oh, and I forgot to mention, the animation is to be on a prim of any size up to 10x0.001x10

Link to comment
Share on other sites

Well, one big problem is that your image in SL is not 1024 x 768 pixels.  That may be what you created in GIMP, but when it's uploaded to SL, that will have been squished to 1204x512 pixels.  All images in SL have dimensions in powers of 2 (32, 64, 128, 256, 512, or 1024 pixels.  If you upload an image with non-standard dimensions, it is resized to the next lowest power of two.  Your 4 x 3 frames are actually 4 x 2. When you stretch the frames to be on a prim face that's 4x3, you are introducing a false magnification, so they look blurry.  It's probably less apparent when you view the entire texture as one, especially if you haven't stretched it yet.

Link to comment
Share on other sites


Scooter Hollow wrote:

A single 256 frame blown up to the size of most of a person's screen is going to look blurry, there's nothing you can do about that. If you're doing a 10mx10m screen maybe you could use llSetTexture with full 1024 images, if you can deal with having the sleep and load time.

That's probably the best alternative in this case, but I'd recommend using llSetLinkPrimitiveParamsFast, which doesn't have the 0.2 second rez delay of llSetTexture.  Also, I'd preload each texture on a hidden face first, so that they rez instantly (assuming that each person's GPU can download and render them fast enough even then).  I still balk at the thought of anyone putting that many 1024x1024 textures on a sim, although I know that some people do it regularly.

 

Link to comment
Share on other sites


Marlon Wulluf wrote:

The framed animation I'm attempting to create is similar to a pulsing light, starting luminosity at 5, ending at 20, then reducing back to 5,,,

 

In which case you can reduce the number of frames required by 50% if you enable PING_PONG mode in the llSetTextureAnim command, which would allow you to utilize twice the pixels per frame.

Another alternative would be to use SCALE mode to enlarge/reduce the texture in order to create a pulsing effect. 

Link to comment
Share on other sites

Using 12 1024x1024 textures is extravagant. If there aren't shape changes too, why not use a single image and then change the effective luminosity by changing the color from the script? With suitable complemetarity between foreground and background, the colors applied could filter the foreground without affecting the background.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 4267 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...