Drawing Pipeline

绘图管道

One of Cinema 4D’s prime features is its real-time render preview, e.g., real-time deformation editing in the viewports.

Cinema 4D 的主要特点之一是实时渲染预览,例如,在视窗中实时变形编辑。

To facilitate this feature, the various actions involved must take place in a predefined order.

为了促进此特性,所涉及的各种操作必须按预定义的顺序进行。

Suppose you have created a Cube object. You then assign an expression tag that distorts the cube in a particular way. Next, you assign a Bend deformation object to the cube. Which action should take place first? Should the cube be bent first, then distorted, or should the cube be distorted and then bent? Two entirely different outcomes are possible depending on which action takes place first.

假设您创建了一个 Cube 对象。然后分配一个表达式标记,该标记以特定的方式扭曲立方体。接下来,为立方体分配一个弯曲变形对象。应该首先采取哪些行动?立方体应该先弯曲然后变形,还是应该先变形然后再弯曲?两个完全不同的结果是可能的,取决于哪个行动首先发生。

Suppose you have animated an object moving from point A to point B, yet at the same time you have given it an Expression tag that tells it to move to point C. The object cannot be in both places at the same time, so who wins? The winner is whichever one is evaluated last of all – if the expression is evaluated first, the animation overwrites the expression and the object comes to rest at point B; if the animation is evaluated first, the expression overwrites it and the object ends up at point C.

假设你动画了一个从 a 点移动到 b 点的对象,同时你给了它一个 Expression 标记,告诉它移动到 c 点。物体不可能同时出现在两个地方,那么谁赢了呢?获胜者是最后被求值的那个——如果表达式首先被求值,那么动画将覆盖表达式,并且对象在点 b 处休止; 如果动画首先被求值,那么表达式将覆盖它,并且对象在点 c 处结束。

Cinema 4D enables you to assign priority levels to expression tags to control exactly when the expression is evaluated.

C4D 允许你为表达式标签分配优先级,以精确控制表达式计算的时间。

The order in which actions are processed is what we refer to as the pipeline — actions take place one after the other, as though they are flowing through a pipe. Since the whole process determines what is ultimately drawn on the screen, the entire concept is termed the drawing pipeline. Be aware of the drawing pipeline so that you can predict the outcome of applying several functions simultaneously.

处理动作的顺序就是我们所说的管道---- 动作一个接一个地发生,就好像它们正在通过管道一样。因为整个过程决定了最终在屏幕上绘制什么,所以整个概念被称为绘图管道。注意绘图管道,这样您就可以预测同时应用多个函数的结果。

Suppose you have assigned a Look At Camera tag expression to an object. You will be unable to rotate the object freely in the viewport due to Use Expressions being enabled for the drawing pipeline. (The object will continue to point at the object with its Z axis). 假设您已经为一个对象分配了一个 Look At Camera 标记表达式。由于绘图管道启用了 Use Expressions,您将无法在视窗中自由旋转对象。(对象将继续以 z 轴指向对象)

Elements

元素

The Use Animations, Use Expressions, Use Generators and Use Deformers functions (see below) turn specific elements of the drawing pipeline on or off. If an element is turned off, its data will no longer be evaluated in the viewports. For example, if you turn off deformers, all objects will appear in their non-deformed state.

使用动画,使用表达式,使用生成器和使用变形功能(见下文)打开或关闭绘图管道的特定元素。如果一个元素被关闭,它的数据将不再在视窗中被计算。例如,如果关闭变形程序,所有对象都会以非变形状态出现。

Use Animation

使用动画

Animation refers to any data stored in the Timeline. Although tag expressions can animate an object, expressions are treated as a separate data type.

动画是指存储在时间轴中的任何数据。虽然标记表达式可以使对象产生动画效果,但表达式被视为单独的数据类型。

Evaluation order

评估顺序

Tracks are evaluated from bottom to top in the Timeline, beginning with parent objects. The child objects (Child objects) are then evaluated according to the hierarchy; to display the hierarchy in the Object Manager, open the entire structure for a complex object group by choosing View / Folding in the Object Manager.

轨道在时间轴中从下到上进行评估,从父对象开始。然后根据层次结构对子对象(子对象)进行计算; 为了在 Object Manager 中显示层次结构,在 Object Manager 中选择 View/Folding,打开复杂对象组的整个结构。

Use Expressions

使用表达式

Expressions are evaluated from left to right as they appear in the Object Manager.

表达式在对象管理器中从左到右进行计算。

This can, for example, be done using tags (e.g., XPresso, Python or Look at Camera).

例如,可以使用标记(例如,XPresso、 Python 或 Look at Camera)来实现。

It gives instructions to the object. An expression could, for example, change the color used by a house material according to the state of a sun object.

它向物体发出指令。例如,一个表达式可以根据太阳物体的状态改变房屋材质的颜色。

Evaluation order

评估顺序

Expressions are evaluated from left to right as they appear in the Object Manager. First the parent object is evaluated, then the order continues along the hierarchy tree; to display this tree, open the entire structure for a complex object group by choosing View / Folding in the Object Manager. The objects are evaluated from top to bottom in the order you see them.

表达式在对象管理器中从左到右进行计算。首先计算父对象,然后顺序沿着层次结构树继续; 要显示这个树,在对象管理器中选择 View/Folding 打开复杂对象组的整个结构。对象按照您看到它们的顺序从上到下进行计算。

Use Generators

使用发电机

Generators are objects that create geometry with the assistance of other objects. For example, a Subdivision Surface object generates a temporary polygon object. You can convert the temporary object to a real object if required using the Current State To Object command.

