Export Particles operator

The Export Particles operator can be used to convert particles into scene objects or save them into various file formats.

If an Export Particles operator is placed into an event on its own, or an event only containing other Export Particles operators, its event will operate in “Global Export” mode. This means that the Export Particle operators in that event will operator on all particles within the flow (note: “Global Export” events are shaded blue).

If an Export Particles operator is placed into an event with other regular operators, it operates in “event” export mode. This means it will only export particles in its own event. If an Export Particles operator in “event” mode is instanced across multiple events, it will export particles from all of the events that it’s instanced inside.

These modes make it easy to control exactly which particles will be exported by an Export Particles operator.

The Export Particles operator will only export particles when its “Export” button is pressed by the user. This operator is not evaluated by the simulation itself.

tyFlow retimer settings are ignored by the Export Particles operator in PRT or tyCache mode. To retime your PRT or tyCache sequence, use the retiming spinner in the PRTLoader or tyCache object you load your files into. To quickly copy retiming settings between your tyFlow object and your cache importer object, right click on the tyFlow retiming spinner and choose “Copy Animation”, then right click on your cache importer retiming spinner and choose “Paste Animation”.

By default, the Export Particles operator will respect your tyFlow cache settings. If caching is enabled, particles that are processed by the Export Particles operator will be added to the tyFlow cache. If you attempt to export more particles than can fit in your RAM while caching is enabled, 3ds Max may run out of memory and the export may fail. If you are exporting huge numbers of particles it is recommended to disable the tyFlow cache before doing so.

Note: This does not apply to export jobs submitted through Deadline, as caching will automatically be ignored by machines that process Deadline tasks.


Export Type Rollout

  • Objects: this mode allows you to convert particles into scene objects.

  • PRT: this mode allows you to convert particles into PRT format files (.prt).

  • tyCache: this mode allows you to convert particles into tyFlow’s tyCache format files.

  • Alembic Point Cloud: this mode allows you to convert particles point clouds into Alembic format files (.abc).

  • VRay Proxy: this mode allows you to convert particles into VRay Proxy format files (.vrmesh).


Frame Range Rollout

  • Start/End: these spinners control the start/end range of frames over which particles will be exported.

General Settings Rollout

Coordinates

  • Local/World: the coordinate system that the particles/meshes will be relative to, prior to export.

When “local” coordinates are chosen, all particle properties will be exported relative to the inverse transform of the tyFlow itself. Therefore the tyFlow icon’s transform will be the coordinate origin, rather than [0,0,0] in the scene.

Export Groups

  • Export groups: controls which particle export groups will be processed by the exporter. Use these groups to limit which particles will be exported.

Actors

  • Export bones particles: controls whether particles imported from a tyActor skin will be exported.

Particles

  • Birth multiplier: the birth multiplier applied to birth operators at the time of export. Setting this value to something other than 1.0 will increase/decrease the number of particles generated during export.

Object switchers

  • Set index: globally override the switch index of all tySwitcher objects in the scene during export.

  • Index value: controls which switch index to use.

Use tySwitcher objects in your flows to quickly swap between different object setups.

Retimer

  • Ignore retimer: turning this on will export raw frame timings (ignoring any retimer settings enabled within the tyFlow).

Object Settings Rollout

This rollout is exposed when the Export Particles operator is set to “Objects” mode.

Export object name (prefix)

  • Name: defines the prefix used to name the objects created by the exporter.

Export layer

  • Name: defines the name of the layer that exported objects will be assigned to.

Export object type

  • Point helpers: exports particles as point helper objects.

  • Meshes: exports particles as editable meshes.

  • Reference Object: exports particles as duplicates of a specific reference object.

  • Copy/Instance: controls whether reference object duplicates will be copies or instances.

  • Animate transforms: controls whether the transforms of the exported objects will be animated to match the motion of their corresponding particles.

Lights

These controls apply to reference objects which are lights (supports standard lights and VRay lights)

  • Intensity from cust float: controls whether the intensity value of the lights will be controlled be particle custom float data.

  • Channel: the custom float data channel.

  • Multiplier: an extra multiplier applied to custom float data values.

Pre-born/deleted/ignored

  • Scale to zero: exported objects that do not have a corresponding particle at a particular frame will have their transform’s scale keyframed to zero at that frame.

  • Turn off: exported lights that do not have a corresponding particle at a particular frame will have their intensity animated to zero at that frame.

Limits

  • Max objects: controls the maximum number of objects that will be exported.

  • Sort: volume: when the total number of particles exceeds the maximum number of exported objects, the particles will be sorted such that the biggest particles will take priority.

  • Sort: life: when the total number of particles exceeds the maximum number of exported objects, the particles will be sorted such that the oldest particles will take priority.


PRT Settings Rollout

This rollout is exposed when the Export Particles operator is set to “PRT” mode.

Output

  • Filename: the output filename for the resulting PRT file sequence.

Channels

  • [Channel name - data type]: lists the available channels to save in the PRT files, and their corresponding data type.

