Alembic Support

This page provides information on Alembic Support for V-Ray Proxy Objects.


Overview

V-Ray supports Alembic files directly through the VRayProxy object. A number of UI options are specifically related to Alembic files.


Supported Features


Geometry types

The following geometry types are supported:

  • Polygonal meshes (including subdivision surfaces)

  • Spline curves

  • Particles

All geometry types support motion blur. If the mesh/hair topology or particle count are not changing, then precise motion blur is computed. Otherwise, velocity channel must be provided in the file to describe the motion blur.


Mesh Objects

  • Velocity channel - It is always computed for animations with homogeneous topology. Otherwise, it is read from the standard alembic velocity property in units/second. Alternatively, it is in units/frame in a geometry property specified in "velocity_color_set" GeomMeshFile plugin parameter, or in geometry property named “v”, “velocities”, “velocity”, “Velocity”;

  • Material IDs - P rovided by per face uin32 property named “.materialids” or by alembic face sets. Each face set name which start with a non-negative integer will assign this integer as material id. Face set names which do not start with an integer receive consecutive material ids;

  • Normals - If “compute_normals” is on, then normals are always computed with the given “smooth_angle” parameter. Otherwise they are read from the alembic default property for normals. If they are not written then geometric normals are used;

  • UV channels - All vector2 float/double properties in ArbGeomParams that start with “uv” are sorted and listed as UV sets. The default UV set comes first with name “uv”;

  • Color channels - All vector3, color3 and color4 properties are represented as three component color channels. All other scalar geometry properties are packed into three component colors.


Hair Objects

  • Velocity channel - It is always computed for animations with homogeneous topology. Otherwise, it is read from the standard alembic velocity property in units/second;

  • Hair width - Either written as standard alembic property expressed as diameter or written as radius in “.radius” property;

  • UV channels - All vector2 float/double properties in ArbGeomParams that start with “uv” are sorted and listed as UV sets. The default UV set comes first with name “uv”. UVs can be per vertex of per strand.

Particle Objects

  • Velocity channel - It is always computed for animations with homogeneous topology. Otherwise, it is read from the standard alembic velocity property in units/second;

  • Particle width - It is either written as standard alembic property expressed as diameter or written as radius in “.radius” property.

Creating Alembic Files

Alembic export is supported in 3ds Max (in version 2015 and later) and can be executed using the 3ds Max Export menu.
However, the alembic exporter is better integrated in other platforms like Maya and exported files may differ between platforms.


Converting Alembic Files to .vrmesh Files

While V-Ray can work with Alembic files directly, it is also possible to convert them to .vrmesh files using the ply2vrmesh tool. Vrmesh files are more limited than Alembic files (i.e. they do not store the objects in a hierarchy and do not support sub-frame animation), but they have some performance-related advantages:

  • .vrmesh files are generally faster to work with.

  • ply2vrmesh can preprocess and subdivide geometry, hair and particles from Alembic files into smaller chunks which are more convenient for dynamic loading during rendering. This allows the efficient rendering of many millions of triangles, hair strands and particles.


Notes

  • Alembic instances work with the Random by InstanceID option of the VRayMultiSubTex texture.