Jump to content

PRIM_LINK_TARGET and Prim Animation Compiler Question


Vette Jewell
 Share

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

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

Recommended Posts

Hello,

 

I'm playing around with the Prim Animation Compiler by Ferd Frederix.  It's working great, but I was trying to make it a little smoother by changing most of the llSetLinkPrimitiveParamsFast calls to PRIM_LINK_TARGET. 

 

In small amounts this makes the movement almost seemless, but I get a Script run-time error Stack-Heap Collision if I use it more then a few times.

So I's like to make this:

llSetLinkPrimitiveParamsFast(6, [PRIM_POSITION, <-0.48209, -0.00700, 1.37170>*scaleby, PRIM_ROTATION,calcChildRot(<0.01233, -0.13494, 0.70700, 0.69411>), PRIM_SIZE, <0.09000, 0.06478, 0.17000>*scaleby]);
     llSetLinkPrimitiveParamsFast(7, [PRIM_POSITION, <-0.58054, -0.00820, 1.37158>*scaleby, PRIM_ROTATION,calcChildRot(<0.16978, 0.12772, 0.68768, 0.69423>), PRIM_SIZE, <0.08986, 0.06478, 0.17000>*scaleby]);
     llSetLinkPrimitiveParamsFast(8, [PRIM_POSITION, <-0.53415, -0.18011, 1.31738>*scaleby, PRIM_ROTATION,calcChildRot(<0.00000, 0.91443, -0.40474, 0.00000>), PRIM_SIZE, <0.22784, 0.01675, 0.29205>*scaleby]);
     llSetLinkPrimitiveParamsFast(9, [PRIM_POSITION, <-0.53415, 0.21358, 1.68872>*scaleby, PRIM_ROTATION,calcChildRot(<0.59637, -0.37993, -0.59637, 0.37993>), PRIM_SIZE, <0.11113, 0.09046, 0.07036>*scaleby]);
     llSetLinkPrimitiveParamsFast(10, [PRIM_POSITION, <-0.60730, -0.00365, 1.53064>*scaleby, PRIM_ROTATION,calcChildRot(<0.49664, -0.51115, -0.45928, 0.53023>), PRIM_SIZE, <0.36242, 0.29429, 0.12006>*scaleby]);
     llSetLinkPrimitiveParamsFast(11, [PRIM_POSITION, <-0.45094, -0.00365, 1.53064>*scaleby, PRIM_ROTATION,calcChildRot(<0.47836, -0.56790, -0.47227, 0.47499>), PRIM_SIZE, <0.36242, 0.29429, 0.12006>*scaleby]);
     llSetLinkPrimitiveParamsFast(12, [PRIM_POSITION, <-0.53415, -0.02319, 1.52002>*scaleby, PRIM_ROTATION,calcChildRot(<0.50000, -0.50000, -0.50000, 0.50000>), PRIM_SIZE, <0.55842, 0.55842, 0.19601>*scaleby]);

 Look like this:

llSetLinkPrimitiveParamsFast(6, [PRIM_POSITION, <-0.48209, -0.00700, 1.37170>*scaleby, PRIM_ROTATION,calcChildRot(<-0.10454, -0.24768, 0.69934, 0.66230>), PRIM_SIZE, <0.09000, 0.06478, 0.17000>*scaleby, 
     PRIM_LINK_TARGET,7, PRIM_POSITION, <-0.59383, -0.00820, 1.37158>*scaleby, PRIM_ROTATION,calcChildRot(<0.01071, -0.03173, 0.70826, 0.70516>), PRIM_SIZE, <0.08986, 0.06478, 0.17000>*scaleby, 
     PRIM_LINK_TARGET,8, PRIM_POSITION, <-0.56248, -0.18011, 1.31738>*scaleby, PRIM_ROTATION,calcChildRot(<0.00000, 0.91443, -0.40474, 0.00000>), PRIM_SIZE, <0.22784, 0.01675, 0.29205>*scaleby, 
     PRIM_LINK_TARGET,9, PRIM_POSITION, <-0.56248, 0.21358, 1.68872>*scaleby, PRIM_ROTATION,calcChildRot(<0.59637, -0.37993, -0.59637, 0.37993>), PRIM_SIZE, <0.11113, 0.09046, 0.07036>*scaleby, 
     PRIM_LINK_TARGET,10, PRIM_POSITION, <-0.63564, -0.00365, 1.53064>*scaleby, PRIM_ROTATION,calcChildRot(<0.49664, -0.51115, -0.45928, 0.53023>), PRIM_SIZE, <0.36242, 0.29429, 0.12006>*scaleby, 
     PRIM_LINK_TARGET,11, PRIM_POSITION, <-0.47928, -0.00365, 1.53064>*scaleby, PRIM_ROTATION,calcChildRot(<0.47836, -0.56790, -0.47227, 0.47499>), PRIM_SIZE, <0.36242, 0.29429, 0.12006>*scaleby, 
     PRIM_LINK_TARGET,12, PRIM_POSITION, <-0.56248, -0.02319, 1.52002>*scaleby, PRIM_ROTATION,calcChildRot(<0.50000, -0.50000, -0.50000, 0.50000>), PRIM_SIZE, <0.55842, 0.55842, 0.19601>*scaleby]);

 and do that with about 15 sets of movements.


is it just using to much memery?  or is there anouther way to make it work?

 

Thanks for any tips you might have and if you haven't tried this animator I highly recommend playing with it.

Link to comment
Share on other sites

The difference between the two is the first example is a series of llSetPrimitiveParamsFast statements.  Each is executed independently.  In the second example, you're stuffing all of those settings into one long list, which is using a large chunk of memory just to execute that one llSetPrimitiveParamsFast statement.  It looks to me like your script doesn't have enough memory left to execute such a long list of parameters.  The only solution is to break them up into smaller statements, maybe two, three, or four statements, if you want to do them in the same script.

Link to comment
Share on other sites

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