Filmbox FBX

< Previous | Contents | Manuals Home | Boris FX | Next >

Filmbox FBX

Filmbox (FBX) format is an Autodesk-controlled proprietary format that is available to applications such as SynthEyes under simple free license terms. It is widely supported across the industry, but not necessarily deeply: like COLLADA, different applications will read different amounts of information from the file. While we can write the information into the FBX file, we can't make any other application read the file correctly. (See the end of this section for application-specific filmbox tips.)

In particular, since FBX was originally intended as a means of motion-capture data interchange, many applications do not read animated textures correctly, which are necessary to set up the match-moved shot on the background plate. So you may need to do that manually.

Despite these limitations, FBX files do contain a lot of data, including multiple cameras with zoom; a projection screen that can be distorted by lens distortion; moving objects; the trackers including far and mo-cap style trackers; all regular and far meshes in the scene, including UV map, normals, and texturing; and lights.

While SynthEyes has a Filmbox importer as well, the FBX format is not a substitute for the SNI file: you cannot export a SNI file to an FBX, import the FBX, and expect to see the same thing as the original SNI file. There is no equivalent for much of the data in the SNI file in an FBX, so much data (including all tracking data) will be lost.

Warning : Filmbox has a degeneracy in its rotation angles that will cause motion blur problems when the camera faces exactly to the back. We recommend setting up a proper coordinate system, which will usually avoid exact alignments.

When the SynthEyes scene is exported, the currently active shot is set up as the main shot for downstream software. You can select which other cameras will be exported...

The FBX exporter has a lot of options, which we'll describe here.

Timeline setup. If Active part is selected, the first used frame is placed at the Starting frame#. If Entire shot is selected, the first frame in the shot is placed at the Starting frame#. If Match frames is selected (the default), the shot is exported so that the frame numbers match the image numbers in the shot. Exporting a movie in Match frames mode acts as Entire shot, putting the entire shot at the starting frame number.

Starting frame#. The starting frame number used for the Timeline setup, typically 0 or 1 or 1000. Defaults to the Image Input section’s First frame is 1 setting, ie either 0 or 1.

Export which cameras. This selects which cameras (and associated moving objects, trackers, and far meshes) will be exported: only the currently-active camera (or camera of the currently-active moving object), all cameras with the same frame rate as the active camera's frame rate (typically to drop survey shots), or all cameras.

Output format. Filmbox can output in several different versions, including ASCII or binary, or older versions. The binary version is usual: faster and smaller. The ASCII exports can be examined by hand in a text editor.

FBX Version. Allows you to export files using older versions of the Filmbox format.

IMPORTANT : If your downstream app has problems reading Filmbox files written by SynthEyes, reduce the FBX Version to 2016 or even earlier. Many applications use old versions of FBX, and later changes to FBX files mean that reading new files with old software result in mangled data.

Interpret SynthEyes units as. This option makes a note that the unit-less SynthEyes values should be interpreted as the given unit by the importing application. For example, you can tell the importing application to interpret a 12.5 in SynthEyes as 12.5 inches or 12.5 meters (if the application supports it).

Additional scaling. Multiplies all the SynthEyes coordinates by the given number, typically to impose a units interpretation on an application that ignores the units setting above. Use the SynthEyes coordinate system to set up a proper scene scaling, not this!

Rotation order. Dropdown. Not working as of 3/2023 – the FBX SDK isn’t writing the setting into the actual file! Should allow other rotation orders to be specified for packages requiring a specific order.

Fix Anam. distance. Checkbox. When on and a non-zero anamorphic distance value is present, vertex caches will be produced for all meshes so that they are viewed correctly (compensated for anamorphic distance) from the main camera. This is necessarily a viewpoint-specific correction.

Export Trackers. Keep this checked to export all exportable trackers; turn it off to not export any trackers.

Marker Type. Trackers in SynthEyes will appear in downstream applications as the given kind of object. FBX supports many marker types, but support for them may be limited. The Chisel is a small piece of geometry and should therefore be supported everywhere; it is the default. Null is another good choice, as most packages support Null axes. Note that "None" is different; it is a marker with no specific type, ie it will be determined by the importer.

Relative tracker size. The geometric tracker size will be this fraction of the camera's world size; used to auto-scale trackers to match the rough scene size.

Relative far override. If this value is non-zero, it is multiplied by the world size to determine how far the projection screen is placed from the camera.

Specify view. Says whether the field of view should be specified by a horizontal or vertical value, or a focal length. This is the track that will be animated if there is a zoom. The recommended default is horizontal. We do not recommend focal length because it is dependent on sensor (back plate), which you rarely know.

