Importing Animation Data from .chan/.mov Files

From Planetside Software Wiki
Revision as of 06:57, 16 May 2012 by Jo (talk | contribs)
Jump to: navigation, search

Terragen 2 can import motion and camera data from .chan and .mov files. .chan files can be exported from Houdini and Nuke and Maya can export .mov files. There are also often plugins or scripts available for other applications which can export .chan files. "chan" will be used to refer to both .chan and .mov files in the rest of this document.

TG2's preferred format for chan files is the 8 channel Nuke .chan format. This is the format that works best with default import settings. For more information about that format please see the Writing chan files section below.

Importing from animation buttons[edit]

Before discussing chan files it's worth mentioning importing animation data from files using parameter animation buttons. Animation buttons have an Import animation file... item in their menu. This can be used to import animation data from simple text files similar to chan files but an important point is that the values read from the file should be in TG2 coordinate space and not Houdini coordinate space as for chan files.

The file format is similar though. From 2 to 4 values are read from each line of the file, depending on the parameter type. The first value should be the frame number. The values should be separated by spaces.

Importing chan files[edit]

There are several ways to import data from chan files.

Object nodes
Some object nodes have an Import chan file button. For example the TGO Reader node has an Import chan file button on its Transform tab. This button loads a chan file and uses the file data to animate the Translate and Rotate parameters. The first value read from each line is the frame number. The next 3 values used to set Translate and the next 3 are used to set Rotate. There must be 7 values per line.

Camera nodes
Camera nodes have the most configurable chan import options. The Import tab allows you to import chan files and you can choose to import position and rotation data as well as camera view data.

The camera node has some rules about how it interprets chan files:


If the file has a .chan extension then

  • the file should have 7, 8 or 10 values per line.
  • if the file has 7 values per line it is assumed to be a chan file without a frame number. In this case the number of the line in the file is used as the frame number. The first 6 values are position and rotation data. The 7th value is vertical field-of-view.

  • if the file has 8 values per line the first value is a frame number. The next 6 values are position and rotation data. The 8th value is vertical field-of-view.

  • if the file has 10 values per line the first value is a frame number. The next 6 values are position and rotation data. Value 8 is focal length, value 9 is aspect ratio and value 10 is horizontal aperture.


If the file has a .mov extension then

  • the file should have 6 or 7 values per line.
  • the number of the line in the file is used as the frame number.

  • the first 6 values are position and rotation data. If there are 7 values the 7th is vertical field-of-view.


The Camera node has several options for importing camera view data. They effect how the view data is interpreted:

  • Import vertical FOV: If this is checked the 7th or 8th value in each line, depending on the the file format, is read as the vertical field-of-view.
  • Import focal length: If this is checked the file must have 10 values per line. Value 8 is read as focal length, value 9 as aspect ratio and value 10 as horizontal aperture.

  • Import focal length to FOV: If this is checked the values are read as per Import focal length but the field-of-view parameters are also animated.

  • Do not import FOV: Field-of-view data isn't read from the file.

For more information about importing chan files using the Camera node please read the Import tab documentation.

Coordinate spaces[edit]

In the case of motion data imported from object Import chan file buttons and the Camera chan import it's assumed the data is in Houdini coordinate space. It gets converted to TG2 coordinate space on import. Here's how the Houdini coordinate space compares to TG2:

  • X (same as TG2)
  • Y (up, same as TG2)
  • Z (out of screen, negative/opposite to TG2)
  • Rotate X (pitch upwards, same as TG2)
  • Rotate Y (anti-clockwise* heading, negative/opposite to TG2)
  • Rotate Z (bank left, negative/opposite to TG2)

* Heading is anti-clockwise when viewed as a heading on a map, but it's actually clockwise when viewed along the the positive Y axis.

Writing chan files[edit]

chan files are are a simple text format. Essentially they consist of multiple numeric values per line, with each value separated by a space. How the values are interpreted on import depends a bit on how the file is imported. chan files are easy to generate if you want to create animation data from a script or spreadsheet or similar.

If you want to generate chan files for use with TG2 the preferred format is the 8 channel Nuke .chan variant. In this format there are 8 values per line, arranged like this:

  1. Frame number
  2. X

  3. Y

  4. Z

  5. Rotate X

  6. Rotate Y

  7. Rotate Z

  8. Vertical field-of-view

Please note that the data is expected to be in the Houdini coordinate system and is converted to the TG2 coordinate system on import. See the Coordinate spaces section above for more information about that.


Back to the Animation Module Reference

A parameter is an individual setting in a node parameter view which controls some aspect of the node.