Players are the areas where you can add a source of external content. As of HeavyM 2.3, players can support these categories of medias: photos, videos, GIFs, Webcam streams, Syphon/Spout streams, NDI streams, Generative Shaders, Text.
You can manage the content of your players from the source bin, on the right of your interface. This is detailed in another article of this guide.
Creating players
Players are predefined quadrilateral shapes. You can add them by drag & dropping the corresponding icon from the toolbar (as you would do for faces), by using the shortcut [Shift + P], or from the right-click menu in the canvas.
To differentiate them from faces in the canvas, they have square vertices instead of round ones.
For photos, videos and GIFs, you can also directly drop your medias in the canvas, it will automatically create a player that contains it. If you drop more than one at a time, it will even create a playlist with all of them directly!
Editing Players
Basic manipulation operations and transformations of shapes, including coordinates, dimensions and rotation, are described in a dedicated article.
Adjusting the perspective
Unlike faces and masks, players always have exactly 4 points, with no handles. However, you can still move these 4 vertices, it doesn't have to stay a rectangle, and it will stretch what is displayed inside in a way that keeps the perspective correct.
When a single corner is selected, as of 2.13 you can input precise pixel values for its X & Y coordinates from the Properties panel (the (0,0) origin point being the top left corner of the canvas.)
Editing warping points
If you need to distort the texture inside your player, you can use the warping module. 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. Imagine stretching a piece of cloth to change its shape—this is akin to warping.
The warping module can be toggled on from the Properties of a player that appear on the panel on the left when it is selected, or simply by double-clicking on the player shape in the Canvas. To turn it off, re-click on the button, re-double-click on the Player, or just use [Escape].
Once it is on, points appear on your player. They allow you to distort only an area of the Player, for instance to compensate for asperities on the projection surface. Each point can be moved with the cursor or the arrow keys (to move precisely pixel by pixel).
You can change the number of points according to the precision needed for the zone you need to distort via the Rows & Columns inputs.
There are 2 modes for points:
- Linear: this is the default mode. As you can see from the grid created by the rows and columns, the lines connecting each point to its neighbors are straight.
-
Bézier (2.13): this mode keeps the same points, but adds two Bézier tangents to each of them so that you can curve the warping. A tangent is made of 1 or 2 control handles: each point has as many as there are points it is linked to (e.g. a corner only has 2 control handles while a point in the middle has 4.)
When a point or one of its handles is selected, you can change the type of both associated tangents with the “Handles” toggle in the Properties. By default handles are Asymmetrical (both handles in a tangent form a straight line but they don't have to be the same length), but this can be switched to Disconnected (both handles are completely independent).
These modes are mutually exclusive. Either all points have handles or all don’t.
Depending on the curvature you’re trying to reach, a few tricks can help you in addition:
-
“Make circle” button (only in Bézier): this option adapts the warping points so that the player content seems fitted on a convex dome. Handy if you’re projecting on a sphere!
Note: in this case the rows & columns are reduced to 1, but you can still change this afterwards or revert back with [CTRL/Cmd + Z] -
New Rows & Columns follow the bend: while it’s usually better to know how many points you need from the get-go, it can be time-saving to start with a low number when adjusting a curve. Indeed, with few points, you can start roughly placing them on the curve and then increase the numbers progressively to gain control points. These new points will follow the curvature you have set as best they can, without having to adjust them independently.
Comparing and combining Perspective and Points warping
Unlike Perspective adjustments, the deformations in the warping module evenly stretch the content inside the Player. Here’s a comparison:
Notice the difference in the width of each tile in particular?
However, even if warping points don’t adjust for perspective when moved, deformations created with the Warping module adapt to Perspective deformations: both transformations can be used in combination.