生成器是在其他对象的帮助下创建几何图形的对象。例如,细分曲面对象生成一个临时多边形对象。如果需要,可以使用“当前状态到对象”命令将临时对象转换为实际对象。

Generators include

生成器包括

Evaluation order

评估顺序

Generators are evaluated starting with the child objects, then evaluation moves up the hierarchy tree; to display this tree, open the entire structure for a complex object group by choosing View / Folding in the Object Manager. The objects are evaluated from top to bottom in the order you see them.

从子对象开始计算生成器,然后计算向上移动到层次结构树; 要显示这个树,在对象管理器中选择 View/Folding,打开复杂对象组的整个结构。对象按照您看到它们的顺序从上到下进行计算。

Use Deformers

使用变形器

Deformers are the functions listed in the Create | Deformer (see Deformation) and include Explosion, FFD and so on.

变形是在创建 | 变形(见变形)中列出的功能,包括爆炸,FFD 等。

A deformer deforms the object(s) that it is applied to. The deformation is applied to a virtual copy of the source object so that the original geometry is preserved and can always be restored. The Polygon Reduction command also performs in this way and is therefore classed as a deformer.

一个变形器使它所应用的对象变形。将变形应用于源对象的虚拟副本,以便保留原始几何体并始终可以还原。多边形缩减命令也以这种方式执行,因此被归类为变形器。

The main difference between expressions and deformers is that expressions are processed before the (virtual) copy is created, whereas deformers are processed after the copy is created.

表达式和变形的主要区别在于表达式在创建(虚拟)副本之前处理,而变形是在创建副本之后处理。

Use Animation
Use Expressions
Use Generators
Use Deformers

使用 AnimationUse 表达式使用生成器使用变形器

The above can be used to enable or disable specific elements of the drawing pipeline (this can also be done in the Project presets). If an element is disabled its data will not be evaluated in the editor. If, for example, Use Deformers is disabled, all objects will appear undistorted.

上面的代码可以用来启用或禁用绘图管道的特定元素(这也可以在 Project 预设中完成)。如果一个元素被禁用,它的数据将不会在编辑器中被计算。如果,例如,使用变形被禁用,所有对象将显示无失真。

Evaluation order

评估顺序

Deformers are evaluated starting with the child objects, then evaluation moves up the hierarchy tree; to display this tree, open the entire structure for a complex object group by choosing View / Folding in the Object Manager. The objects are evaluated from top to bottom in the order you see them.

从子对象开始对变形进行评估,然后评估向上移动到层次结构树; 要显示这个树,在对象管理器中选择 View/Folding 打开复杂对象组的整个结构。对象按照您看到它们的顺序从上到下进行计算。

The following example clarifies why the evaluation order for deformers and generators begins with child objects.

下面的示例说明为什么 deformers 和生成器的评估顺序以子对象开始。

A Loft object creates a temporary polygon object — it is a generator. Suppose the splines that describe the Loft object are themselves deformed by several FFD objects (deformers).

Loft 对象创建一个临时多边形对象ーー它是一个生成器。假设描述 Loft 对象的样条本身被几个 FFD 对象(变形)变形。

It’s only possible for the FFDs (Child objects of the splines) to deform the splines before they are used by the Generator object if the evaluation order is from the bottom of the hierarchy tree to the top.

如果计算顺序是从层次结构树的底部到顶部,那么在 Generator 对象使用这些样条之前,ffd (样条的子对象)只能对样条进行变形。

The display order

显示指令

We have addressed the order in which elements of the same data type are evaluated, but what is the evaluation order for elements of differing types? Again, the display pipeline works to a strict order:

我们已经讨论了相同数据类型的元素的计算顺序,但是不同类型的元素的计算顺序是什么?同样,显示管道按照严格的顺序工作:

The drawing pipeline is evaluated each time you perform a new action in Cinema 4D. Although this appears to be an overhead, it makes it possible, for example, to apply a Target tag expression to an object then see it move automatically as you move the target object around in a viewport. You are able to work with objects live.

每次在 Cinema 4D 中执行一个新动作时,绘图管道都会进行评估。虽然这看起来是一个开销,但是它可以,例如,对一个对象应用一个 Target 标记表达式,然后当你在视图区中移动目标对象时,它会自动移动。你可以使用实时的对象。

Should you encounter unexpected results in Cinema 4D, check the drawing pipeline first. 如果你在 Cinema 4D 中遇到意想不到的结果,首先检查绘图管道

Other Global Switches

其他全球交换机

Cinema 4D offers excellent tools to add life to 3D characters, but even the Cinema 4D Prime version offers wide-ranging functionality for character animation.

C4D 提供了优秀的工具,添加生活的3D 字符,但即使是C4D Prime 版本提供了广泛的功能性角色动画。

The description of these functionalities not included here are located here.

这里没有包括对这些功能的描述。

Use IK

使用 IK

Allows you to switch the new IK on and off globally for your scene.

允许您开关新的 IK 全球为您的场景。

Use Constraints

使用限制

Allows you to switch all Constraint tags on and off globally for your scene.

允许您全局切换您的场景的所有约束标记。

Use Symmetry

使用对称

Allows you to switch all symmetry options defined in the joint objects on and off globally for your scene.

允许您切换所有的对称选项定义在联合对象和关闭全局为您的场景。

Use Hair

使用毛发

This option lets you globally activate or deactivate hair. This applies to visibility in the editor window and rendering.

此选项允许您全局激活或禁用毛发。这适用于编辑器窗口中的可见性和渲染。