TyFlow integration

CentiLeo and TyFlow integration

CentiLeo supports rendering TyFlow http://tyflow.com/ with direct integration of particle instances motion blur and supports a lot of particle attributes for shading. Potentially out-of-core amount of particles (hundreds of millions of them) can be rendered by CentiLeo on GPU if CPU and RAM performance are ready to produce such complex simulation setup. CentiLeo can also render complex geometry object within particle itself also with out-of-core technology support for polygons inside a particle.

Particle Geometry

To render geometry of TyFlow simulation it may be required to use TyFlow Mesh operator with enabled “Render Instances” option. It may be also required to use TyFlow Shape operator with renderable geometry assigned to particles. Select either a 3D preset or referenced object from the scene..

Motion Blur

Motion blur on CentiLeo side is enabled in renderer settings in Camera tab and they have global effect for all scene objects. Up to 32 transformation keys (object matrix change) are supported for all regular 3ds Max objects and their instances, but particles support just 2 transformation keys. Deformation motion blur produces 2 step blur for deforming object geometry with constant topology (non changing polygon count). Very often TyFlow generates Velocity map for simulated mesh and CentiLeo uses it for deformation blur.

render_settings_motion_blur.png

Particle Shading

CentiLeo renderer adopts the following features needed in shading:

  1. Material override controlled by TyFlow

  2. Material ID override controlled by TyFlow that can be used for Material assignments inside 3ds Max Multi Sub-Obj material.

  3. Per-Particle Birth ID, Material ID override, instance ID, Age, Lifespan, Position, Scale, Velocity, Spin. All these values are accessible through CentiLeo Particle Info shading node and can be used as input for any other shading node.

  4. UVW mapping channels from 0 to 7 (8 in total) per particle which are also accessible through CentiLeo Particle Info shading node. CentiLeo doesn’t automatically override the mesh UVW channels with UVWs from particles. Original Mesh UVW channels are available by default in CentiLeo Bitmap node and UVW Projection node mapping selector. The user should explicitly connect UVW from ParticleInfo to the Bitmap UVW port or any other mapped node like Noise or Ramp. 

shading_setup.png

The ParticleInfo attribute values have different units e.g. the Age and Life Span are given in seconds while Position is in scene distance units. These values may change during simulation however particle ID is constant.

The common practice is to use CentiLeo Remap shader node which allows to project selected particle attribute value to 0..1 range given particle values input range which should be known by user or taken from experiments. The resulting value can be used as input of CentiLeo Ramp shader node to colorize the particle attribute and can be connected to diffuse color channel of material.

The following image has particles with varying sand colors implemented using particle birth ID connected to the Seed port of CentiLeo Random shader node which generates either colors or black/white output which is further connected toCentiLeo Ramp shader node with sand colors:

render_example.png  

Limitations

If Emission material is applied to particles then it’s not importance sampled, so the noise can be high if this particle lighting setup is intended to be global across the scene. But this situation is ok if emission material of particles has local effect which is a common situation. Anyway, the limitation will be solved in future releases.