Making Addon Models
This section of the guide assumes that you have some familiarity with 3D modeling, texturing, and rigging. This is a tutorial for how to set up models to work with Hyperdeep specifically, and not a tutorial on how to make 3D models in general.
Introduction
Addon models are made up of several elements:
- Config - Describes what the model is and how it behaves
- Components, consisting of one or both of the following:
- Mask - Mask used to hide parts of HD-chan's body when this addon model is equipped
- Thumbnail - Thumbnail used Designer menu
Config
The config JSON file determines a few things about how the addon will appear in game.
Click the plus icons in the below example for a description of each field:
{
"display": "Robot arm", // (9)!
"category": "Bionics", // (1)!
"bra": false, // (3)!
"shoe_type": "none", // (4)!
"covers_nipples": [false, false], // (6)!
"covers_fingernails": [false, false], // (7)!
"covers_toenails": [false, false],
"covers_hair_main": false, // (5)!
"covers_hair_bangs": false,
"covers_hair_temples": false,
"translucent": [1], // (8)!
"view_offset": 1.0 // (2)!
}
-
Which category the addon will appear in. If you specify a category that doesn't already exist, the game will create a new one for you. The built-in clothing categories are:
panties
bra
top
bottom
dress
socks
stockings
bodysuit
outerwear
kemomimi
headgear
necklace
wrists
ring
horns
tails
earrings
glasses
shoes
nipple
facialpiercings
bellybutton
-
When the game renders your addon, it will push the geometry towards the camera a little bit according to this value. This helps to alleviate clipping.
If you notice HD-chan’s skin poking through clothing, increase this value (or use a mask). Negative values are supported but seldom useful.
I would always recommend having a value of at least
1.0
except in specific circumstances. This can be tweaked in-game too. -
Whether the addon acts as a bra. Bras change the physics of HD-chan’s breasts.
-
Whether the addon is a pair of shoes, and if so, which type. Shoes change the behaviour of HD-chan’s feet. The shoe type options are:
- none
- flat
- low
- high
These options correspond to the different shoe poses in the mannequin file. The difference between
none
andflat
is thatflat
prevents HD-chan's foot from bending (and so for a flexible, flat shoe, actually choosingnone
might give a better appearance). -
Whether the addon makes the individual elements of HD-chan's hair invisible. Useful for helmets, etc.
-
Whether the addon covers (flattens) HD-chan's nipples. The first and second values correspond to the left and right nipples respectively.
-
Whether the addon covers HD-chan's fingernails/toenails. The first and second values correspond to the left and right hands/feet respectively.
-
Which (if any) of the addon's material slots use translucency. This array can be empty:
[]
, contain a single value:[1]
, or contain multiple values[1, 3, 4]
.This flag allows addons to represent materials like glass or clear plastic, with the
diffuse
map's alpha channel determining how translucent each part of the model is.Note
The translucent addon material is more expensive to render, and so should only be used when necessary.
When translucency is disabled, the
diffuse
map alpha channel creates a pseudo-transparent masking effect that is suitable for making parts of the model completely invisible. -
The name displayed for this addon in game menus.
Mesh
Hyperdeep supports importing skeletal meshes in FBX format. These models must have the same skeleton as HD-chan. For this purpose we provide a "mannequin" file:
Warning
This mannequin file will likely change over time to match the model used in the game. If you are making an addon model for the first time after a new game update, make sure you are using the latest mannequin file!
As well as a skeleton, the mannequin also contains a vertex weighted model of HD-chan to help you with sizing and weight painting.
Tip
The easiest way to get started with weight painting (at least for relatively form-fitting clothing) is to transfer the weights from the mannequin mesh to your addon mesh.
Hyperdeep supports a maximum of 10 material slots per addon.
When exporting your model, include both the skeleton and your addon mesh. Don't bother packing in textures as the game needs to load them separately anyway.
Mesh Textures
HD will search the addons directory for png files matching a certain naming scheme, as follows:
[addon name]_[material slot]_[map].png
The [addon name]
should be the same as your model and config files. The [material slot]
determines which material slot the texture will be applied to. An addon can contain a maximum of ten material slots, numbered from 0 to 9. If you don’t include a number the game will just assume it’s slot 0. Do not pad with zeros.
The [map]
value determines what type of texture it is, and supports the following values (values in parentheses are equivalent):
diffuse
(diff
,albedo
) (1)normal
(norm
) (2)metallic
(metal
)roughness
(rough
)emissive
(emit
)
- The alpha channel of the diffuse map is used for the opacity/translucency of the material
- DirectX channel format
Shaders
The shader for addons is a stylized, vaguely PBR material with a lot of post-processing. Don’t expect the results in-game to look exactly like they do in another rendering engine.
Decal
A 2D decal texture can be included as part of a clothing addon, either instead of, or in addition to a skeletal mesh.
Example
A simple lace garter doesn't really have any depth to it, and so could be represented with just a decal texture applied to HD-chan's thigh.
A pair of silk gloves might use a decal to represent the tight-fitting body of the gloves, in addition to a 3D mesh to add a trim along the edge.
One decal can be loaded per clothing addon. Hyperdeep will search the folder that the addon config is found in for a png
image matching the below schema:
[addon name]_decal_[depth]_[offset x]_[offset y].png
[addon name]_decal_[depth].png
[addon name]_decal.png
For details of how the [depth]
, [offset x]
and [offset y]
values should be set, and how to correctly create decal textures, see the decal addon page.
If these values are not included in the filename, default values will be used.
Info
Unlike dedicated decal addons, clothing decals use only one texture (diffuse) and do not support color/opacity customization in game.
Mask
In addition to the textures applied to the addon itself, an additional mask texture can also be specified. This optional texture determines which (if any) parts of HD-chan's body should be hidden (made invisible) while the addon is enabled. This is useful for creating addons that should hide or replace a part of HD-chan's body, even if the addon geometry doesn't actually cover the part in question, e.g., a helmet covering HD-chan's ears.
Masks use the mannequin model's first UV map, with black representing hidden areas, and white representing unmodified areas. When multiple addons with masks are used, their masks are multiplied.
Mask textures are specified using the following naming scheme:
[addon name]_mask.png
Thumbnail
The game will search for a file called [addon_name].png
and use it as a thumbnail in-game.