Effect options in Cinema 4D

The focus is on the possibilities for realising volumetric effects.

Smoke, fire, dust – these natural phenomena are summarised under the term “effects” in the CG scene. Just a few years ago, they were very difficult and time-consuming to create. Nowadays, artists are spoilt for choice between different methods. We present some of them here.

In this workshop, we will first look at the general options for creating effects in Cinema 4D. Later, we will take a look at the additional module “PyroCluster”, which was specially designed for the realisation of volumetric effects. When we talk about effects in 3D, these are usually associated with a particle system. After all, dust or smoke also consist of many particles in reality – so what could be more obvious than to orientate ourselves on reality here?

The first thing you should ask yourself is whether it is at all practical to create the desired effect in 3D or whether it would be better to do this in compositing. Programmes such as Motion or Combustion have a large number of ready-made emitters whose main advantage lies in their speed. You drag the emitter into the scene and can observe in real time how the effect reacts as you change the settings. The ParticleIllusion software (www.wondertouch.com) should be mentioned here in particular, as it was only designed for particle effects [Image 01].

Of course, 2D effects also have disadvantages, the most obvious being integration into the scene. If, for example, 2D smoke is to come out of an animated 3D chimney, you will have to carry out tasks such as tracking, colour correction, shadow generation and other post-processing. So you have to weigh up carefully whether the post-production effort would exceed the work in the 3D programme. If this is the case, you can start Cinema 4D with a clear conscience and create the effect directly in the 3D world at home.

There are several ways to create particle effects. Among other things, light objects can be used as in this example

False smoke with sprites

What options are there for the average Cinema 4D user to create smoke, for example? The particle system can be used as an on-board tool, and thinking particles can be added if necessary. This allows almost any object to be emitted as a particle, including individual polygons. Create a standard emitter and assign a basic plane object with the subdivision 1/1 to it. The size of the plane is reduced to 100/100. The emitter now creates individual polygons. In the next step, the appearance of these surfaces is changed so that they look like smoke particles [Image 02].

Generate a new material and activate the alpha channel. We load the Fusion Shader into this channel. In the fusion shader, we load a circular colour gradient from white to black into the blend channel and the noise shader into the output channel. The noise shader is set so that it comes close to the desired smoke effect – in our example, the noise type “Turbulence” was used with a global size of 1,000 per cent and slightly increased contrast. The noise shader is therefore mainly responsible for the appearance of the particles. The colour gradient, on the other hand, ensures a soft gradient towards the edge so that nothing of the original square layer is visible [Image 03].

We assign the new material to the layer. Finally, the particles just need to be aligned so that they are presented to the camera in all their splendour. The alignment expression [image 04] is ideal for this. It is assigned to the layer object whose axis is previously set to ” Z”. The target of the expression is the current camera, which you may still need to create. All particles then turn towards the viewer and present their smoke shader.

Such small images on a surface are also known as “sprites”. A sprite emitter offers many advantages: It can be built quickly, uses hardly any memory and is very flexible. After all, you can map pretty much anything you can think of onto the surfaces, from a glowing star to your own logo. As far as smoke is concerned, the noise shaders, which can also be animated, offer a wide range of possibilities [Image 05]. Of course, there is also the other side of the coin: as we are not really dealing with a 3D effect, the smoke does not look particularly realistic in certain situations. This applies above all to the shadows cast. Camera movements through the smoke are also taboo, as the “cheating” would certainly be noticeable.

[01] Those who prefer to build particle effects in 2D, can find good support from programmes such as ParticleIllusion
[02] A simple polygon becomes a smoke particle
[03] Two shaders in the alpha channel are responsible for the realistic lookChannel are responsible for the realistic appearance of the smoke
[04] The alignment expression rotates the polygons towards the camera
[05] An attractive smoke, which consists only of individual polygons

Light objects as particles

To make the whole thing a little more realistic, we now add the third dimension. The Cinema 4D light object is ideal for many types of effects. Drag it into the emitter you have already created and delete the previously created layer object. The practical thing about the light object is that we do not have to create a material, but can control the appearance of the particles directly with the object parameters. The “Visible light” option, which can be set to either “visible” or “volumetric”, is well suited for smoke – in the event that the lights are to interact with other scene objects. We also reduce the brightness to 30 per cent so that the smoke does not become too bright when there are many particle lights. We activate the “No lighting” option, as the light sources should not be used as such, but only lend the particles their appearance. We define this appearance on the “Noise” page. Here, the visible light is given an irregularity. In our example, it is of the “Hard turbulence” type with eight octaves and 500 per cent contrast [Fig. 06]. You can only judge the effect of the settings once the emitter has emitted enough light [image 07].

Light objects can be used to create a whole host of other effects besides smoke. The options on the “Lenses” page, which were also used to create the lead image for this article, are particularly interesting, albeit often with somewhat cheesy results. Similar to the previously discussed Sprite Emitter, you can assign glows and reflections to the light source as render effects – from stars to solar explosions [Image 08]. Carefully dosed, these effects are very useful in certain situations. Every now and then you might need a few fireflies to bring a night scene to life. A yellow light with a slight glow should help here [image 09].

