Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

setting taper precisely

Anya Ristow
Vengeance Studio
Join date: 21 Sep 2006
Posts: 1,243
10-12-2007 13:37
I thought I could set taper precisely using a script, just like I can set size and position precisely. The precise value I set for taper does get stored, as evidenced by probing with llGetPrimitiveParams. However, the in-world display of the object is indistinguishable from the rounded version. That is, if I make a copy of a .266 tapered prim and change the second to .274, they look identical, even when overlapped and sized to 10m. They are identical, right down to the flashing overlapped textures, even at 10m size.

Is it not possible to set taper precisely?
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
10-12-2007 14:18
IIRC there is a threshold limit for changes in prim settings, not sure if it shows up in edit or not... ~.02 I THINK.. not sure if it's viewer or server dependant

try making a greater change then changing it back... if the warp-pos trick still works you can do it in the same llSetPrimitiveParams call
Anya Ristow
Vengeance Studio
Join date: 21 Sep 2006
Posts: 1,243
10-21-2007 23:07
So, it is not possible to set taper precisely, even by script?

Create a 10x10x10 box. Alt-drag to copy it, dragging along the y-axis, so that the second one overlaps the first by about half. Now drop the following script in one of them.

default
{
state_entry()
{
llSetPrimitiveParams( [PRIM_TYPE, PRIM_TYPE_BOX, 0, <0.0, 1.0, 0.0>, 0.0, <0.0, 0.0, 0.0>, <.266, 1.0, 0.0>, <0.0, 0.0, 0.0>]);
}
}


and the following script in the other

default
{
state_entry()
{
llSetPrimitiveParams( [PRIM_TYPE, PRIM_TYPE_BOX, 0, <0.0, 1.0, 0.0>, 0.0, <0.0, 0.0, 0.0>, <.274, 1.0, 0.0>, <0.0, 0.0, 0.0>]);
}
}

One should be tapered more than the other; surely noticeably on a 10x10x10 box. But they are identical, right down to the flashing texture on the overlap.
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
10-22-2007 03:58
Taper has a precision of .01 and will round to the nearest 100th so 0.266 and 0.274 are both identical @ 0.27
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime.
From: someone
I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
10-22-2007 05:44
And before you ask :)

It will still store the extra precision so that :

CODE

default
{
state_entry()
{
llSetPrimitiveParams( [PRIM_TYPE, PRIM_TYPE_BOX, 0, <0.0, 1.0, 0.0>, 0.0,
<0.0, 0.0, 0.0>, <.266123, 1.0, 0.0>, <0.0, 0.0, 0.0>]);
list params = llGetPrimitiveParams([PRIM_TYPE]);
integer list_length = llGetListLength(params);
integer list_place = 0;
while(list_place < list_length)
{
llOwnerSay(llList2String(params, list_place));
list_place++;
}
}
}


will return:

[5:38] Object: 0
[5:38] Object: 0
[5:38] Object: <0.000000, 1.000000, 0.000000>
[5:38] Object: 0.000000
[5:38] Object: <0.000000, 0.000000, 0.000000>
[5:38] Object: <0.266123, 1.000000, 0.000000>
[5:38] Object: <0.000000, 0.000000, 0.000000>

But unfortunately the engine still rounds to 100th's when applying the taper. Forgot which other variables are not precise in prim settings; Rotation is one & hollow is another.
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime.
From: someone
I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
Kahiro Watanabe
Registered User
Join date: 28 Sep 2007
Posts: 572
10-22-2007 13:45
Check this for more info:

http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryPrimTorture