Instructions and texture sets

An instruction is one line of the .config HUD. Its values are separated by ;: the prim, what to change, the faces, then the value. This one applies a texture to faces 1 and 2 of the prim named button:

button;texture;1,2;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d

A texture set is a name, after a -, followed by one or more instructions. A button applies a whole set at once. This set is named redSet:

-redSet
ALL;texture;ALL_SIDES;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
Example Cube;texture;ALL_SIDES;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
button2;texture;2,3,1;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d

Prims and faces

  • A prim is written with its name. ALL means every prim of the object, and ROOT its root prim.
  • Several prims can share an instruction, separated by ,: root,link1,link2;texture;0;…
  • Faces are numbers separated by ,, or ALL_SIDES for every face.
ALL;texture;ALL_SIDES;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
ALL;texture;1,4,5;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d

Default values

  • Write NULL for any value to use EasyTextures' default.
  • An instruction with only a prim and what to change resets it: ALL;texture_normal removes the normal map of every prim, and ALL;glow removes the glow.

What an instruction can change

Instruction What it changes Example
texture Diffuse texture ALL;texture;1,4,5;<uuid>
texture_normal Normal map button2;texture_normal;2,3,1;<uuid>
texture_specular Specular map button2;texture_specular;2,3,1;<uuid>
bump_shiny Bump and shininess button2;bump_shiny;ALL_SIDES;2;5
color Color and opacity ALL;color;1,2,3;<1, 1, 1>;1
fullbright Fullbright ALL;fullbright;1,2,3;1
glow Glow ALL;glow;1;0.2
light Point light lamp;light;1;<1,1,1>;1;5;1
pbr A whole PBR material, by its UUID stool;pbr;3;<uuid>
pbr_basecolor, pbr_normal, pbr_metallic, pbr_emissive One map of a PBR material See PBR materials

Going further

The values after the texture follow the order of the matching PRIM_* parameter on the Second Life wiki: repeats, offsets, rotation, and so on. This instruction keeps the default repeats (NULL) and changes the offsets:

button2;texture_specular;2;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d;NULL;<0.48, 1.56, 0>
The default value of each parameter
list defaultBumpShinyParams       = [PRIM_BUMP_SHINY, ALL_SIDES, PRIM_SHINY_NONE, PRIM_BUMP_NONE];
list defaultTextureParams         = [PRIM_TEXTURE, ALL_SIDES, NULL_KEY, <1, 1, 1>, <0, 0, 0>, 0.0];
list defaultTextureNormalParams   = [PRIM_NORMAL, ALL_SIDES, NULL_KEY, <1, 1, 1>, <0, 0, 0>, 0.0];
list defaultTextureSpecularParams = [PRIM_SPECULAR, ALL_SIDES, NULL_KEY, <1, 1, 1>, <0, 0, 0>, 0.0, <1, 1, 1>, 51, 0];
list defaultPointOfLightParams    = [PRIM_POINT_LIGHT, 0, <1, 1, 1>, 0, 0, 0];
list defaultColorParams           = [PRIM_COLOR, ALL_SIDES, <1, 1, 1>, 1];
list defaultFullBrightParams      = [PRIM_FULLBRIGHT, ALL_SIDES, 0];
list defaultGlowParams            = [PRIM_GLOW, ALL_SIDES, 0];

// PBR
list defaultPBRBaseColor          = [PRIM_GLTF_BASE_COLOR, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0, <1, 1, 1>, 1, 0, 0.5, 0];
list defaultPBRNormal             = [PRIM_GLTF_NORMAL, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0];
list defaultPBRMetallic           = [PRIM_GLTF_METALLIC_ROUGHNESS, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0, 1.0, 1.0];
list defaultPBREmissive           = [PRIM_GLTF_EMISSIVE, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0, <1, 1, 1>];

Options of the .config HUD

Line What it does
@myObject Your object's name, after @. Keep it simple, and write the same in the .config and the .config HUD.
allow_rez Lets customers rez the HUD. Since version 3.1.2, they can't by default.
timeout;abyss;10 Demo mode: after 10 seconds without a click, the HUD applies the abyss set. To apply several sets, separate them with ,: timeout;lighton,abyss;10

Options of the .config

Line What it does
touchtoapply Customers must click their object before the HUD can retexture it. They then have 60 seconds.
ignore_not_existing_prim Hides errors like ERROR: There is no prim named `something` in your object. Useful when one HUD is made for several objects.