On Face Prefabs
GLTF
"faces": [
{
"gltf": {
"@mesh": "path/to/gltf/model",
"rotation": "0 0 0",
"scale": "1.0 1.0 1.0",
"translation": "0.0 0.0 0.0",
"animation": {
"name": "Animation 1",
"mode": "loop",
"seek_position": 100
},
"@use_physics": false,
"gravity": "0.0 -1000.0 0.0",
"bones": {
"bone_1": 1.0,
"bone_2": 0.0,
"bone_3": 1.0,
"bone_4": 0.0,
"bone_5": 1.0
},
"colliders": [
{
"center": "0. 0. 0.",
"radius": 100.0
},
{
"center": "10. 110. 420.",
"radius": 650.0
},
{
"center": "14. 300. 156.",
"radius": 10.0
}
],
"constraints": [
{
"from": "bone_1",
"to": "bone_2",
"distance": 10.0
},
{
"from": "bone_2",
"to": "bone_3",
"distance": 50.0
},
{
"from": "bone_3",
"to": "bone_4",
"distance": 30.0
},
{
"from": "bone_4",
"to": "bone_5",
"distance": 60.0
}
],
"damping": 0.99
}
// ...
}
// ...
]
Place a 3D model in the GLTF format on the face.
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Path to a GLTF model. Note the leading | + | + |
| Rotation angles (in degrees) over X, Y, Z axes. Note the default value. |
| |
| Scale along X, Y, Z axes. |
| |
| Translate the model along X, Y, Z axes (in millimetres). |
| |
| Play animation from GLTF file. All keys are optional (in most cases just empty object is enough to play the default animation). Parameters:
|
| |
| Load GLTF with physics simulation. Note the leading |
| |
| Sets gravitation vector along X, Y, Z axes. |
| |
| Sets bones inversed mass. Object, where key is a name of bone and parameter is an inversed mass. |
| |
| Add sphere colliders for physical bones. Array of objects, each object is a separate collider. Parameters:
|
| |
| Add constraint between two bones. Array of objects, each object is a one constraint. Parameters:
|
| |
| Damping parameter for physics simulation, good values usually are in [0.9-1.0] range. |
|
To create a 3D model in GLTF format for use in the effect, it is recommended to use our head geometry as a template.
If the model is created without our head geometry, it the scale must be set to 0.1 and the rotation set to
-90 degrees over the X axis in the prefab.
Video Texture
"faces": [
{
"video_texture": {
"@mesh": "path/to/gltf/model",
"use_separate_alpha": true,
"video": "path/to/video/texture",
"alpha": "path/to/video/texture/alpha",
"rotation": "0 0 0",
"scale": "1.0 1.0 1.0",
"translation": "0.0 0.0 0.0",
}
// ...
}
// ...
]
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Path to a GLTF model. Note the leading | `` | |
| If provided video will be combined (common video on the left and video's alpha on the right) this field must be set to | + | + |
| Path to a video texture file. Note that if use_separate_alpha is set to | + | + |
| Path to a video texture alpha file. Note that if use_separate_alpha is set to | `` | |
| Rotation angles (in degrees) over X, Y, Z axes. Note the default value. |
| |
| Scale along X, Y, Z axes. |
| |
| Translate the model along X, Y, Z axes (in millimetres). |
|
Earrings
"faces": [
{
"earrings": {
"@mesh_left": "path/to/left/gltf/model",
"@mesh_right": "path/to/right/gltf/model",
"@use_physics": true,
"animation": {
"name": "static",
"mode": "fixed"
},
"scale": "1 1 1",
"bones_in_mv_space": false,
"gravity": {
"left": "0.0 -1800.0 0.0",
"right": "0.0 -1800.0 0.0"
},
"damping": {
"left": 0.99,
"right": 0.99
},
"bones": {
"left": {
"Bone_L_1": 0.0,
"Bone_L_2": 1.0,
"Bone_L_3": 1.0,
"Bone_L_4": 1.0,
"Bone_L_5": 1.0
},
"right": {
"Bone_R_1": 0.0,
"Bone_R_2": 1.0,
"Bone_R_3": 1.0,
"Bone_R_4": 1.0,
"Bone_R_5": 1.0
}
}
}
// ...
}
// ...
]
Place two 3D models of earring in GLTF format on the each ear.
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Path to the left earring GLTF model. Note the leading | + | + |
| Path to the right earring GLTF model. Note the leading | + | + |
| Load GLTF models with physics simulation. Note the leading |
| |
| Sets scale along X, Y, Z axes. Note if the same scale is needed for both earrings, this field is just a string. Otherwise, it is an object containing |
| |
| Play animation from GLTF files. All keys are optional (in most cases just empty object is enough to play the default animation). Note if the same animation is needed for both earrings, this field is a object with the corresponding properties. Otherwise, it is an object containing Parameters:
|
| |
| Sets gravitation vector along X, Y, Z axes. Note if the same gravity is needed for both earrings, this field is just a string. Otherwise, it is an object containing |
| |
| It sets the bones' inverse mass. The object, where the key is the bone's name and the parameter is the inverse mass. These can be the same for the left and right earrings, or you can specify different settings for each using the |
| |
| Damping parameter for physics simulation, good values usually are in [0.9-1.0] range. Note if the same damping is needed for both earrings, this field is just a integer. Otherwise, it is an object containing |
|
Each field can be specified separately for each ear, or identically for both ears at once. For example, the scale can be specified the same for both:
"scale": "1 1 1",
Or it can be specified separately for each ear:
"scale": {
"left": "0.5 0.5 0.5",
"right": "1 1 1"
}
Or it can be specified just for the left earring:
"scale": {
"left": "0.5 0.5 0.5"
}
Action Units
"faces": [
{
"action_units": {},
// ...
}
// ...
]
Enable action units from a GLTF model.
Eyes Whitening
Usage
"faces": [
{
"eyes_whitening": {
"strength": 1.0
}
// ...
}
// ...
]
Makes the look more expressive by whitening the eyes.
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Eyes whitening. Float number in the range | + | + |
Preview
Eyes Flare
Usage
"faces": [
{
"eyes_flare": {
"strength": 1.0
}
// ...
}
// ...
]
Apply flare to the eyes.
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Flare brightness. Float number in the range | + | + |
Preview
Teeth Whitening
Usage
"faces": [
{
"teeth_whitening": {
"strength": 1.0
}
// ...
}
// ...
]
Apply whitening to the teeth.
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Teeth whitening. Float number in the range | + | + |
Preview
Softlight
Usage
"faces": [
{
"softlight": {
"strength": 1.0,
"texture": "path/to/file"
}
// ...
}
// ...
]
Apply softlight to the face.
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Softlight strength. Float number in the range | + | + |
| Path to custom softlight texture. | `` |
Preview
Morphing
Morph (i.e. deform) certain parts of the face.
Usage
"faces": [
{
"morphing": {
"eyebrows": {
"spacing": 0.6,
"height": 0.1,
"bend": 1.0
},
"eyes": {
"rounding": 0.6,
"enlargement": 0.3,
"height": 0,
"spacing": 0.3,
"squint": 0.3,
"lower_eyelid_pos": 0,
"lower_eyelid_size": 0,
"down": 0,
"eyelid_upper": 0,
"eyelid_lower": 0
},
"face": {
"narrowing": 0,
"v_shape": 0,
"cheekbones_narrowing": 0,
"cheeks_narrowing": 0,
"jaw_narrowing": 0,
"chin_shortening": 0.3,
"chin_narrowing": 0,
"sunken_cheeks": 0.0,
"cheeks_jaw_narrowing": 0,
"jaw_wide_thin": 0,
"chin": 0,
"forehead": 0.3
},
"nose": {
"width": 0.3,
"length": 0.2,
"tip_width": 0.1,
"down_up": 0.1,
"sellion": 0.2
},
"lips": {
"size": 0.4,
"height": 1.0,
"thickness": 0.1,
"mouth_size": 0.2,
"smile": 0.8,
"shape": 0.4,
"sharp": 0.6
}
}
// ...
}
// ...
]
All settings are optional.
Eyebrows
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Adjusting the space between the eyebrows [-1; 1]. |
| |
| Raising/lowering the eyebrows [-1; 1]. |
| |
| Adjusting the bend of the eyebrows [-1; 1]. |
|
Eyes
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Adjusting the roundness of the eyes [0; 1]. |
| |
| Enlarging the eyes [0; 1]. |
| |
| Raising/lowering the eyes [-1; 1]. |
| |
| Adjusting the space between the eyes [-1; 1]. |
| |
| Making the person squint by adjusting the eyelids [-1; 1]. |
| |
| Raising/lowering the lower eyelid [-1; 1]. |
| |
| Enlarging/shrinking the lower eyelid [-1; 1]. |
| |
| Eyes down [0; 1]. |
| |
| Eyelid upper [0; 1]. |
| |
| Eyelid lower [0; 1]. |
|
Face
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Narrowing the face [0; 1]. |
| |
| Shrinking the chin and narrowing the cheeks [0; 1]. |
| |
| Narrowing the cheekbones [-1; 1]. |
| |
| Narrowing the cheeks [0; 1]. |
| |
| Narrowing the jaw [0; 1]. |
| |
| Decreasing the length of the chin [0; 1]. |
| |
| Narrowing the chin [0; 1]. |
| |
| Sinking the cheeks and emphasizing the cheekbones [0; 1]. |
| |
| Narrowing the cheeks and the jaw [0; 1]. |
| |
| Jaw wide/thin [0; 1]. |
| |
| Face chin [0; 1]. |
| |
| Forehead [0; 1]. |
|
Nose
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Adjusting the nose width [-1; 1]. |
| |
| Adjusting the nose length [-1; 1]. |
| |
| Adjusting the nose tip width [0; 1]. |
| |
| Nose down/up [0; 1]. |
| |
| Nose sellion [0; 1]. |
|
Lips
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Adjusting the width and vertical size of the lips [-1; 1]. |
| |
| Raising/lowering the lips [-1; 1]. |
| |
| Adjusting the thickness of the lips [-1; 1]. |
| |
| Adjusting the size of the mouth [-1; 1]. |
| |
| Making a person smile [0; 1]. |
| |
| Adjusting the shape of the lips [-1; 1]. |
| |
| Lips sharp [0; 1]. |
|
Preview
Eyes
Eyes recoloring.
Usage
"faces": [
{
"eyes": {
"eyes": "0 0.2 0.8 0.64",
"corneosclera": "1 1 1 1",
"pupil": "0 0 0 1"
}
// ...
}
// ...
]
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Eyes (i.e. iris) color. See note about color format above. |
| |
| Corneosclera ("sclera" in everyday language) color. |
| |
| Pupil color. See note about color format above. |
|
Preview
Hair
Hair recoloring. Usually one parameter is used to set the hair color:
"faces": [
{
"hair": {
"color": [
"0.19 0.06 0.25 1.0"
]
}
// ...
}
// ...
]
But hair recoloring supports up to 5 parameters to make vertical colors gradient. Here is the example with 2 color parameters:
"faces": [
{
"hair": {
"color": [
"0.19 0.06 0.25 1.0",
"0.09 0.25 0.38 1.0"
]
}
// ...
}
// ...
]
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Apply solid color if one element supplied or gradient recoloring if array (like |
|
Preview
Hair Strands
Hair strands recoloring. Supports from 1 to 5 colors parameters to recolor different strands.
"faces": [
{
"hair_strands": {
"color": [
"0.80 0.40 0.40 1.0",
"0.83 0.40 0.40 1.0",
"0.85 0.75 0.75 1.0",
"0.87 0.60 0.60 1.0",
"0.99 0.65 0.65 1.0"
]
}
// ...
}
// ...
]
| Parameter | Description | Optional | Default Value |
|---|---|---|---|
| Apply colors to hair strands. Supports up to 5 different colors in array. You can also provide one element. |
|
Preview









