Morph Targets
Let customers resize a 3D product smoothly with a slider. Learn how to prepare Blender shape keys, set up slider widgets and connect them to morph targets.
Morph targets allow customers to change the shape or dimensions of a 3D product using a Slider widget. They can be used for adjustable properties such as width, length, depth and height. For example, a single Width slider can extend a tabletop while simultaneously moving its legs and adjusting its shadow. The slider's minimum and maximum values represent the two shapes prepared in the 3D model. Mimeeq automatically calculates the intermediate states.
Before you begin
The GLB must contain correctly prepared morph targets. Morph targets are called Shape Keys in Blender. They work by changing the positions of existing vertices between two states:
Shape Key value
0: represents the base state.Shape Key value
1: represents the final state.
Mimeeq maps the Slider widget's minimum and maximum values to this 0–1 range. For example:
0
1200 mm
Minimum table width
1
2400 mm
Maximum table width
The states between these values are calculated automatically.

Prepare morph targets in Blender
Add shape keys
For each mesh that needs to respond to the slider:
Select the mesh.
Open Object Data Properties.
Find the Shape Keys section.
Click Add to create the
Basisshape key.Click Add again to create the shape key for the required change.
Rename the new shape key, for example
Width,LengthorDepth.
The name can be chosen freely. However, every mesh controlled by the same slider must use exactly the same shape key name. For example, if the tabletop, legs and shadow are controlled by the Width slider, all relevant meshes should contain a shape key named Width. The order of the shape keys does not matter.
Create the target state
After adding the shape key:
Select the new shape key – not
Basis.Make sure its value is set to
0.Enter Edit Mode.
Select the vertices that need to change.
Move them into the final position.
Return to Object Mode.
The edited position is saved automatically as the shape key's value of 1. You can use the shape key value field to preview the complete transformation from 0 to 1.
Move complete components
Morph targets can also reposition complete components. For example, when making a table wider, the legs may need to move outward without changing their shape. To do this, include all the leg's vertices in the shape key and move them to their final position.
Do not use a separate standard animation for components that need to follow the same Slider widget. Prepare their movement as part of the corresponding morph target.
Prepare shadows
If the product includes baked shadow geometry, it should also respond to the relevant slider. Prepare the shadow mesh so it follows the product's changing dimensions and the positions of components such as legs.
Pay particular attention to the shadow's topology. Additional vertices or edge loops may be required to preserve the intended shadow shape while the model changes.

Export the model
Once all morph targets are ready:
Test each shape key in Blender.
Confirm that the complete model transforms correctly.
Export the model to GLB using the standard export process.
Add the GLB to the product in Mimeeq.
Reload the meshes.
Mimeeq automatically detects the morph targets included in the file.
Create a slider widget in the Mimeeq app
Create the widget
Once the GLB has been added:
Open the configurator you want to edit.
Go to the Options tab.
Click New to create a widget.
Enter the widget name, for example
Width.Set Mode to Slider.
Add at least one value range.
Configure the slider settings.
Save the widget.

Configure a range
A slider must contain at least one range. For example:
Minimum:
1200Maximum:
2400Step:
100Unit:
mm
This creates the following available values: 1200, 1300, 1400, 1500 … 2400. The minimum value maps to morph target value 0, and the maximum value maps to morph target value 1.
Use multiple ranges
You can add multiple ranges with different step sizes. For example:
1
42 in
48 in
2
2
48 in
60 in
4
Ranges do not need to be continuous. If a value is not available between two ranges, the slider moves to the nearest valid step.

Slider settings
The following settings determine the slider's available values and appearance:
3
Show min/max indicators
Displays the first and last available slider values.

4
Show step indicators
Displays markers at every step or at selected intervals. They can be displayed at every step, every two steps, every three steps, at another selected interval, or not at all. Avoid showing every indicator when the slider contains many values, as the interface can become crowded.

5
Use team color
Applies the configured customer colour to selected slider elements.

6
Show input field
Adds a field where the customer can enter a value manually.

7
Default value
Sets the value selected when the configurator first loads.

8
Unit
Displays a measurement unit such as mm, cm or in.

10
Minimum value
Defines the first available value in a range.

11
Maximum value
Defines the last available value in a range.

