Exciting news! SynthEyes has joined Boris FX and its award-winning VFX product family. Find out what this means for you. |
Exciting news! SynthEyes has joined Boris FX and its award-winning VFX product family. Find out what this means for you. |
That's right, SynthEyes™ can export to Sci-D-Vis's 3D Equalizer™! Why would anyone want to do that? Simple: some large facilities have pipelines built around 3D Equalizer, which has focused on that market, yet those facilities often have overflow tracking work that can be handled by outside tracking artists wielding SynthEyes's deadline-beating high performance tracking. The exporter benefits both facility and outside trackers.
To send a tracked scene, you run the exporter in SynthEyes, which produces a text “.syd” data file, then send that data file to the receiving facility. The exporter has features to adjust filenames between the two locations. The facility runs a python import script we/you supply to read the .syd file and build the scene in 3D Equalizer. They can then run their pipeline automation tools just as if it had been tracked in 3D Equalizer in the first place.
Let us know how this new exporter works for you, along with any questions, suggestions, or problems you may encounter.
Many thanks to Sergey Polishchuk of FuseFX for his assistance in the development of this exporter!
How to Get ItThis exporter is currently available as TDExport.zip in the Customer Only area (or via the Updated Scripts page in there). It contains a python script for 3DE4, and a Sizzle script for SynthEyes.
SynthEyes 2304 or later is required to run it. Be sure your Help/About says “April 18 2023” or later; if not, uninstall(!) SynthEyes and re-download and -install it.
The tdexport.szl
file is intended for installation into SynthEyes, ie copy it into the Script/System script folder. That's the easiest approach, though you'll need appropriate permissions for that.
Then click File/Find New Scripts in SynthEyes.
If you don't have permissions and need to install it in your personal area, copy tdexport.szl
into your Script/User script folder. You'll next need to open the installed version in a text editor, such as Notepad or TextEdit, and update the INCLUDE line (around line 40) to be the entire filename in the Script/System script folder, for example
INCLUDE("C:/Program Files/Andersson Technologies LLC/SynthEyes/scripts/Lens/lensdefs.szl")
Note that on Windows you must switch the backslashes \ to forward slashes / (backslashes are interpreted specially in programming languages.) This edit step is only necessary if you installed the script somewhere other than SynthEyes itself. If you don't do the edit, you'll get a syntax error saying it can't open the INCLUDE file.
Click File/Find New Scripts in SynthEyes to make it visible on the File/Export list.
The ZIP file contains a syntde.py
python script. You need to give it to the receiving facility. They can put it wherever they usually put such scripts in their 3DE4's python install.
When opening a sequence in SynthEyes, don't open it in the middle, only at the beginning.
To accommodate 3DE4 limitations, you can only solve the scene using certain combinations of models and parameters, as follows.
For non-anamorphic lenses, use the “Std. Radial 4th-order” lens model in SynthEyes.
For anamorphic shots, you can use either the “Std. Anamorphic 6th-order” or “Std. Anamorphic, Merged 6th-order” models in SynthEyes. SynthEyes provides more options than 3DE4; as a result you can use only the following combinations of parameters:
This necessitates that anamorphic lens breathing shots with animated VSCL or misaligned lenses be handled only with the 4th order model. These are 3DE4 limitations, not SynthEyes or exporter limitations.
Note that while you can work in any coordinate system in SynthEyes, 3DE4 works in Y-Up-Right coordinates, so if you're talking to someone looking at it in 3DE4, you may need to take that into account. It's probably easiest to set the scene to Y-Up-Right in SynthEyes also.
The 3DE4 exporter is a standard SynthEyes exporter; start File/Export/TDE4 Data File Export.
As the description of the parameters below makes apparent, while you may have been given a proxy movie for use with SynthEyes, 3D Equalizer only works with image sequences. Accordingly, the exporter helps get the right sequence set up in 3D Equalizer. The exporter also helps translate filenames from one environment to another. Since you may not always have the full information when exporting, the same controls exist on the 3DE4 importer.
Re-import when possible: If a mesh was imported into SynthEyes and that filename is available, tell 3DE4 to import that mesh file (subject to the file prefix replacement scheme below), instead of embedding it in this .syd file. If the mesh was edited in SynthEyes, use 'Script/Mesh/Remove import filename' to force it to be embedded.
Use Movie 1st frame#: Determines how the starting frame number of a sequence is determined, when a shot is a (proxy) movie. If ON, use the Movie 1st frame# field (and append it to the filename). If OFF, pulls a number from the end of the movie's filename, ie the proxy movie is named after the first image of the sequence.
Movie 1st frame#: When a shot is a (proxy) movie in SynthEyes, and Use 1st frame# is on, this value will be used as the starting frame # of the actual real sequence. Include the correct number of leading zeroes!
Movies become: When a shot is a proxy movie in SynthEyes, change the filename for the sequence in 3DE4 to this extension, for example .jpg or .exr.
Remove path prefix: To help when files are moved from machine to machine, this Remove path prefix is removed from file names, and the Add path prefix is added. These affect shot file names, mesh object file names, and mesh texture file names. Example: remove “M:\Users\Russ\Shots\”
Add path prefix: To help when files are moved from machine to machine, the Remove path prefix is removed from file names, and this Add path prefix is added. These affect shot file names, mesh object file names, and mesh texture file names. Example: add “/Volumes/Shots/”
Extra Scaling: Extra scaling factor (multiplier) applied to the entire scene, typically to convert from SynthEyes units to a different coordinate system.
Combine to vertices: Controls whether rotation and/or scaling are merged into the vertex coordinates of each exported mesh. Should be left at None in most cases.
Send clipping planes: When on, the SynthEyes near and far clipping plane distances (from Edit/Scene Settings) are exported. These are typically tighter than 3DE4's defaults.
The execution time of the script will depend on whether or not large meshes must be embedded. When large set or lidar meshes have been supplied by the shot's originator, using the “Re-import when possible” option will save time and disk space, instead of sending them back their own file. When the re-import option applies to a mesh, rather than including the mesh data in the .syd file, the .syd file tells 3DE4 to import (read) the original .obj (etc) file on that 3DE4 machine.
The exporter handles many different kinds of data, pretty much all we could find in common between the applications.
On the 3DE4 side, the SynthEyes-supplied importer is quite straight-forward. Once started, it puts up a dialog that lets you select the .syd file to be imported. If you need to (because the person exporting the syd file didn't have the necessary information, forgot, or got it wrong), you can set from- and to- file prefix fields in the importer to adjust the filenames in the syd file. Otherwise, normally, they are left blank. Hit OK and the file will be read and built in 3DE4, ready for the pipeline. That's all there is to it.
Note that if the filenames need more adjustment than the prefix replacement, you can open the .syd file in any capable text editor (eg vim), and adjust them as needed.
SynthEyes easily is the best camera match mover and object tracker out there.
Matthew Merkovich