The light object is therefore a good aid when it comes to creating effects. Nevertheless, it also has the disadvantage that it only reacts realistically to its environment to a limited extent. Light objects do not cast or receive shadows themselves, but are a quick and good solution for many situations. For those who need something even more realistic, Maxon has its own module called “PyroCluster”, which has been an integral part of the Advanced Render module since version 10.

[06] Light objects carry their own noise, which can be used to generate smoke
[07] Another smoke effect, this time created with visible light
[08] Another lens effect, applied to light object particles
[09] Fireflies? UFOs? In this case only light objects with lens effect
[10] The VolumeTracer and the PyroCluster Shader
[11] No cube object, but a setting of the PyroCluster Shader

Total control with PyroCluster

PyroCluster was programmed specifically for the creation of “real” effects, i.e. volumetric, three-dimensional effects. This means that effects created with PyroCluster react to light and shadow, for example. These can originate from other objects or also include their own shadows. In addition, particles created with PyroCluster are able to change their appearance depending on parameters such as age and emitter distance, which we will demonstrate with a small example.

Two things are needed to get started with PyroCluster: an environment object to which the “PyroCluster VolumeTracer” is assigned and the actual “PyroCluster Shader”, which determines the appearance of the particles [Fig. 10]. Using the volume tracer is not entirely unproblematic because other modules such as “Sky” also require it and difficulties can arise in certain cases: For example, a sky created with Sky is no longer visible in reflections if the PyroCluster VolumeTracer is in the scene at the same time. This is not important for our small example, but for larger productions you should bear in mind that different volume effects in a scene can cause problems.

But first let’s take a look at the appearance of the PyroCluster particles. Conveniently, the shader already includes six presets for the most common effects: Fire, Volcano, Vapour, Cloud, Fireball and the ever-popular Smoke [Figure 11]. These presets are an excellent starting point for your own experiments. If this is too simple for you, stay in manual mode and start by creating an emitter that only emits a single particle. The appearance of a particle can be easily adjusted at the beginning, as it renders very quickly. The PyroCluster shader is assigned directly to the emitter, no further particle objects are required. The three areas “Global”, “Shape” and “Noise” are decisive for the look of the shader. Similar to the light object, the colour, shape and size of the particles are defined here. The Noise area in particular is very similar to the tab of the same name in the light object. In most cases, you will probably activate “Fractal fraying” here, as otherwise the particles are more like normal objects, which can of course also have its appeal in some situations.

We now want to use PyroCluster to create a disintegrating smoke ring. To do this, we set the shape type to “Ring” and the radius to 100. Radius 2 – the thickness of the ring – is set to 30. We also activate the practical “Preview” option on the shape page. The PyroCluster effect is now displayed in the editor window [Fig. 12]. On the Noise page, we set the lower limit to 20 per cent. This creates a little more “fraying” at the edge of the ring and hides the original, regular shape.

If we play back the scene, our single-particle emitter should already emit a ring. However, this should not appear immediately as a ring, but first as a small cloud, then slowly grow in a ring shape and finally disappear.

In order to be able to influence the appearance of the particles even after their birth, there are various colour controls in PyroCluster. A grey value always stands for the strength of a certain parameter, for example the opacity. In this case, we want to use the “Activate emitter distance” option on the “Distance” page. This causes the particle to change its appearance depending on its distance from the emitter. How it does this is set using the colour sliders. We are particularly interested in the “Radius”, which should be very small at the beginning and then grow.

Set the initial colour of the slider to black – a very small radius. The end colour remains white and corresponds to the radius values set on the shape page. We set the “near range” to 0 and the “far range” to 400, which means that the radius starts to increase at an emitter distance of 0 – i.e. immediately after the particle is born. The ring reaches its final size at a distance of 400, but at this point it will no longer be visible, as the opacity of the particle is reduced over the course of the distance parallel to the increase in radius, so that our smoke ring disappears into thin air [Fig. 13]. To see this, however, you have to open the distance gradient colour slider and make sure that the “Edit alpha” option is also activated there, otherwise it will look as if the slider is running from white to white [Fig. 14].

The change in appearance can also be set in the “Age” area, only there it depends on the age of the particles and not on the distance. The two can also be combined – for example, you can specify that a particle turns yellow after about five seconds and doubles in size at an emitter distance greater than 50.

The particle now behaves as desired, but we should still tweak its appearance a little. For example, activate the “Cast shadow” options on the shadow page for realistic shadows. Experiment with the various PyroCluster settings and also with the emitter options: A successful particle effect is always a combination of particle behaviour and particle appearance. The final Cinema 4D file for this workshop can be found on the booklet DVD.

[12] If you activate the shape preview, the behaviour of the pyro-cluster ring is already visible in the editor window
[13] The result: The further the ring moves away from the emitter, the more it dissolves
[14] You control the opacity of the shader via the alpha values of the distance colour slider