©Anton Podvalny

Table of Contents

Introduction


In this chapter we'll cover an advanced usage of the V-Ray Instancer - creating particle systems.

The Instancer2 plugin allows to create instances of other objects over the particles from a ParticleFlow system. The source code for the Instancer2 plugin is included with the V-Ray SDK. In difference from Particle Flow itself, which can only work with mesh objects, the Instancer2 can instance any renderable object, including Proxy, hair, displaced objects, Alembic files with other particles (through Proxy) etc.

Per-particle properties


We already covered some PP (per-particle) properties in the previous topic about V-Ray Instancer. In comparison to the previous lesson, we'll talk about parameters located in the GeomParticleSystem plugin.

Point Size

  • point_size - The size of point and multipoint particles, in pixels.
  • point_radii - If true, the point size will be taken form radii parameter
  • point_world_size - If true, the point size is in world space, not screen space

 

Others

  • acceleration_pp - List of color, per-particle acceleration.
  • colors - List of color, per-particle diffuse color.
  • emission_pp - List of color, per-particle emission color.
  • age_pp - List of float, per-particle age.
  • lifespan_pp - List of float, per-particle lifespan.
  • opacity_pp - List of float, per-particle opacity.
  • user_color_pp_1/2/3/4/5 - List of color, corresponds to Maya's userVector1/2/3/4/5PP.
  • user_float_pp_1/2/3/4/5 - List of float, corresponds to Maya's userScalar1/2/3/4/5PP.
  • mesh - The triangle mesh that will be instanced.This is used only for some of the particle render types.
  • render_type - 3 - multipoints; 4 - multistreak; 6 - points; 7 - Spheres; 8 - Sprites; 9 - Streak. Everything else gives a warning and renders as spheres.
  • positions - List of vector, the positions of the particles.
  • velocities - List of vector, the velocities of the particles. This is in world units per frame.
  • ids - List of integer, the particle IDs. Some particles may disappear within the motion blur interval so we need these when storing moving primitives in MovingParticleGeomGen. This parameter is required to render motion blur.
  • radii - List of float, the particle radii when the particles are spheres.
  • sprite_num_pp - List of integer, per-Particle sprite number.
  • radius - The constant particle radius when radii is empty.
  • sprite_size_x - The width of sprite particles in world units.
  • sprite_size_y - The height of sprite particles in world units.
  • sprite_twist - The twist of sprite particles in degrees.
  • sprite_scale_x - List of float, parameter for per particle scale on the X-axis.
  • sprite_scale_y - List of float, parameter for per particle scale on the Y-axis.
  • sprite_rotate - List of float, parameter for per particle twist (z-axis rotation).
  • sprite_orientation - set the orientation of the billboards when the particle rendering type is set to Sprites. Possible values are:

    • 0 - orient sprites towards the camera center
    • 1 - orient sprites parallel to the camera plane
  • multi_count - The number of particles generated for each input particle, when the render type is multipoints or multistreaks.

  • multi_radius - The maximum distance between the original and a generated particle when the render type is multipoints or multistreaks.
  • line_width - The width of streak particles, in pixels
  • tail_length - The length of streak particles, in world units, the actual length depends on the particle velocity as well.
  • primary_visibility - If off, shading an intersection with this mesh will not generate a gbuffer.
  • data_source - External data source to be used instead of positions, velocities, ids and radii

Example


The following picture is rendered using this scene. See the comments inside for the different parameters.

  • No labels
Was this helpful?