|
Woody Blair
Registered User
Join date: 7 Feb 2004
Posts: 18
|
03-11-2007 21:22
I have searched the forums and blogs, and have not seen any mention of a possible problem, but I find that any hinge that is flipped end for end , will not stay at the Rotations that are set, the door its in keeps getting an error in rotation of anywhere from .05 to .25 degrees. If the script is turned off, the doors stay on rotation set just fine. Any information would be appreciated, thanks.
|
|
Ralph Doctorow
Registered User
Join date: 16 Oct 2005
Posts: 560
|
03-11-2007 21:38
What exactly are you doing?
If by hinge you mean a joint, they have been removed from LSL.
I've played a lot with rotations and they seem to work fine.
|
|
Woody Blair
Registered User
Join date: 7 Feb 2004
Posts: 18
|
03-11-2007 22:18
No Ralph, its not a joint, its a hinge. I take two doors, place them side by side as in double door, then make a hinge pin, put it into one door, then copy it and flip it upside down to cause the reverse rotation on it from the other door. Then place my script in each hinge pin and then link each door to the hinge. This procedure has worked for me for over three years, but suddenly lately, one of the doors keeps going out of rotation, just like some large linked sets do when you rotate them, an error (rounding type) sometimes is incurred of .005 to .025. This is now happening to my doors as well, only on the door that i flipped the hinge on, even thought that procedure worked for a long time with no errors at all, same scripts too. I thought that maybe an error had been introduced lately by an update from SL, if not then I am stumped.
|
|
Anti Antonelli
Deranged Toymaker
Join date: 25 Apr 2006
Posts: 1,091
|
03-12-2007 01:32
Not 100% sure I'm following, but what I do to prevent prim drift in doors is each time the user clicks to open them I save the current (correct) closed position as variables with llGetPos and llGetLocalRot, then open them, then after the door closes again apply those values with llSetPos and llSetLocalRot.
|
|
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
03-12-2007 04:14
Yes, it is a very common and heavily-discussed issue. Use "prim drift" as your search terms. Basically, if you keep applying rotations via combining (ie, using llGetLocalRot/llGetRot and combining the value with an arbitrary rotation with the * or / operators), then the prim will not only be off in terms of rotation, but it will also translate (aka "drift"  a tiny bit from its desired position more and more each time. As stated above, the best way to deal with it is to store at least one of its positions in a set of variables, and use them to "restore" the proper position/rotation of the door at least once each open/close cycle.
|