Posted on 26th April 2009 No Responses
Client Tweaks: Increased Accuracy.

Okay, I am writing this tutorial before I get on to the various tips and tricks of making nano prim as this fairly simple tweak will open up new levels of precision for your client. I don’t intend to write this as a best way to setup your client for this, more as a guide to help you get started in setting up your client in a way that works for you. Keep in mind that with as with a lot of things in Second Life what you client will show you may not be was the server will allow you to change.

I take no responsibility on your screwing up here, back up your files. Keep in mind though.. any major screw up is just a reinstall away from fixing, and for the potential gains here I would consider that a small price to pay ;)

Step 1 (The file):

First navigate to your Secondlife directory, then navigate to “/skins/default/xui/en-us” or “/skins/silver/xui/en-us” if you are using the silver skin. This directory contains most the information on how your Secondlife interface is displayed to you. (Anyone that has done the Postcards Recipient Guide will recognise this step)

Now find the file called “floater_tools.xml” and open it up in a text editor. This file contains all the details for the edit window. When you right click edit something this is the file that generates everything you see on the following window.

Step 2 (what to edit):

Like I said at the beggining of this guide it is just that. I don’t intend of telling you exactly what to put where.

Interesting tags to look for.. Around line 566 is where things  get interesting. Look for “<!– Object sub-tab –>”. This is where you can edit what Second Life shows you on the Object tab of the Edit Panel.

If you scroll down a little bit you should get to a line that says something like…

<spinner bottom_delta=”-20″ decimal_digits=”3″ follows=”left|top” height=”16″
increment=”0.01″ initial_val=”0″ label=”X” label_width=”10″ left=”10″
max_val=”512″ min_val=”-256″ mouse_opaque=”true” name=”Pos X”
text_enabled_color=”110, 15, 15, 255″ width=”87″ />

Now as you may have guessed from the “name=”Pos X”" in that code snippet. This generates the control for the X position of a prim. The two other values that are of use here are “increment=”0.01″” and “decimal_digits=”3″”.

Increment. Affects how much the value changes when you have the text in the field selected and you press up or down cursor, or when you press the arrow buttons to the left of the text field. I can’t really say what will be most useful to you here. It may be that you find having to press the cursor/button 10 times to move a prim 0.1m annoying and therefore increasing the value to 0.1 would be useful thereby making it so that you only have to press the key once to move that distance. Or it could be (more like me) you find that it’s more useful to be able to press the cursor/button and have the value change by 0.001 and not 0.01 more useful rather than having to delete the last digit in the text field and replace it with something else. This for jeweler is a god send ;)

Decimal Points. Affects how many numbers after the decimal point are displayed in the text input. Obviously if you are looking for precision then this is highly useful.

At this point it is also useful to know a little about how and where Second Life rounds it’s figures.

If in a standard client you rez a prim (in this example my prim is said to be at 126.411, 191.885 and 43.166), make a new script and then on line 4 write “llSay(0, (string)llGetPos());” and save. This will tell you where the object is in local chat (“Object: <126.41070, 191.88520, 43.16560>”).  Note that your edit panel is less accurate than what the LSL script can see. LSL will see 5dp and edit 3dp.

So at this point for scale and position I would recommend going for 5dp for three reasons. It’s all your could conceivably need,  anything more tends to overflow the text entries and SL seemingly doesn’t seem to like anything higher than that.

At this point it is just a matter of reading through.. seeing what you’d like to change, and what sl actually lets you make use of. It is very much a process of trial and error. Some aspects won’t actually let you be more precise.

For example adding precision to shear doesn’t work so well as SL has a habit of rounding it off for you. Just ran a test to see what happens with adding 0.0001 to shear and there is no appararent difference until you get to 0.005 at which point the edit window will show 0.01 and the prim actually changes it’s shape. I did this using a script. The Prim Parameters do show the correct value for the shear, but both the edit window and the prim inworld won’t show any differences until you get to a point where the value is enough to change the second decimal place after rounding.

So quick round up of my reccomended changes:

  • Position: decimal_digits=”5″ and increment=”0.001″ (additionally changing Pos Z’s max_val=”16384″)
  • Size: decimal_digits=”5″ and increment=”0.001″
  • Rotation: decimal_digits=”5″ and increment=”1″
  • Path Cut: decimal_digits=”5″ and increment=”0.0625″
  • Hollow (look for spinner labeled “Scale 1″): decimal_digits=”2″,  increment=”1″ and max_val=”99″
  • Skew: decimal_digits=”3″ and increment=”0.01″
  • Twist: decimal_digits=”2″ and increment=”1″
  • Taper: decimal_digits=”3″ and increment=”0.01″
  • Shear: decimal_digits=”3″ and increment=”0.01″
  • Profile Cut / Dimple (look for spinner labeled “Path Limit”): decimal_digits=”3″ and increment=”0.0625″
  • Taper: decimal_digits=”3″ and increment=”0.01″
  • Radius Offset:  increment=”0.01″
  • Revolutions: decimal_digits=”3″ and increment=”0.01″

Okies, Thats pretty much it for the edit panel…note some of these I have set the increment to “0.0625″ this is the value of a 16th anyone that has done a serious amount of building know the value of memorising the values of the 1/8ths (0, .125, .25.. etc.) as making cuts to these values gives you nice right angles. So now my edit windows Path Cut increments in 1/16ths rather than 1/10ths.

There are a few additionals I would like to add.

  • Texture panel:-
  • Transparency (look for Spinner with name=”ColorTrans”): change increment=”1″ and max_val=”100″ (this last thing will allow you to set totally trans from within the edit panel and not have to rely on scripts.)
  • Repeats (look for Spinners with name=”TexScale): change decimal_digits=”5″ and increment=”0.001″
  • Offset (look for Spinners with name=”TexOffset): change decimal_digits=”5″ and increment=”0.001″

Step 3 (testing):

At this point it’s just a matter of saving off your file and restarting SL to test your changes..