Share

Cinema 4D Particle System - Arnold for Cinema4d

C4DtoA can render particles generated by the Particle System released in Cinema 4D 2024.4.

Workflow

Particle Group

All Particle Groups in the scene are rendered by default as spheres with a default standard_surface shader displaying the color of the particles.

If you want to modify the settings, you have to add an Arnold tag to the Particle Group object.

Note:

Emitters do not store any particles, thus adding the Arnold tag and material to an Emitter has no effect. You have to add them to particle groups.

Multi Group

Multi Groups can hold and modify multiple particle groups. They are not rendered by default. If you want to render them, you have to add an Arnold tag to the Multi Group object and change the Render mode.

Note:

Multi Groups and Particle Groups both store particles, thus they might be rendering twice, once by the Multi Group and once by the Particle Group. Therefore if you enable rendering of a Multi Group, you may have to disable rendering of the respective Particle Groups.

Shading

You can use a user_data shader in a shading graph to read specific properties of the particles, such as the color and age.

Note:

Materials have to be applied to Particle Groups and not Emitters, just like the Arnold tag.

Channels

You can export particle properties (channels) as user parameters and read them in a shader graph via user_data shaders. Radius and color is exported by default, but you can export all other available properties, such as:

  • velocity (vector)
  • angular velocity (vector)
  • age (float)
  • lifetime (float)
  • distance (float)

Channels can be mapped to the 0-1 range (between the minimum and maximum value in the current frame) where it's possible. In case you need to map the values to a custom range, you can export the minimum and maximum values as user data. They are labelled with the _min and _max postfix, such as 'distance_min' and 'distance_max'.

Motion blur

You can control here how the motion blur effect is rendered. Vector motion blur is enabled by default, that means the velocity and angular velocity vectors are used to calculate particle motion in the given frame.

Note:

In some cases, such as when particles move along a curve, vector motion blur does not give you the desired result, and motion blur has to be calculated based on the simulated position instead (Use motion vector turned off). Note, that particles are not simulated in subframes, therefore you have to cache the simulation to render motion blur properly.

Note:

To display motion blur in the IPR you have to cache the simulation.

Was this information helpful?