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.
ALLmeans every prim of the object, andROOTits root prim. - Several prims can share an instruction, separated by
,:root,link1,link2;texture;0;… - Faces are numbers separated by
,, orALL_SIDESfor every face.
ALL;texture;ALL_SIDES;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
ALL;texture;1,4,5;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
Default values
- Write
NULLfor any value to use EasyTextures' default. - An instruction with only a prim and what to change resets it:
ALL;texture_normalremoves the normal map of every prim, andALL;glowremoves 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. |
