If a 360 camera isn’t properly level the captured video can be disconcerting to watch, but this can be fixed manually in DaVinci Resolve.
Read Time: 10 Minutes
An unleveled 360 video can be unpleasant to experience, especially as immersive video in a headset. Occasionally a shot won’t be as level as possible and any gyro data either doesn’t help or isn’t found. Fortunately this can be corrected in DaVinci Resolve. The following steps walk through this whole process.
If the tilt and roll of a clip needs adjusting this is done using a PanoMap node in the Fusion page of DaVinci Resolve. One challenge that shouldn’t be overlooked is knowing when the clip is properly level. DaVinci Resolve’s customizable grid generator effect can help editors do this with precision, using the Y-axis lines in particular to ensure vertical elements in the video are truly vertical.
The following steps explain the process of leveling a 2D (monoscopic) 360 video, then the more complex task of leveling a 3D-360 video. The same process can be used with 3D-180 video, although there are more restrictions on what's practical.
Standard 2D 360 video is relatively simple to adjust in any axis. This is done clip by clip in the Fusion page of DaVinci Resolve, using the controls found in a PanoMap node.
1. Add a PanoMap node
First go to the Edit page and make sure the playhead is over the clip that is to be reoriented. Then go to the Fusion page and, in the Nodes pane, right-click the ‘MediaIn1’ node or the connector between the in and out nodes. From the popup contextual menu choose Add Tool > VR > PanoMap.
2. Add a grid
In DaVinci Resolve’s Fusion page the grid is added as a Resolve FX Generate node. Right-click/control-click a connector line in the Node pane and choose Add Tool > Resolve FX Generate > Grid. With this node selected the grid can be customized in the Inspector; make the lines a little thinner so they don’t obscure too much, and adjust the number of row and column cells as required. Avoid the Transform section as some of those controls will change the angle of the grid, making it of no use for this task.
3. Adjust X, Y and Z rotation values
Select the PanoMap node to show the controls in the Inspector. Open the Rotation section and adjust the X and Z axis values as required to level the footage. The Y axis only reorients the video, but it can sometimes help to move the clip so vertical Y axis edges and lines are close to a grid line. Use those lines to make sure upright edges and lines in the video appear as true verticals across the whole 360-degree view. Another trick is zooming in and panning the scene so the left and right edges of the viewer panel itself can act as vertical guides.
4. Remove the grid
If the grid node is left in place the exported video will include those horizontal and vertical lines. Once the video is fully level select the Grid1 node and delete it.
Level a stereoscopic 360 video
An over/under stereoscopic 360 video can’t be leveled in one move as the upper and lower sections of the video need to be reprojected entirely within their own sections. This requires the Splitter and Combiner nodes as well as the PanoMap node, as these steps explain.
1. Add a Splitter node
First go to the Edit page and make sure the playhead is over the clip that is to be reoriented. Then show the Fusion page and, in the Nodes pane, right-click the connector between the in and out nodes. From this popup contextual menu choose Add Tool > Stereo > Splitter.
2. Set the split style
Most stereoscopic 360 video is configured as ‘over/under,’ with the clip being in 1:1 square format from each eye’s equirectangular footage. With the new Splitter node selected, the Inspector will show its controls. Choose ‘Vert' from the three options, and the clip will now show just one eye in its native equirectangular format.
3. Add a PanoMap node
Right-click the connector between the Splitter node and the out node. From the popup contextual menu choose Add Tool > VR > PanoMap. In the Inspector, adjust the PanoMap’s X, Y and Z values in the Rotation section as required. Pay close attention to vertical lines in the footage to make sure they appear as true verticals across the whole 360-degree view. (This can be challenging so the next step adds a grid for reference.) This adjustment will apply to just this part of the ‘split’ video; a second PanoMap node will be added in step 5 to adjust the second part.
4. Add a grid
For fine-tuning the PanoMap a grid can be added as a Resolve FX Generate node in the Fusion page. Right-click/control-click a connector line in the Node pane and choose Add Tool > Resolve FX Generate > Grid. With this node selected the grid can be customized; make the lines a little thinner so they don’t obscure too much, and adjust the number of row and column cells as required. Avoid the Transform section as some of those controls will change the angle of the grid, making it of no use for this task.
5. Add a new instance of the PanoMap node
Rather than simply adding another regular PanoMap node, a new linked instance of the first node should be made. This will link to and replicate the settings of the first and apply this directly to the other half of the ‘split’ video clip. Select the existing PanoMap node and copy it. Next, deselect by clicking in an empty area in the Nodes panel, then paste an instance by typing Command-Shift-V (macOS) or Control-Shift-V (Windows). A thin green line, thinner than the regular connector lines, shows the connected relationship between the two nodes.
6. Link the new PanoMap instance
The Splitter node must be connected to this new PanoMap instance so it is part of the node chain. Drag from the Splitter’s unused output point to the second PanoMap node’s input. With this done, any adjustment made to one of the PanoMap nodes is replicated automatically in the other.
7. Add a Combiner node
The split and leveled parts of the stereoscopic 360 video clip must be combined again or the final output will be from just one eye and no longer stereoscopic. Control-click the connector between the first PanoMap node and the out node, and choose Add Tool > Stereo > Combiner from the popup menu. In the Inspector, make sure the Combiner node is set to the appropriate combine method.
8. Link the PanoMap instance
Drag from the second PanoMap instance’s out point to the Combiner instance. This ensures that the node chain is complete and both of the split and remapped video parts are sent through the Combiner node before proceeding to the final out node. Remember to delete the Grid1 node before rendering the export video or it will be part of the output.
Level a stereoscopic 180 video
Leveling a stereoscopic 180 video (or a 360 video that uses the less common side-by-side configuration) is essentially the same as leveling a 360 video with an over/under configuration, just with the Splitter and Combiner nodes both set to ‘Horiz’ instead of ‘Vert.’ However, be aware that adjusting any of the X, Y or Z values will involve wrap-around changes to the 180 footage, so anything more than minor adjustments (and possibly adding edge masks to hide the wrapped edges) will be problematic.
Over, under or side by side?
While most 3D 360 video content created today will be in the 1:1 ratio over/under or top/bottom format, some older footage may be configured as side-by-side. 3D 180 video is normally in side-by-side format, so use Horiz rather than Vert for splitting and combining. The steps listed here can also be used to convert stereoscopic video between side-by-side and over/under configurations; simply pick the appropriate different combine method in the Splitter and Combiner nodes, with or without any PanoMap nodes in the mix.