Particles

粒子

Ever wanted to create shark-infested waters, an intergalactic fleet with hundreds of starships, or just some swirly cigarette smoke? Cinema 4D’s particle system will do all of this for you, and much more, in a very easy and intuitive way. 你有没有想过创造一个鲨鱼出没的水域,一个拥有数百艘星际飞船的星际舰队,或者只是一些旋转的香烟烟雾?Cinema 4D 的粒子系统将以一种非常简单和直观的方式为你做这一切,甚至更多

At the heart of Cinema 4D’s particle system is the emitter, which ejects a stream of particles. These particles and their shapes can be modified by various parameters, Modifiers and Field Forces controls to produce, amongst other effects, rotating, deflecting and decelerating particles.

Cinema 4D 粒子系统的核心是发射器,它喷射出一股粒子流。这些粒子及其形状可以通过各种参数、调整器和场力控制器进行修改,以产生旋转、偏转和减速等效果。

It’s a simple as this:

原因很简单:

  1. Create an emitter ( 创建发射器(Simulate / Particle / Emitter 模拟/粒子/发射器).
  2. Click the Play icon in the animation toolbar and view the default particle system in the viewport. 单击动画工具栏中的 Play 图标,并在视区中查看默认的粒子系统
  3. Make an object a child of the emitter (a sphere is suitable for now). In the 使一个对象成为发射器的子对象(球体现在是合适的)Attribute Manager 属性管理器, ensure that the emitter’s Show Objects option is enabled. ,确保发射器的 Show Objects 选项被启用

Cinema 4D enables you to use any object as particles — not only spheres, but also complex, grouped objects with hierarchies such as a jointed bird or a car.

Cinema 4D 可以让你使用任何物体作为粒子ーー不仅是球体,还有复杂的、层次分明的成组物体,比如一只关节鸟或一辆汽车。

Even light sources can be used as particles. You can create fire or smoke effects very easily using visible lights, and particles can even cast lights and shadows.

甚至光源也可以用作粒子。你可以非常容易地创建火或烟雾效果使用可见光,粒子甚至可以投射光和阴影。

All objects in the emitter can be fully animated to create, for example, birds that fly and fish that swim.

发射器中的所有对象都可以完全动画化,例如,可以创建会飞的鸟和会游泳的鱼。

The particle stream can also contain mixed random particle objects (e.g., a variety of different birds). Simply drag the different objects into an emitter. These particles are then emitted in the same proportion.

粒子流也可以包含混合的随机粒子对象(例如,各种不同的鸟)。简单地拖动不同的对象到一个发射器。然后这些粒子以相同的比例发射出去。

You can also use a metaball to achieve otherwise difficult effects, such as bubbling liquids.

您也可以使用 metaball 来实现其他困难的效果,如鼓泡液体。

If the particles from an emitter are to be melded together into a metaball, the emitter must be a child of the metaball.

如果来自发射体的粒子要融合成一个元标记,那么发射体必须是元标记的子标记。

The particles move in a straightforward fashion until they arrive within the range of a modifier. Then they are diverted, slowed down, rotated, etc. These modifiers work, by default, in the Z direction of their coordinate system (e.g., the wind blows in this direction); if this is not the case, it will be explicitly pointed out in the text below. Modifiers can be embedded in other modifiers (i.e. nested). Thus a Turbulence modifier within a Wind modifier results in very realistic smoke effects. Almost all the properties of an emitter and the modifiers can be animated. Why not animate the strength of wind for realistic gusts?

粒子以直接的方式移动,直到它们到达力场的范围内。然后它们被改变方向,放慢速度,旋转等等。默认情况下,这些力场按照其坐标系的 z 方向工作(例如,风朝这个方向吹) ; 如果不是这样,将在下面的文本中明确指出。力场可以嵌入到其他力场中(即嵌套)。因此,风力修改器中的湍流修改器会产生非常真实的烟雾效果。发射器和力场的几乎所有属性都可以动画化。为什么不把风的力量做成动画来迎接真实的阵风呢?

Particle effects will only be displayed accurately when played at a constant rate in the Timeline. If you go backwards in time or move more than one frame forward then strange things may happen on the screen. These strange effects happen because the new position of a particle is calculated from the previous position. Therefore you should always reset the time slider to the starting position when adding new modifiers to the particle system.

粒子效果只有在时间轴中以恒定速率播放时才能精确显示。如果你在时间上倒退或者向前移动一帧以上,那么屏幕上可能会发生奇怪的事情。这些奇怪的效果之所以会发生,是因为粒子的新位置是从以前的位置计算出来的。因此,在向粒子系统添加新的力场时,应该始终将时间滑块重置到起始位置。

When playing back you should enable the Animate / Frame Rate / All Frames option, or click on the Animation toolbar’s Options icon and enable All Frames. In order to get an accurate display using the Timeline animation controls, you must single-step through the animation to make sure that no frames are skipped. This does not matter when the scene is finally rendered with the raytracer, since the scene will then be calculated frame by frame from start to end.

当回放时,你应该启用 Animate/Frame Rate/All Frames 选项,或者点击 Animation 工具栏的 Options 图标并启用 All Frames。为了使用时间轴动画控件获得准确的显示,必须单步执行动画以确保没有跳过帧。当场景最终使用光线跟踪器渲染时,这并不重要,因为场景将从头到尾逐帧计算。

When using a light for particles, disable the light’s shadow casting, otherwise the many shadow will slow down rendering greatly.

当使用光作为粒子时,禁用光的阴影投射,否则阴影会大大降低渲染速度。

You cannot use emitters as particles. You will find two particle system examples at the end of this chapter, one for light sources as particles, the other for metaballs as particles.

你不能使用发射器作为粒子。在本章的最后,你会发现两个粒子系统的例子,一个是光源作为粒子,另一个是粒子元包络。

Baking Particles

烘焙颗粒

Tip: 提示:
Note that dynamic particles (i.e. Child objects of an Emitter that carry a Dynamics Body tag). cannot be baked using this function. The aforementioned tag’s 请注意,动态粒子(即带有 Dynamics Body 标签的发射器的子对象)。无法使用此函数进行烘培。前面提到的标签Cache 缓存 tab contains a similar bake function. Tab 包含类似的烘焙功能

Under certain conditions it may become necessary to use the Bake Particles command for particle streams. What does this mean?

在某些情况下,可能有必要对粒子流使用烘焙粒子命令。这意味着什么?

Under normal conditions particle streams are rendered dynamically and sequentially, i.e., the position of a particle in the next frame depends on its position in the previous one. But this can cause problems in two ways …

在正常情况下,粒子流是按顺序动态渲染的,也就是说,粒子在下一帧中的位置取决于它在上一帧中的位置。但这可能在两个方面造成问题... ..。

First of all let’s consider rendering within mixed networks. With the Team Renderer the rendering of an animation within a network can be distributed over several computers for faster results. For this type of network rendering a variety of different platforms can be combined, e.g., Power PC, AMD and Intel processors. Since the floating-point units (FPU) of these processors work slightly differently, the sequential nature of the particle rendering can produce different results on the different platforms. The final output could be a non-continuous particle stream with large gaps in parts along the stream. The solution is to bake the particles before rendering them over the network.

首先,让我们考虑在混合网络中进行渲染。通过使用 Team Renderer,可以将网络中的动画渲染分布到多台计算机上,从而获得更快的效果。对于这种类型的网络渲染,可以结合多种不同的平台,例如,Power PC、 AMD 和 Intel 处理器。由于这些处理器的浮点单元(FPU)工作方式略有不同,因此粒子渲染的顺序特性在不同的平台上会产生不同的结果。最终的输出可能是一个非连续的粒子流,沿着流的部分有很大的间隙。解决方案是在通过网络呈现粒子之前对粒子进行烘培。

The second problem occurs when using several independent particle systems in a scene. In principle all modifiers will always affect all particles of a scene, no matter what the source. If this is not what you want, remedy it by baking the particles.

第二个问题发生在场景中使用几个独立的粒子系统时。原则上,所有的力场都会影响场景中的所有粒子,不管来源是什么。如果这不是你想要的,可以通过烘培微粒来补救。

When baked, a particle stream will become frozen in its present condition, i.e., the position, rotation and size for each particle for each frame of the animation is fixed (also in the Timeline, although you will not notice it). All computers in a Team Renderer network will now render the particles correctly.

当被烘培的时候,一个粒子流会在它现在的状态下冻结,也就是说,动画中每一帧每个粒子的位置、旋转和大小都是固定的(也在时间轴中,尽管你不会注意到它)。团队渲染器网络中的所有计算机现在将正确渲染粒子。

To bake particles:

烘培颗粒:

In the main menu, select the emitter and choose Simulate / Particle / .

在主菜单中,选择发射器并选择 Simulate/Particle/。

As you might expect, there is a price to pay for these extra particle options: high memory consumption. The data — such as position, speed, situation, lifetime etc. — must be saved for each particle and for each frame. To check the memory consumption of the baked objects, select the objects and in the 正如你所料,这些额外的粒子选项是要付出代价的: 高内存消耗。必须为每个粒子和每个帧保存位置、速度、情况、寿命等数据。若要检查已烘焙对象的内存消耗,请在Object Manager 对象管理器, choose 、选择Objects > Object Information 对象 > 对象信息.

Examples

例子

Particle animation with light sources

带光源的粒子动画

In this example, we will create a comet tail.

在本例中,我们将创建一个彗星尾巴。

Create a with the Attribute Manager settings listed below. Only the values that you need to change are listed — leave other values at their default.

使用下面列出的属性管理器设置创建。只列出您需要更改的值ーー保留其他值的默认值。

General page

一般页面

Visibility page

能见度页面

Next, choose Simulate / Particles / Emitter to create an emitter. In the Attribute Manager, change the following values (again, leave the values that are not listed set to their defaults):

接下来,选择模拟/粒子/发射器来创建发射器。在属性管理器中,更改以下值(同样,将未列出的值设置为默认值) :

Particle page

粒子页

Emitter page

发射器页面

In the Object Manager, Drag & drop the name of the light onto the name of the emitter to make the light a child of the emitter. Move the time slider some way into the animation and render the picture. To refine the tail, animate the light source parameters. For example, the particles could start with a yellow color, changing to orange then black over time. Why not add a few modifiers?

在对象管理器中,将光的名称拖放到发射器的名称上,使光成为发射器的子元素。将时间滑块移动到动画中并呈现图片。要精炼的尾巴,动画光源参数。例如,这些粒子可以从黄色开始,随着时间的推移变成橙色然后变成黑色。为什么不添加一些力场呢?

Metaparticles

元文章

In this example, you will learn how to combine particles with metaballs. Note that the emitter — including its child — must be a child of the Metaball object.

在本例中,您将学习如何将粒子与元数据包结合起来。注意,发射器(包括它的子对象)必须是 Metaball 对象的子对象。

Start by choosing Create / Modeling / Metaball to create a Metaball object. Now edit the settings in the Attribute Manager. As with the first example, only the values that you need to change are listed — leave the other values set to their default.

首先选择 Create/Modeling/Metaball 来创建 Metaball 对象。现在编辑属性管理器中的设置。与第一个示例一样,只列出了需要更改的值ーー将其他值设置为默认值。

Object page

对象页面

Next, choose Simulate / Particles / Emitter to create an emitter. In the Attribute Manager, change the following values (again, leave the values that are not listed set to their defaults):

接下来,选择模拟/粒子/发射器来创建发射器。在属性管理器中,更改以下值(同样,将未列出的值设置为默认值) :

Particle page

粒子页

Choose Create / Object / Sphere to create a sphere. In the Attribute Manager, set the sphere’s Radius to 35 cm. In the Object Manager, Drag & drop the sphere’s name onto the emitter’s name to make the sphere a child of the emitter. Now Drag & drop the name of the emitter onto the name of the metaball.

选择 Create/Object/Sphere 创建一个球体。在属性管理器中,将球体的半径设置为35厘米。在对象管理器中,将球体的名称拖放到发射器的名称上,使球体成为发射器的子级。现在将发射器的名称拖放到元标记的名称上。

Move the time slider some way into the animation and render the picture. Now experiment!

将时间滑块移动到动画中并渲染图片。现在进行实验!

Particle Emitter Object

粒子发射体

Bake Particles

烘焙颗粒