Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column
width40%

This guide walks you through the process of exporting Alembic files from Houdini. We go over the general workflow for exporting Geometry, Particles and Crowd simulations, taking care to cover some common pitfalls you may stumble upon.

The process of transferring custom attributes and partitioning the alembic archive into custom shapes is explained in-depth.

For readability, this guide is separated into chapters covering the following topics:

Fancy Bullets
typecircle

 


You can download the project's files from here:

UI Button
sizelarge
icondownload
titleDownload Project Files (260MBs)
urlhttps://drive.google.com/uc?export=download&id=1lEenBniHRzq1R0qM-I0TO1vEDU-fNSr2

 

1VdZMtkA33FvjmzoSPNSbhFSte_hCAkxr


Column
width60%

General Information and Considerations

...

Detailed information for supported Alembic features can be found at the Alembic Support page for V-Ray for 3ds Max. 


Custom Attributes
Anchor
1.1
1.1

...

UI Text Box
sizemedium
typeinfo

A couple of remarks regarding custom attributes:

  1. If you use a Wrangle node to create a v@my_vector = rand(@ptnum); attribute, Houdini will generate a 3flt class attribute. This will work just fine inside Houdini but if you attempt to export the point cloud as is to the Alembic file, V-Ray won't be able to use this attribute at render time. As per the Alembic format specifications, V-Ray only supports float, vector2, vector3, color3 and color4 attributes. Therefore, when you middle-mouse-button click your Houdini node, my_vector should read as my_vector 3flt (Vec) or my_vector 3flt (Clr). Simply put, my_vector 3flt will not work. You can force Houdini to give you a Vec or Clr class attribute by creating your attribute using an Attribute Create node and then modifying it in the Wrangle node.
  2. Attempting to feed a custom float attribute to a vector input of the V-Ray material directly from the Vertex Color to the material will produce incorrect renders. Especially if you have many attributes stored in the file. Every 3 Float attributes are represented as a single vector/color attribute - @my_first_float , @my_second_float and @my_third_float will be loaded as the components of a single vector attribute. You need to make sure to specify the correct sub-channel on the Vertex Color texture.


Motion blur / Velocity

...

...


In the case of a Single Alembic File holding multiple Frames of data loaded through a V-Ray Proxy:

...

UI Text Box
sizemedium
typeinfo

The motion blur information for single versus per-frame Alembic files holds true for all Chapters of this tutorial.

Div
styledisplay: none;


 

Section
Column
width40%

Problems:

  1. Need a divide SOP for the inside faces of the fractured pieces - for some reason max is not handling the inside faces of concave fractured pieces - possibly because they're n-gons
  2. Need to unpack the geometry before export if you want to keep the inside / outside primitive groups. Need to use a name SOP as well in this case - this breaks instancing and likely produces much larger files – need to test.
  3. Same goes for the Displacement texture param of V-Ray Material - can't use Sub-Object with multiple displacement maps for multiple vray mats
  4. Only 1 GeomDisplacedMesh is exported to vrscene per VRayProxy.... can use Multisub tex
  5. Vertex Color texture is ignored entirely once a VRay Displacement modifier is applied to the geo
  6. VRScene export on frame > 0 always renders the alembic file at frame = 0
  7. Can't assign a random material based on the name/index pair in the V-Ray proxy - need to manually take care of this with the Sub-Object material
  8. Because of the above, it's probably best to unpack, name and partition the geometry based on the materials you want to assign in Max
Column
width60%

Will do last ....

 


Footnotes

...

Anchor
1
1
 1 – The use of Vertex Color texture can be changed with either VRayUserColor or VRayUserScalar textures when reading color sets and attributes of an alembic.