Watch out, this tutorial covers features that are only available in Live and Trial versions. Start customers can upgrade now!
Try and test HeavyM for free
Already a customer?
Warping is a technique used to manipulate a texture in order to correct its distortion, whether it is to adjust its shape on a complex surface or for creative purposes. This tutorial aims to help you get started with the player warping module in HeavyM (version 1.9 and above).
HeavyM “Players” let you project all your external content (videos, gif, images, webcam stream, Syphon/Spout stream, shaders, text) on any surface. Now HeavyM allows you to warp players to precisely adapt your external content to the 3D structure you are mapping on.
To help you understand how the warping module works, we will first present a real-life scenario: let us say you want to project the short video below on a dome made with an Olga kit.
This video was created for the 3D object’s front view. So, depending on the conditions of your mapping installation, it probably would not match the real dome made with Olga perfectly. In this case, you need to warp it to fit the surface you project on.
In this tutorial, Let us assume you have already configured the projection of your mapping.
First, we create the faces that correspond to the different sides of our dome. We’ll use these shapes as visual guides to adjust our warping perfectly and additionally, they will allow us to add effects to the video later on.
Get more details on the creation steps in our other tutorials.
Note: if you wish to use just one video, you could also display and warp your video without creating faces if you use the “activate on top” option on your player.
Now, we can add our video and adjust it on the structure.
Use the warping module to match your video perfectly on the real structure
All done! You can now enjoy your perfectly mapped video or add some HeavyM effects to enhance it…
Combine HeavyM effects and external contents
This first part was intended to help you understand the warping module with a real-life scenario. Now, if you want more details on the different parameters, Continue reading!
The warping module in HeavyM
Players in HeavyM are rectangular shapes that allow you to add external content which corresponds to the projection area of the source, with 4 movable vertices. (Check out our dedicated tutorial to learn more about this subject.)
The warping module of a player allows you to advance, providing you with a grid that enables you to distort specific areas of your texture. This module is accessible in your player’s settings, in the corresponding panel:
It contains the following features:
1 – Enter mode / Exit mode
In order to alter this grid, you need to enter the Warping mode by clicking on “Enter mode”. While the mode is on, lines and control points will appear in yellow. You will notice the changes you apply on the grid impact the appearance of the texture directly in the projection. When you are done editing the warping grid, you can exit the mode by clicking the “Exit mode” button or by pressing the Esc key.
Note: you can use the usual selection methods on the control points: selection of multiple points (with ctrl/cmd or a selection box), resizing (with alt),…
2 – Interpolation
You can choose between two types of interpolation: “Linear” and “Bézier”.
In “Linear” mode, lines between control points are straight. With “Bézier”, handles are added to control points and this creates curved lines.
Note: for now, Bézier handles can’t be edited, default tangents are used.
3 & 4 – Subdivisions et precision
You can choose the number of points on the warping grid by increasing the number of columns and lines. The more subdivisions (3) there are, the more precise you’ll be when adjusting the texture on a complex surface. The maximum number is 15 by 15.
For each subdivision, HeavyM calculates a deformation grid relative to its 4 control points and the interpolation type. You can then choose the level of precision (4) of this grid. Basically, the precision is the number of divisions calculated inside each subdivision, in order to adjust the lines between control points more or less precisely. By default, this grid contains 10 lines and 10 columns in each subdivision (max 20 by 20).
WARNING: know that increasing these numbers will imply more calculations and thus use more resources. Depending on your mapping, try to adjust these values so that both the visual results and performances are satisfying. For instance, if you use a great number of subdivisions, try to reduce the precision if it doesn’t impact the quality of the rendering much.
Note: If you tick “Show precision grid in output”, the precision grid will be displayed in your projection window.
5 – Always show the warping grid
This option is ticked by default. It allows you to see the subdivisions on your player shape in the HeavyM interface, even when you’re out of the warping mode. This is only a visual clue: if you untick it, the subdivisions will only appear in the warping mode, but the texture deformation will still be applied.
6 – Show precision grid in output
As stated before in “Precision”, this option allows you to display the precision grid in the projection.
Note: this grid is only displayed if the texture is displayed, i.e. if your video is not visible or the player is paused, this option has no effect.
7 – Grid color
When “Show precision grid in output” is selected, a drop-down menu appears to let you choose the color of this grid. There are 5 colors to choose from so that there can always be a correct contrast with your texture.
8 – Reset warping
This button resets all control points to their default positions on the warping grid. Only the basic deformation relative to the vertices of the player shape remains.
You know everything about warping now, so try it directly in HeavyM!
Try and test HeavyM for free
Already a customer?