Undo Buffer

撤销缓冲区

Some functions, such as Save, are not recorded in the undo buffer and subsequently cannot be undone. 有些函数(如“保存”)没有记录在撤消缓冲区中,因此无法撤消

Cinema 4D’s multiple undo enables you to undo up to as many changes as RAM permits. The maximum number of undos is defined by the Undo Depth on the Document page of the preferences — the default value is 10.

C4D 的多重撤销允许你撤销多达 RAM 允许的更改。Undos 的最大数量由首选项的 Document 页面上的 Undo Depth 定义ー默认值为10。

Cinema 4D differentiates between memory-intensive actions and non-memory-intensive actions. Examples of memory-intensive actions include deleting an object and moving an object’s points. Non-memory-intensive actions include selecting and renaming objects. Non-memory-intensive actions can be recalled 10 times more than the Undo Depth value in the preferences. For example, with Undo Depth set to 12, you can undo 12 delete object actions or 120 select object actions. You can also mix both types of action, e.g., you can undo 6 delete object actions and 60 select object actions.

C4D 区分了记忆密集型动作和非记忆密集型动作。内存密集型操作的示例包括删除对象和移动对象的点。非内存密集型操作包括选择和重命名对象。非内存密集型操作可以被回忆的次数是首选项中的撤销深度值的10倍。例如,撤销深度设置为12,您可以撤销12个删除对象操作或120个选择对象操作。你也可以混合这两种类型的操作,例如,你可以撤消6个删除对象操作和60个选择对象操作。

When you perform an action in Cinema 4D, information about that action is written to an area of memory called the undo buffer. The Undo and Redo functions use the information in the undo buffer to undo changes.

当你在C4D 中执行一个动作时,有关该动作的信息被写入一个叫做撤销缓冲区的内存区域。撤消和恢复函数使用撤消缓冲区中的信息撤消更改。

Example

例子

You create an object and change its scale to (400/400/400) units. You move the object to coordinates (100/-300/0).

创建一个对象并将其缩放比例更改为(400/400/400)单位,将该对象移动到坐标(100/-300/0)。

At this point, the undo buffer contain the following action history:

此时,撤销缓冲区包含以下操作历史记录:

- 1. Create object at position (0/0/0).

- 1. 在位置创建对象(0/0/0)。

- 2. Scale object to (400/400/400) units.

- 将物件缩小至(400/400/400)单位。

- 3. Move object to position (100/–300/0).

- 3. 移动物体到位置(100/-300/0)。

The buffer’s current state is step 3, the move action. If you use the Undo function, Cinema 4D undoes the current state (move) then sets the current state to step 2 (scale).

缓冲区的当前状态是步骤3,移动操作。如果使用撤销功能,Cinema 4D 将撤销当前状态(move) ,然后将当前状态设置为步骤2(缩放)。

If you use the Undo function again, the scale action is undone and the current state is set to step 1 (create).

如果再次使用 Undo 函数,则缩放操作将撤消,并将当前状态设置为步骤1(创建)。

Throughout the process, the buffer content itself is not altered — nothing is deleted. This enables you to restore the changes with the Redo command. Use Undo to move backwards through the undo buffer (i.e. the changes) and Redo to advance through the buffer.

在整个过程中,缓冲区内容本身没有改变ーー没有任何内容被删除。这使您能够使用 Redo 命令还原更改。使用撤销通过撤销缓冲区向后移动(即更改) ,使用恢复通过缓冲区向前移动。

Although nothing is deleted from the buffer, the buffer’s size must be prevented from taking up too much memory. This is the purpose of Undo Depth in the preferences — it specifies the maximum number of actions that can be undone.

尽管没有从缓冲区中删除任何内容,但必须防止缓冲区的大小占用太多内存。这就是首选项中“撤销深度”的目的ーー它指定可撤销的最大操作数。

Undo

撤销

Undoes the last change, restoring the scene to its previous state. For example, if you accidentally move an object, choose Undo to restore the object to its correct position. Choose Undo repeatedly to undo the previous changes one by one. By default, you can undo a maximum of 10 changes. The maximum number of changes that can be undone is defined by Undo Depth in the preferences (Document page). Note that the Undo command from the menu of a viewport undoes changes to the editor camera. You can undo a maximum of 500 editor camera changes.

