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.
- Blinn-Phong:
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
TFBlayers 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 (onTFB2 only).PRIM_SPECULAR— specular map, repeats, offsets, rot.PRIM_NORMAL— normal map, repeats, offsets, rot.PRIM_GLOW— intensity.PRIM_ALPHA_MODE— alpha mode (onTFB2 only), mask cutoff (onTFB2 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 (onTFB2 only), alpha mode (onTFB2 only), alpha mask cutoff (onTFB2 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
v110or higher. The/ readyscript should be of version110.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
Alphato 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 fromv110the 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 / Skinaeros / Ck-OBS / DEV / applier / Tattooaeros / Ck-OBS / DEV / applier / FXaeros / Ck-OBS / DEV / applier / Blender
(The Blender1 applier uses onlyFace 0and targets a ring around the base close the the body.)aeros / Ck-OBS / DEV / applier / Fluids
- The Fluids applier uses faces
0through5to 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/ readyscript 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 Number | Part(s) | Foreskin | Click Action |
|---|---|---|---|
Face 0(*)($) | Base of the shaft & Balls | (Any) (f_mode=<any>) | Send face 0 only |
Face 1(*) | Shaft front & Knob | Open (f_mode=0) | Send face 1 only |
Face 2(♦) | Shaft front | Semi-open (f_mode=0.5) | Send face 2 only |
Face 3(*) | Knob | Semi-open (f_mode=0.5) | Send face 3 only |
Face 4(♦) | Shaft front | Closed (f_mode=1) | Send face 4 only |
Face 5(*) | Knob | Closed (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,3and5can use identical textures.
They remain separate to allow individual customization if needed.
($) Face
0is the only face used by theBlenderapplier as it has a limited surface area.
(♦) Faces
2and4can 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 face6to 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 faces0-5with 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
Fluidsapplier 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).
- Mark just one fluid type as part of the final applier by assigning
- Drop the
Ck-OBS / DEV / applier / readyscript into the applier.
This automatically:- Removes the
Ck-OBS / DEV / applier / devscript. - 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.
- Removes the
- 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
aerosas the first word in the name. - Add a thumbnail to face
6, change background face7according 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
-
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
-
TFB — abbreviation for Tattoo, FX, and Blender layers just to make the subheading more concise. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
LSD — abbreviation for Linkset Data. ↩
Obsidian