©BBB3viz

Table of Contents

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 - Provided by per face uin32 property named “.materialids” or by alembic face sets. Each face set name which ends with a non-negative integer assigns this integer as material id. Otherwise, it receives 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.


UV Channel Priority


Since alembic UV Channel names are customizable (depending on the exporting host platform), VRayProxy offers a way to prioritize the channels by indices. The Reorder channels by indices option uses the following rules to order the alembic UV channels:

  • Top priority: uv – The native alembic UV channel is always on top
  • High priority: Max Map Channel-prefixed channels are prioritized over all other numbered channels, because the prefix is known to represent UV/UVW channels, when exported from 3ds Max
  • Medium priority: uv-prefixed channels are prioritized over other numbered channels, but have lesser priority than Max Map Channel-prefixed
  • Low priority:  any numbered channel with two components, like (u,v) is prioritized over all three-component numbered or non-numbered channels (except those matching the higher priority rules)
  • Lowest priority: any numbered channel with three components, like (u,v,w) gets prioritized over all non-numbered channels
  • All lower priority conflicting numbered channels are placed at the empty channel slots or after all the highly prioritized channels. Their order corresponds to their numbering
  • Non-numbered channels fall out of prioritization and are always placed at the remaining empty channel slots or after all the prioritized channels. They are sorted the same way they are stored in the alembic file



Notes


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


 


Official Alembic file format home page: http://www.alembic.io/