Alembic SOP

From TouchDesigner Documentation
Jump to: navigation, search


The Alembic SOP loads and plays back Alembic file geometry sequences.

The supported Alembic primitives are polymesh, curves, and points for geometry. As well, Alembic transformations are supported.

An Alembic archive may contain one or more object paths for one or multiple geometries. It is possible to view these objects all at once or select them separately using the 'Object Path' parameter menu.

Each object in an Alembic file schema may possess standard or custom attributes. The standard attributes are normal (N), velocity (V), and texture coordinates (UV). Multiple custom attributes may live in an Alembic schema with more flexible names and types. The custom attribute types can be any of the following:

  • float arrays
  • integer arrays
  • 2d or 3d vectors of floats
  • matrix with 16 float elements

The conversion between the Alembic geometries scopes to the TouchDesigner attributes types are shown in the table below:

Alembic Scope TouchDesigner Attribute
Varying, Vertex Point
Facevarying Vertex
Uniform, Constant Primitive

The Alembic SOP lets you load geometry to either the CPU or the GPU. While using the GPU is much faster, it has some limitations:

  • In GPU direct mode you can not connect additional SOPs downstream.
  • In GPU direct mode, when there are multiple objects with different sets of attributes, a default value is used for the missing attributes of each objects. For example, if one geometry has normal data and another one doesn’t, the x, y, and z elements of normal vector for the geometry with the missing normal attribute will be set to 0, 0, 1 respectively.


Parameters - Page

Alembic File file - The file path to the Alembic file.

Object Path objectpath - Specify which geometry object to be loaded. Each geometry object can represent a hierarchies of multiple geometries. It is also possible to choose the "All Objects" option from the list of available objects. This option is selected by default.

Time time - Specify which part of the Alembic samples sequence is loaded. The time unit menu converts the current time units to the selected unit. The available options are Frames, Seconds, and Fraction.

Time Unit timeunit -

Transform xform - - Select which transform is applied if the transform data is available from the input Alembic file.

  • None none - No transformation is applied to the geometry(s), they reside at the origin.
  • Static Local Transformation transform - Applies the static local transformation for the selected geometry objects from the Object Path.
  • Static World Transformation transform - Applies the static world transformation of the selected geometry objects from the Object Path up to their parents transformation.
  • Dynamic Transformation transform - In the case that the Alembic file includes dynamic or animated geometries the transformation is applied to the selected geometries. This option performs both local and world transformation (if available) for the given geometry.

Interpolation interp - - Interpolate between the samples/keyframes in the Alembic file. This parameter only works if the selected geometries are defined as dynamic and the transformation information are available from the input Alembic file.

  • None none - No interpolation is performed between each samples.
  • Smooth Interpolation interpT - Smooth interpolation between each two samples is calculated.

Straight to GPU straightgpu - Load the geometry directly to the GPU. This options is much faster than the default loading to CPU, however you can not use the geometry output to other SOPs or access the geometry data in the SOP to CHOP or SOP to DAT. It is recommended that the Alembic file have the normals and UVs baked into the file since you can not add them via SOPs in TouchDesigner.

Compute Normal compnml - Creates normals for the input geometry.

Unload loadfile - Toggling the unload to "on" will unload the file and close it. By setting it to "off", the file will be loaded again. When the file is unloaded it can be overwritten by other applications or deleted.

TouchDesigner Build:

Add • Alembic • Align • Arm • Attribute Create • Attribute • Basis • Blend • Bone Group • Boolean • Box • Bridge • Cache • Cap • Capture Region • Capture • Carve • CHOP to • Circle • Clay • Clip • Convert • Copy • CPlusPlus • Creep • Curveclay • Curvesect • DAT to • Deform • Delete • Divide • Extrude • Experimental:Extrude • Facet • File In • Fillet • Fit • Font • Force • Fractal • Grid • Group • Hole • Import Select • In • Introduction To SOPs id • Inverse Curve • Iso Surface • Join • Joint • Kinect • Lattice • Limit • Line • Line Thick • LOD • LSystem • Magnet • Material • Merge • Metaball • Model • Noise • Null • Object Merge • Oculus Rift • OpenVR • Out • Particle • Point • Polyloft • Polypatch • Polyreduce • Polyspline • Polystitch • Primitive • Profile • Project • Rails • Raster • Ray • Rectangle • Refine • Resample • Revolve • Script • Select • Sequence Blend • Skin • Sort • Sphere • Spring • Experimental:Sprinkle • Sprite • Stitch • Subdivide • Superquad • Surfsect • Sweep • Switch • Text • Texture • Torus • Trace • Trail • Transform • Trim • Tristrip • Tube • Twist • Vertex • Wireframe • ZED

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.

The component types that are used to render 3D scenes: Geometry Component contain the 3D shapes to render, plus Camera, Light, Ambient Light, Null, Bone, Handle and other component types.

The location of an operator within the TouchDesigner environment, for example, /geo1/torus1, a node called torus1 in a component called geo1. The path / is called Root. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.

A parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator.

A sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.

Each SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.

A surface type in SOPs including polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other shapes like sphere, tube, and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.

The Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.