Play HUD

The Play HUD is the primary interface that must be worn to initialize Obsidian and to control it afterwards. It serves as the central command hub for all device functions.

To adjust the HUD size, click the gear icon and look for the Zoom in and Zoom out buttons.

Customization HUD

If your customization HUD feels slow, try enabling "Reduce UI Motion" from the top left menu. You should also lower your draw distance for the duration of customization.

  • The Customization HUD loads MoaP (“Media on a prim”) and communicates with the Device to apply textures from a growing database that aims to visually match the majority of products from famous skin brands. The HUD also provides the most commonly requested tweaking settings:
    • Blinn-Phong:
      • Diffuse map and Tint.
      • Normal map.
      • Specular map and Specular Parameters (specular color, glossiness, environment).
    • PBR:
      • Main material.
      • Modification of Tint, Metallic & Roughness Factors.

    The current version of the engine allows for the implementation of more features in the ‘Customization’ HUD without the need to replace the primitive.

Obsidian does not store any user data externally. Customization HUD stores users’ options in the HUD’s memory in-world, and synchronizes it with the view every time it loads.

Export, Import, Apply Current Style

Customization HUD makes it easy to Export, Import settings and Apply Current Style. This has a variety of applications.

  • If you are replacing the main Obsidian Device (due to redelivery, hotfix, putting on another size) or you simply want to reapply all the settings after a viewer or simulator crash:
    • From the top-left menu choose “Apply Current Style”. Custom Tattoo, FX and Blender1 layers have to be applied again from respective appliers.
  • If you are updating the whole product and that includes the Customization HUD (due to version update or unpacking from scratch):
    • In the old customization HUD, use the menu to Export. Copy the settings and optionally save them, or simply keep the data in the clipboard.
    • In the new customization HUD, use the menu to Import. Paste the settings you prepared. Follow the prompts. The wizard will offer to “Apply Current Style” as the last step.

Beyond the Customization HUD

The open architecture of Obsidian also makes it possible to change almost any visual settings in the Blinn-Phong and PBR worlds with the following exception:

  • alpha, alpha mode and alpha mask cutoff cannot be changed on the Skin layer. However, Tattoo, FX, and Blender1 layers (referred to as TFB layers in the list below) can have their alpha, alpha mode and alpha mask cutoff settings modified.

These include:

  • Blinn-Phong:
    • PRIM_TEXTURE — diffuse map, repeats, offsets, rot.
    • PRIM_COLOR — diffuse color, alpha (on TFB2 only).
    • PRIM_SPECULAR — specular map, repeats, offsets, rot.
    • PRIM_NORMAL — normal map, repeats, offsets, rot.
    • PRIM_GLOW — intensity.
    • PRIM_ALPHA_MODEalpha mode (on TFB2 only), mask cutoff (on TFB2 only).
    • PRIM_FULLBRIGHT — fullbright flag.
    • PRIM_BUMP_SHINY — shiny, bump.
    • PRIM_TEXGEN — mode.
  • PBR:
    • PRIM_RENDER_MATERIAL — material.
    • PRIM_GLTF_BASE_COLOR — base color map, repeats, offsets, rot, tint color, alpha (on TFB2 only), alpha mode (on TFB2 only), alpha mask cutoff (on TFB2 only), double sided.
    • PRIM_GLTF_NORMAL — normal map, repeats, offsets, rot.
    • PRIM_GLTF_METALLIC_ROUGHNESS — metallic/roughness map, repeats, offsets, rot, metallic factor, roughness factor.
    • PRIM_GLTF_EMISSIVE — emissive map, repeats, offsets, rot, tint color.

These primitive params are not implemented:

  • PRIM_POINT_LIGHT — not implemented.
  • PRIM_PROJECTOR — not implemented.

Appliers

Please use updated appliers that contain scripts with versions v110 or higher. The / ready script should be of version 110.1. That guarantees that the appliers properly remove Normal and Specular maps and parameters.

Known issue. PBR Material for Tattoo, FX and Blender 1 layers need Alpha to be modified (the word "Alpha" gets highlighted as brown in Firestorm). This is because the application's diffing process assumes the absence of the data as a signal to skip the change. Starting from v110 the warning appears right in the popup menu as a reminder.

We recommend using Blinn-Phong for the Skin and Tattoo layers to ensure the Tattoo layer appears properly integrated with the skin.