12
Step
Defines the difference between consecutive values.
13
Update in Real Time
Controls whether changes are applied while the slider is moving or after it is released.
Update the model in real time
The Update in Real Time setting controls when the slider value is applied:
1
Disabled
After the customer releases the slider
2
Enabled
Continuously while the customer moves the slider
Every value passed while dragging the slider can trigger rules, calculations, pricing and scene updates. The more work required at each step, the greater the chance of lag.
Real-time updates work best when:
The slider directly controls a morph target.
The product has a relatively small number of options.
Only a limited number of rules run after each change.
Few meshes or materials need to update.
The slider uses a reasonable number of values. For example, a slider from 1200 to 2400 in steps of 100 or 200 is a suitable use case.
Leave real-time updates disabled when:
The slider contains thousands of small steps.
Each value triggers some rules (whole block trigger).
Complex price calculations run after every change.
Many meshes or materials change.
Meshes are reloaded when the value changes.
The entire scene is refreshed.
For example, a slider from 1 to 10,000 in steps of 1 should not normally use real-time updates.
Widget codes
The standard code, visibility code and price code fields are assigned to the widget as a whole. They do not change according to the slider's selected value.
Load morph targets in the Mimeeq app
Once the morph targets are prepared and tested in Blender:
Export the model as a GLB using the standard export settings.
Open the relevant configurator in Mimeeq.
Go to the 3D/AR tab.
Upload or select the GLB in the appropriate 3D model field.
Save the changes.
Use Reload Meshes to load the model's mesh information.
Confirm that the morph targets from the GLB appear in the Morph Targets section.
Mimeeq reads the morph target names directly from the uploaded GLB. These names will later be available when creating the Assign Slider to Morph Target rule. If multiple meshes contain a morph target with the same name – for example, Width – they can be connected to the same Slider widget.

Assign a slider to a morph target
Creating the Slider widget does not automatically connect it to the 3D model. You must create a rule using the Assign Slider to Morph Target action. To connect the slider:
Open the product's Rules section.
Create a new rule.
Add the Assign Slider to Morph Target action.
Select the Slider widget.
Select the meshes that should respond to the slider.
Select the required morph target name.
Save the rule.
Only meshes containing morph targets are available for selection. After selecting the meshes, Mimeeq displays the morph target names found on them. The number beside a target name indicates how many selected meshes contain that target. For example, Width (3) means that three of the selected meshes contain a morph target named Width.
Repeat this process for each independently controlled property. For example:
Width slider →
Widthmorph targetLength slider →
Lengthmorph targetDepth slider →
Depthmorph target

Rules with the slider
Slider values as a trigger
For example, you cannot create rules such as:
If Length is 140–160 cm, restrict Width to 80–100 cm.
If Length is 160–180 cm, restrict Width to 90–100 cm.
If Length is 200 cm, restrict Width to 90–120 cm.
The same limitation prevents using a slider value directly to validate a combination and display an error when the selected dimensions are incompatible.
Override UVs
Changing a mesh's shape stretches its existing UV mapping. If the material does not maintain the correct scale or orientation across the slider range, add an Override UV Settings action.
To apply the override:
Open the product's Rules section.
Add the Override UV Settings action.
Select the affected mesh or meshes.
Choose a projection type.
Adjust the projection settings.

Projection types
Two projection types are available:
1
Planar
Primarily flat surfaces, such as tabletops or panels.
2
Box
Objects requiring texture projection across multiple sides.
Projection axis
Defines the axis from which the texture is projected onto the mesh: X, Y or Z. Select the axis facing the surface you want to texture.
Horizontal tiling
Controls how many times the texture repeats horizontally. Higher values create more repetitions and make the texture pattern appear smaller. A tiling value of 1 fits the complete texture once across the projected surface.
Vertical tiling
Controls how many times the texture repeats vertically. Higher values create more repetitions and make the texture pattern appear smaller. A tiling value of 1 fits the complete texture once across the projected surface.
Origin
Defines the starting position of the planar projection in 3D space using X, Y and Z coordinates.
Rotation
Rotates the projected texture on the selected projection plane.
Horizontal offset
Moves the texture horizontally across the projected surface without changing its scale.
Vertical offset
Moves the texture vertically across the projected surface without changing its scale.
For a tabletop viewed from above, the relevant projection axis will normally be selected according to the model's orientation.
Tiling
Controls how many times the texture repeats across the projected surfaces. Higher values create more repetitions and make the texture pattern appear smaller.
Origin
Defines the starting position of the box projection in 3D space using X, Y and Z coordinates.
Global rotation
Rotates the complete box projection around the model.
Offset
Moves the projected texture across the model without changing its scale.
Face rotation
Rotates the texture on an individual face of the box projection.
Horizontal and vertical face flipping
Mirrors the texture horizontally or vertically on selected faces.
UV direction swapping
Swaps the horizontal and vertical texture directions on a selected face.
Edge blending
Controls how the projections from adjacent faces transition at the edges. Use it to reduce visible seams, particularly on rounded or angled surfaces.
Ambient occlusion limitation
Related articles
Last updated
Was this helpful?