撤消最后的更改,将场景恢复到以前的状态。例如,如果不小心移动了一个对象,请选择“撤销”以将该对象恢复到正确的位置。重复选择“撤消”以逐个撤消以前的更改。默认情况下,最多可以撤消10个更改。可撤消的最大更改数由首选项中的“撤消深度”(“文档”页)定义。注意,viewport 菜单中的 Undo 命令撤销对编辑器相机的更改。您可以撤消最多500个编辑器相机更改。

Redo

重做

Redo redoes a change. Select Redo repeatedly to continue restoring the changes. You can traverse the recent development stages of your scene by using Undo to move backwards and Redo to move forwards. Naturally, the number of steps you can redo cannot be greater than the number of actions you have undone. Therefore, there is no separate setting for the redo depth in the preferences. In a viewport, Redo View redoes changes to the editor camera only. You can redo a maximum of 500 editor camera changes.

重做重做一个更改。重复选择 Redo 以继续还原更改。您可以通过使用撤销向后移动和重做向前移动来遍历场景的最近开发阶段。当然,可以重做的步骤数不能大于已经撤消的操作数。因此,首选项中没有单独的重做深度设置。在视口中,重做视图仅重做编辑器相机的更改。您可以重做最多500个编辑器相机更改。

Undo (Action)

撤销(操作)

This function differs from the conventional Undo command in that it ignores selection actions. Undo (Action) undoes the last change that did not involve selection. This function only affects normal, undoable actions (such as moving). Selections are no longer affected by undo actions.

这个函数不同于传统的撤销命令,因为它忽略了选择操作。撤消(操作)撤消上次未涉及选择的更改。此函数只影响正常的、可撤销的操作(如移动)。选择不再受撤销操作的影响。

Why does the command ignore selection actions? Suppose you have scaled an object and used ten selection actions to select points in various locations. You then decide that the object is too large and want to restore it to its original size. This would require you to call the conventional Undo command 11 times, to undo the 10 selection actions and then finally the scale action. However, if you use Undo (Action), it skips over the selection actions and undoes the scale action immediately.

为什么命令忽略选择操作?假设您已经缩放了一个对象,并使用了十个选择操作来选择不同位置的点。然后,您决定该对象太大,并希望将其恢复到原来的大小。这需要你调用传统的撤销命令11次,撤销10个选择动作,然后是缩放动作。但是,如果您使用撤销(操作) ,它会跳过选择操作并立即撤销缩放操作。

Let’s explore a couple of examples; in these example, A stands for a normal action such as moving an object and S stands for a selection action such as selecting edges.

让我们来看几个例子; 在这些例子中,a 代表一个正常的动作,比如移动一个物体,s 代表一个选择动作,比如选择边缘。

Example

例子

You have been editing for a while. The undo buffer contains the following track:

您已经编辑了一段时间。撤销缓冲区包含以下音轨:

A S A S A A A S S S S A s a a a a s s s s
i.e., the buffer starts with a normal action, followed by a selection action, followed by a normal action, and so on. There are four consecutive selection actions at the end of the buffer. The final, most-recent, selection action is right-most and represents the current state of the undo buffer. If we call the normal undo function, the resulting buffer is: 也就是说,缓冲区以一个正常的操作开始,然后是一个选择操作,接着是一个正常的操作,依此类推。在缓冲区的末尾有四个连续的选择动作。最后的、最近的选择操作是最右边的,表示撤消缓冲区的当前状态。如果我们调用普通的 undo 函数,生成的缓冲区是: A S A S A A A S S S A s a a a a s s s
Only the final selection has been removed — there are still three selection actions at the end of the buffer. However, if we use the Undo (Action) function instead of the normal undo we get: 只有最后的选择被删除了ーー在缓冲区的末尾仍然有三个选择动作。然而,如果我们使用撤销(操作)函数而不是常规的撤销,我们会得到: A S A S A A
The first normal action has been removed as well as all the selections that happened to be in front of it. 第一个正常的动作已经被移除,所有的选择发生在它的前面