Tweak Camera Aim. (None/Left/Right/Backwards) Some downstream apps misread FBX files, resulting in the camera being aimed in an incorrect direction. This control allows the exported camera direction to be compensated in FBX files intended for a specific application. Must be set to None for standard applications. Use the Backwards option instead of running the Reverse Camera Direction

script. Use this only as needed; hopefully applications will be corrected over time to eliminate the need for special treatment!

Create screen. If set, a mesh projection screen is created and textured with the animated shot imagery. This screen can be deformed by the lens distortion to remove it. If not set, the shot imagery is supplied to the downstream application as a background texture; it cannot be deformed.

IMPORTANT : Once you have imported the FBX scene, do not modify the projection screen in any fashion to correct any perceived problem. If you do, you will destroy the match! Make any changes in SynthEyes and re-export.

Max/Maya screen bugfix. Max and Maya parent the projection screen to the camera differently than Autodesk’s “golden reference” program FBX Review. Normally you should keep this on, though for other applications you may need to export a file with it turned off.

Based On. Drop-down. Selects whether the distortion applied to the projection screen comes from the image preprocessor or the solver. Normally, you should have run the Lens Workflow script after completing all solving but before exporting to other applications. This will allow you to set up a precise output image. The solver option is useful only if you are using overscan rendering workflows in downstream compositing and 3-D applications.

UV screen mode. Drop-down. Controls when the alternate form of projection screen is use. The normal screen re-positions vertices based on distortion, with a fixed set of texture coordinates. The alternate form uses a fixed set of vertex coordinates, creating a modified set of texture coordinates. The normal version is fine for computed distortions in general. The alternate form is necessary for 1-pass lens workflow setups when the distortion is expressed as a UVMap (STMap), and may also be necessary for some 2-pass setups. The alternate form cannot be used for animated distortions. The settings for this control are Never, If a UVmap is present, and Always. The “If a UVmap is present” setting is the default and is generally a reasonable approach, though you can use the other settings as the specific scene warrants.

Screen's Lens Mode. If set to Remove (Normal), the projection screen will be deformed in order to remove any distortion computed during the solve and present on the main Lens panel ( not the values on the image preprocessor's Lens panel!). This will let you see the match in your 3D package, without it needing to understand SynthEyes lens distortion. Set to Apply, the screen will be distorted in such a way that undistorted imagery becomes distorted. You will need to know what to do with that. Set to None, the projection screen will not be distorted in any way, the lens distortion values will be ignored.

Vertical grids. If a projection screen is created, this is the number of vertical grid lines. The horizontal count is computed based on the shot aspect ratio. While a lower value can be used if the screen is not being deformed, a much higher value may be needed for significant distortion.

Use original numbering. When checked, SynthEyes will export the mesh using the same vertex, normal, and texture indices as when the file was imported, if this

information is available. This helps workflows that rely on these numbers being the same.

No repeating vertices. When checked, SynthEyes reworks the mesh data so that no vertex position occurs more than once in the output. This will prevent susceptible applications (Maya) from incorrectly creating seams at repeated vertices (when UV coordinates or normals are present). However, it results in larger and more complex FBX files compared to the usual approach.

Use quads if possible. When set, the export will contain quads, where possible, as well as triangles. When off, only triangles will be exported, which may be necessary for some downstream packages.

Alpha as Transparency. When set, if a mesh's texture has a nontrivial alpha channel, the alpha will be output in the Transparency Factor channel, which FBX-reading applications may use to configure their alpha/transparency. Either way, any alpha channel in the texture file continues to be available to FBX-reading applications, which may or may not use it.

Deformed mesh format. Select None, 3dsmax (PC2), Maya (MCX), or Bones. If the file contains GeoH tracking that deforms any meshes, this setting will determine whether a Skin deformer (bones) is exported, or alternatively which file format is used for point cache files. The best setting depends on the capabilities of your downstream application. Applications such as Blender may or may not support bones, and may require one or the other format. (PC2 is used for Blender, though you should typically use the Blender exporter instead of Filmbox, since Blender's support of Filmbox is incomplete.)

Texture Lighting. Dropdown. Controls which objects will be lit by scene lights, and which will be unlit (the right choice for objects textured with shot imagery). You should usually use the default choice, allowing each individual mesh to control this directly, as set from the Texture panel. There's also an option to light the projection screen, largely for compatibility with an earlier error.

Embed Media. When set, the shot imagery and still textures will be embedded inside the filmbox file. This prevents them from being misplaced and makes them easier to move around, but makes the file that much larger.

Set far/near clips. When set, the SynthEyes near and far clipping distances are put into the FBX file for consistency. When not set, these values will be left to the discretion of the importing software.

 

©2024 Boris FX, Inc. — UNOFFICIAL — Converted from original PDF.