For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

Blender value
Mimeeq slider value
Result

0

1200 mm

Minimum table width

1

2400 mm

Maximum table width

The states between these values are calculated automatically.

Table model shown at its base state, intermediate states and final state

Prepare morph targets in Blender

1

Add shape keys

For each mesh that needs to respond to the slider:

  1. Select the mesh.

  2. Open Object Data Properties.

  3. Find the Shape Keys section.

  4. Click Add to create the Basis shape key.

  5. Click Add again to create the shape key for the required change.

  6. Rename the new shape key, for example Width, Length or Depth.

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.

2

Create the target state

After adding the shape key:

  1. Select the new shape key – not Basis.

  2. Make sure its value is set to 0.

  3. Enter Edit Mode.

  4. Select the vertices that need to change.

  5. Move them into the final position.

  6. 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.

3

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.

4

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.

Shadow mesh following the table legs as the width changes
5

Export the model

Once all morph targets are ready:

  1. Test each shape key in Blender.

  2. Confirm that the complete model transforms correctly.

  3. Export the model to GLB using the standard export process.

  4. Add the GLB to the product in Mimeeq.

  5. 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:

  1. Open the configurator you want to edit.

  2. Go to the Options tab.

  3. Click New to create a widget.

  4. Enter the widget name, for example Width.

  5. Set Mode to Slider.

  6. Add at least one value range.

  7. Configure the slider settings.

  8. Save the widget.

Slider widget settings in the Options tab

Configure a range

A slider must contain at least one range. For example:

  • Minimum: 1200

  • Maximum: 2400

  • Step: 100

  • Unit: 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:

#
Minimum
Maximum
Step

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 widget with two value ranges configured

Slider settings

The following settings determine the slider's available values and appearance:

No.
Configuration option
Description
Gallery

3

Show min/max indicators

Displays the first and last available slider values.

Slider showing min and max indicators

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.

Slider showing step indicators

5

Use team color

Applies the configured customer colour to selected slider elements.

Slider using the team colour

6

Show input field

Adds a field where the customer can enter a value manually.

Slider with a manual input field

7

Default value

Sets the value selected when the configurator first loads.

Slider default value setting

8

Unit

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

Slider displaying a measurement unit

10

Minimum value

Defines the first available value in a range.

Range minimum value field

11

Maximum value

Defines the last available value in a range.

Range maximum value field

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:

#
Setting
When the product updates

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.

If the price must depend on the selected measurement, calculate it using the appropriate variables and pricing formulas.


Load morph targets in the Mimeeq app

Once the morph targets are prepared and tested in Blender:

  1. Export the model as a GLB using the standard export settings.

  2. Open the relevant configurator in Mimeeq.

  3. Go to the 3D/AR tab.

  4. Upload or select the GLB in the appropriate 3D model field.

  5. Save the changes.

  6. Use Reload Meshes to load the model's mesh information.

  7. 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.

Morph Targets section listing the targets found on the loaded meshes

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:

  1. Open the product's Rules section.

  2. Create a new rule.

  3. Add the Assign Slider to Morph Target action.

  4. Select the Slider widget.

  5. Select the meshes that should respond to the slider.

  6. Select the required morph target name.

  7. 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 → Width morph target

  • Length slider → Length morph target

  • Depth slider → Depth morph target

Assign Slider to Morph Target rule with meshes and target selected

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.

Widget parameters can also be overridden through the Override widget settings rule. For example, selecting a particular product variant could change the maximum permitted length.


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:

  1. Open the product's Rules section.

  2. Add the Override UV Settings action.

  3. Select the affected mesh or meshes.

  4. Choose a projection type.

  5. Adjust the projection settings.

Object without UV projection (left) and with UV projection (right)

Projection types

Two projection types are available:

#
Projection type
Recommended use

1

Planar

Primarily flat surfaces, such as tabletops or panels.

2

Box

Objects requiring texture projection across multiple sides.

Setting
Description

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.

Setting
Description

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


Last updated

Was this helpful?