Data types and their corresponding size in bytes:
byte = 1 byte
int16 = 2 bytes
int32 = 4 bytes
float16 = 2 bytes
float32 = 4 bytes

The number in square brackets next to some data types represents the number of values that must be stored for that particular channel. For example, a position channel requires X/Y/Z values, each of which is stored as a float32 data type. So the size in bytes for a particular particle position value is 12 bytes (float32 x 3 values).

Export

  • Total partitions: sets the total number of partitions to be demarcated in the PRT filename.

  • Export All/Range: controls whether to export all partitions, or a range of partitions.

A PRT file’s filename is important, when loading it into a Thinkbox PRTLoader object. Partitions are identified using “partXXofXX” syntax. By keeping the “total partitions” value high, but only exporting a small range of partitions, you can easily add to that range later without creating incompatible filenames. For example, setting “total partitions” to 100 and setting the export range to “1 to 2” will create files marked as “part01of100” and “part02of100” which will be recognized as two partitions of the same sequence by a PRTLoader. Later you could set the export range to “3 to 3” which would create files marked as “part03of100”, etc.

However, if (in that example) you set the total number of partitions to 2, your initial files would be marked as “part01of02” and “part02of02”. Later setting the range to “3 to 3” would create files marked “part03of03” which would not be considered part of the same sequence as the prior two partitions, by a PRTLoader.

Therefore, it’s best to keep the value of “total partitions” high, even if you don’t plan on exporting the entire partition range, in order to allow for future increases of the desired partition range within the same sequence.


tyCache Settings Rollout

This rollout is exposed when the Export Particles operator is set to “tyCache” mode.

Output

  • Filename: the output filename for the resulting tyCache file sequence.

Channels

  • [Channel name - data type]: lists the available channels to save in the tyCache files, and their corresponding data type.

Data types and their corresponding size in bytes:
byte = 1 byte
int16 = 2 bytes
int32 = 4 bytes
float16 = 2 bytes
float32 = 4 bytes

The number in square brackets next to some data types represents the number of values that must be stored for that particular channel. For example, a position channel requires X/Y/Z values, each of which is stored as a float32 data type. So the size in bytes for a particular particle position value is 12 bytes (float32 x 3 values).

Mapping values are stored as a float32[3] x the number of mapping channels assigned to the particle.

Post-export action

  • Create tyCache object: controls whether a tyCache object will be created in the scene if the tyCache exporter completes successfully. Its input file sequence will be set to the output sequence of the current exporter, and it will get its material and layer name from the current flow.

  • Only if not already created: a new tyCache object will only be created, if an existing one using the exporter’s output sequence as its input does not already exist. If one already exists, it will simply be updated.

Export layer

  • Name: defines the name of the layer that created tyCache objects will be assigned to.

Geometry Settings Rollout

This rollout is exposed when the Export Particles operator is set to “tyCache” mode.

Geometry

  • Include cloth geo: cloth geometry generated with Cloth Bind operators will be added to the tyCache on a per-frame basis.

  • Include actor skin geo: skinned meshes imported with Actor operators will be added to the tyCache on a per-frame basis.

  • Include spline paths geo: geometry created with Spline Paths operators (with appropriate tySplineMesher modifiers assigned) will be added to the tyCache on a per-frame basis.

  • Include additional geo: allows you to include additional geometry which will be added to the tyCache on a per-frame basis.

Additional geometry

  • Object list: list of additional objects whose geometry will be included in the tyCache.

An Export Particles operator in “event” export mode that is set to include cloth/actor/spline/additional geometry will include all additional geometry (corresponding to those checkboxes) created by the flow - not merely the additional geometry created by its event. This limitation may be subject to change in the future.


Alembic Point Cloud Settings Rollout

Output

This rollout is exposed when the Export Particles operator is set to “Alembic Point Cloud” mode.

  • Filename: the output filename for the resulting Alembic file.

Coordinates

  • Y-Up: exports particles with Y-Up (left-handed) coordinates.

  • Z-Up: exports particles with Z-Up (right-handed) coordinates.

Y-Up coordinates are used in packages like Maya, Houdini, Unity, etc. Z-Up coordinates are 3ds Max’s default coordinates.

Channels

  • [Channel name - data type]: lists the available channels to save in the Alembic file

Alembic Mesh Settings Rollout

Output

This rollout is exposed when the Export Particles operator is set to “Alembic Mesh” mode.

  • Filename: the output filename for the resulting Alembic file.

Coordinates

  • Y-Up: exports particles with Y-Up (left-handed) coordinates.

  • Z-Up: exports particles with Z-Up (right-handed) coordinates.

Y-Up coordinates are used in packages like Maya, Houdini, Unity, etc. Z-Up coordinates are 3ds Max’s default coordinates.


VRay Proxy Settings Rollout

This rollout is exposed when the Export Particles operator is set to “VRay Proxy” mode

Output

  • Filename: the output filename for the resulting VRay Proxy file.