Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Stretch texture algoritm

Lennard Lopez
Registered User
Join date: 9 Oct 2007
Posts: 52
09-14-2008 08:03
Hello,

I want change a prim in a script so it looks like e.g. a curtain that is opened/closed. I can change the size of the prim for normal prims, but for mega's you need a different approach, so I use Path Cut. The texture on side 3 is stretched but not on side 1. I need some algoritm that returns the right value for each value of i. Anyone?

<PHP>
float fHOLLOW = 0;
vector vTWIST = <0,0,0>;
vector vTOP_SIZE=<1,1,0>;
vector vTOP_SHEAR =<0,0,0>;
integer iOPEN = TRUE;
float fSTEP=.03;
float i;
float start = .750;
float end = .855;
float algoritm()
{
return i*15;
}
Open()
{
for (i=end;i>start;i=i-fSTEP)
{
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<i,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(algoritm(),1,1);
}
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<start,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(2,1,1);
}
Close()
{
for (i=start;i<end;i=i+fSTEP)
{
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<i,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(algoritm(),1,1);
}
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<end,.875,0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
llScaleTexture(12.5,1,1);
}

default
{
state_entry()
{
llSetPrimitiveParams([PRIM_TYPE,PRIM_TYPE_BOX,PRIM_HOLE_DEFAULT,<0.75,0.875,0.0>,fHOLLOW,vTWIST,vTOP_SIZE,vTOP_SHEAR]);
}
touch_start(integer total_number)
{
if (iOPEN) Close(); else Open();
iOPEN=!iOPEN;
}
}
</PHP>
Very Keynes
LSL is a Virus
Join date: 6 May 2006
Posts: 484
09-14-2008 09:55
Rather than moving, sizing or cutting the prim, how about just switching textures between one with open curtains and one with closed?
Lennard Lopez
Registered User
Join date: 9 Oct 2007
Posts: 52
09-14-2008 22:11
The curtain was an example. When it's a sliding door texturechange is no solution.