360 Content

From QWiki

To create 360° screenshots or videos of memorable moments suitable for posts on for example Facebook and other venues with 360° support, grab a copy of FTE and follow the steps outlined here.

Common

First some cleanups. HUD, weapon, console messages does not make sense in 360° images and videos.

  • show_fps 0
  • r_drawviewmodel 0
  • viewsize 120
  • con_notifylines 0

Screenshots

There are a few mandatory parameters for Facebook to detect the image as a 360° image:

  • Aspect ration must be 2:1.
  • File format must be JPEG.
  • The "Projection Type" metadata field must be set to "equirectangular".


Configure the screenshot format and up the quality, Facebook will process the images into various resolutions anyways:

  • scr_sshot_type jpg
  • scr_sshot_compression 95


Navigate to a good place, noclip if needed, and bind something to:

  • screenshot_360 filename 8192 4096, as per above, let Facebook create resized smaller versions.


If the image that comes out looks glitched, make sure that r_hdr_framebuffer is not enabled.

This results in an equirectangular screenshot that can be rendered as a 360° sphere. Unfortunately FTE and Facebook are not in agreement as to what metadata should be in the image, so before attaching to a post, update it with for example:

  • exiftool -ProjectionType="equirectangular" test.jpg


Once the image has been attached, the preview should pop straight into 360° mode.

Videos

There is no built-in mode for videos similar to the screenshot_360 command for images. Instead the projection used to draw the game is changed to equirectangular. This means that walking around will be fairly hard to do in a coherent manner so this works best with demos, stationary position, or poor man's camera dolly (moving forward in a straight line with cl_forwardspeed 30 or so).


Optional step if not using OBS Studio or similar

First make sure that fteplug_ffmpeg.dll is available. It can be downloaded via the Updates+Packages in the main menu. If manually built and dynamically linked, the relevant FFMPEG libraries must also be in path (an error message is shown if this is needed). When everything is setup correctly plug_load ffmpeg should load the plugin without warnings, which can be verified via plug_list.

Example use:

  • vid_width 3840 and vid_height 1920, like images, 2:1 aspect ratio is mandatory.
  • ffmpeg_videopreset veryslow
  • ffmpeg_videobitrate 60000000 (60Mbps, let Facebook process for different usecases)
  • ffmpeg_nvidia (if available configures hardware accelerated encoding)

Recording

Navigate to a good place, noclip if needed, set r_projection 5 for equirectangular projection, and if using built-in recording, make use of some keys bound to:

  • capture foo.mp4
  • capturestop


Final touch is to add the appropriate tags to mark the file as a 360° video. Unfortunately, while Exiftool can update metadata in MP4, it fails to do so correctly, and ffmpeg is for the time being also unable to do so. However Google has created a tool called Spatial Media Metadata Injector that writes the appropriate metadata. Once this tool has processed the file, the video is ready for Facebook.

Contrary to uploading still images, there will be no indication at all that the video will be a 360° video when uploading. After submitting the new post it will however enter a processing mode, and once complete, it will show up as a 360° video.