Online Doesburg
absurd hero
Join date: 6 Jul 2005
Posts: 53
|
08-24-2005 08:02
I know, I know, yet another llSetPos-on-linked-prims question.
Here the situation: I have a root prim with several child prims, some of which are moving independently from one another. This is accomplished by individual scripts in the moving children. While their movement works like intended, I noticed that every time either of the child prims moves, the root prim changes its appearance slightly. In my case its texture appears to get lighter for a short period of time, before returning to it's normal state. Has anybody else noticed this?
I know that llSetPos causes a 'full update' of the prim, so it's not suprising that it does that on the moving child, but does it also cause a 'full update' of the root (i.e. i didn't notice anything like that on the other linked prims)? If so, is there a workaround other than using an 'invisible' root prim?
Thx!
Edit/Add: In case this matters, when I reposition the prim with llSetPos, I also make a call to llSetRot immediately afterwards (well, after the build-in script delay that is, of course).
|
Christopher Omega
Oxymoron
Join date: 28 Mar 2003
Posts: 1,828
|
08-25-2005 07:25
Is the root prim set to "light" material? llSetPos shouldnt cause a full update (red in debug>show updates), position changes have been optimized so that they only trigger partial updates (blue in debug>Show Updates).
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
08-25-2005 08:22
From: someone In case this matters, when I reposition the prim with llSetPos, I also make a call to llSetRot immediately afterwards (well, after the build-in script delay that is, of course). One way to get around that is to use the set primitive params call to set both position and rotation in a single call. That way you get a single delay instead of two. It makes for much more realistic-looking movement.
|
Online Doesburg
absurd hero
Join date: 6 Jul 2005
Posts: 53
|
08-25-2005 10:52
Christopher: thanks for pointing me towards the Debug options! There only seem to be the expected partial updates. And no, it's not a "light" material.
In a quick attempt I wasn't able to replicate the behavior. However, I was using a different computer with a different graphics card (so, who knows what that means), but it appeared as if another prim of the linked set (not the root) changed appearance this time. I did unlink and re-link the different prims since the original observation, which might explain why a different prim is acting up now (if indeed it is). It looks a little bit like a temporary LOD switch. I'll test some more.
Ziggy: Thanks for pointing me towards llSetPrimitiveParams. Should indeed look better.
|
Online Doesburg
absurd hero
Join date: 6 Jul 2005
Posts: 53
|
08-25-2005 19:57
I managed to take pictures of the changes. I circled two spots in which the changes are most obvious. They were taken from the same camera angle and position (obviously) only a few seconds and one prim update apart. The bottom prim is the root, which now doesn't appear to change. The other two prims are static prims that have no scripts attached to them (the moving prims are slightly above, not visible). As Ziggy suggested, I'm now using llSetPrimitiveParams to change position and rotation.
|