Customization of all implemented parameters is available by means of the aeros / Ck-OBS / DEV / applier / <layerName> objects, included in the box. The mesh permissions are set to COPY|TRANS|MOD and the script permissions are set to COPY|TRANS, making it possible to distribute or sell the appliers right away. The applier script reads data from the mesh faces, encodes them, and passes them to the Device. The applier can only target the Device owned by the same user.

Since the v109 release, there are five types of appliers in the box:

  • aeros / Ck-OBS / DEV / applier / Skin
  • aeros / Ck-OBS / DEV / applier / Tattoo
  • aeros / Ck-OBS / DEV / applier / FX
  • aeros / Ck-OBS / DEV / applier / Blender
    (The Blender1 applier uses only Face 0 and targets a ring around the base close the the body.)
  • aeros / Ck-OBS / DEV / applier / Fluids
    • The Fluids applier uses faces 0 through 5 to target all fluids. The destination particles and mesh fluids are clearly marked on the background of the mesh.
    • In order to mark just one fluid type as part of the final applier, drop the SKIP (special texture) on the rest of the fluid faces before dropping the / ready script into it.
    • The Fluids applier only takes advantage of the Diffuse map, Tint color and Alpha settings under the Blinn-Phong rendering model.

The applier’s mesh faces (except the Fluids applier) have the following roles:

Face NumberPart(s)ForeskinClick Action
Face 0(*)($)Base of the shaft & Balls(Any) (f_mode=<any>)Send face 0 only
Face 1(*)Shaft front & KnobOpen (f_mode=0)Send face 1 only
Face 2(♦)Shaft frontSemi-open (f_mode=0.5)Send face 2 only
Face 3(*)KnobSemi-open (f_mode=0.5)Send face 3 only
Face 4(♦)Shaft frontClosed (f_mode=1)Send face 4 only
Face 5(*)KnobClosed (f_mode=1)Send face 5 only
Face 6(Reserved for thumbnail)Send data from all faces
Face 7(Reserved for applier decoration)☰ Menu (certain clicked area)

(*) Faces 0, 1, 3 and 5 can use identical textures.
They remain separate to allow individual customization if needed.

($) Face 0 is the only face used by the Blender applier as it has a limited surface area.

(♦) Faces 2 and 4 can use identical textures.
They remain separate to allow individual customization if needed.

During development the creator of the applier is able to click faces 0-5 (individual data application) or face 6 to bring up the menu similar to what end users will see.
The ‘Apply’ button will initiate the transfer of all current readings from all the faces.
The ‘Remove’ button sends a request to make this layer invisible, removing it from the Device.

We are developing an updated version of the applier that allows for more granular control of which parameters should be sent.

For quick application of similar settings, instead of Shift-clicking faces 0-5, you can select the whole applier. Any changes made to the rest of the applier mesh will be restored to their default state, leaving only faces 0-5 with the applied settings.

Finalizing Applier

Follow these steps to finalize your applier to make it safe to send as a gift or to sell it:

  • Take a copy of the applier before finalizing it to have it as backup.
  • For the Fluids applier only:
    • Mark just one fluid type as part of the final applier by assigning SKIP (special texture) as the Diffuse texture to the rest of the fluid faces, otherwise applier will affect multiple fluids types (unless that is your intent).
  • Drop the Ck-OBS / DEV / applier / ready script into the applier.
    This automatically:
    • Removes the Ck-OBS / DEV / applier / dev script.
    • Saves all the data off the applier surfaces into LSD3.
    • Removes all the textures or PBR materials off the faces 0-5.
    • Replaces the applier’s background face (7) with a different texture suitable for selling.
  • After what has been done above, all the applier’s faces become static and can be modified for the brand’s look & feel.
  • Make sure to rename the prim

    Never use the word aeros as the first word in the name.

  • Add a thumbnail to face 6, change background face 7 according to your brand style. The whole applier is made clickable to bring up the dialog with ‘Apply’ and ‘Remove’ buttons. The ‘Remove’ button acts in a similar way as the ‘Remove’ button in the Customization HUD.
  • Change permissions of the mesh and scripts.
  • Add notes to your end users that in order to adjust the tint or alpha, they will need to use the Customization HUD although they will not see custom texture there.

Footnotes

  1. Blender layer is a ring around the base that sits above the Skin, Tattoo and FX layers that can be used to create specific blending with the body. 2 3

  2. TFB — abbreviation for Tattoo, FX, and Blender layers just to make the subheading more concise. 2 3 4 5 6

  3. LSD — abbreviation for Linkset Data.