Der Undo-Puffer
Über alles, was Sie in CINEMA 4D tun, zu jeder Funktion, die Sie aufrufen, wird Protokoll geführt. Entsprechende Informationen werden in einen Speicherbereich - der sogenannte Undo-Puffer - geschrieben, der von den Funktionen Rückgängig (Undo) und Wiederherstellen (Redo) durchwandert werden kann, um wieder an einen bereits vergangenen Bearbeitungszeitpunkt zurückkehren zu können. Dieser Speicherbereich wird anschaulich im Undo-Verlauf (s.u.)dargestellt.
Die Anzahl der zurücknehmbaren Schritte stellen Sie bei Undo-Schritte ein.
CINEMA 4D unterscheidet zwischen speicherintensiven Aktionen (wie z.B. Objekt löschen oder Punkte verschieben) und nicht-speicherintensiven Aktionen (wie z.B. Objekt aktivieren, Material wechseln). Letztere können daher 30mal so oft aufgerufen werden, wie in den Programm-Voreinstellungen eingestellt.
Haben Sie die Undo-Schritte z.B. auf Zwölf eingestellt, können Sie damit z.B. entweder zwölf Objekte-löschen-Aktionen in den Undo-Puffer aufnehmen oder 120 Objekte-aktivieren-Aktionen. Natürlich sind auch beliebige Kombinationen möglich (z.B. sechsmal Objekte löschen plus 60 Objekte selektieren).
Beispiel:
Sie erzeugen einen Würfel auf der Position 0, 0, 0, drehen ihn anschließend auf 0, 45, 0 und verschieben ihn danach auf die Koordinaten 100, 0, 0. Nach der dritten Aktion, dem Verschieben, sieht der Undo-Puffer (vereinfacht) wie folgt aus:
- Erzeuge Objekt in Position 0, 0, 0.
- Drehe Objekt auf 0, 45, 0.
- Verschiebe Objekt nach Position 100, 0, 0.
Die aktuelle Position im Puffer befindet sich an Stelle 3, dem Verschieben. Wenn Sie jetzt Rückgängig aufrufen, sieht CINEMA 4D nach, was sich eine Stelle vorher befindet, nimmt die derzeit aktuelle Aktion (das Verschieben) zurück und setzt eine neue aktuelle Position auf das Drehen.
Genauso verfährt das Undo, wenn es nun noch einmal aufgerufen wird. Es setzt sich dann auf die erste Position, das Erzeugen. Die Drehung wird ungeschehen gemacht.
Der Clou ist, dass nach einem Undo der Puffer zunächst nicht verändert wird. Die Aktion Verschieben existiert nach wie vor und kann mit Wiederherstellen erneut angesprungen werden.
Sie bewegen sich also im Undo-Puffer mit der Funktion Rückgängig rückwärts, mit Wiederherstellen vorwärts.
Der Puffer wird dynamisch angelegt, d.h. es wird eigentlich nichts daraus gelöscht, sondern immer nur dazugenommen. Sie können sich vorstellen, dass man das nicht uferlos treiben sollte (Funktionen wie z.B. das Unterteilen führen sehr schnell zu sehr großen Objekten, die zusätzlich zum Szenen-Speicher auch im Undo-Puffer mitgeführt werden). Wir haben aus diesem Grund der Größe des Puffers eine Grenze gesetzt. In den Programm-Voreinstellungen können Sie festlegen, wie viele Aktionen im Undo-Puffer protokolliert werden (s. Undo-Schritte).
Mit dieser Funktion wird die letzte Änderung an der Szene rückgängig gemacht. Wenn Sie die Funktion mehrmals hintereinander anwenden, wird eine Änderung nach der anderen wieder zurückgenommen.
Haben Sie mit Rückgängig einen Bearbeitungsschritt zuviel zurückgenommen, können Sie mit dieser Funktion veranlassen, dass der rückgängig gemachte Arbeitsschritt wieder automatisch für Sie durchgeführt wird.
Die Anzahl der wiederherstellbaren Schritte entspricht der der zurücknehmbaren (siehe oben) und wird daher nicht separat eingestellt.
Diese Funktion unterscheidet sich vom zuvor besprochenen Rückgängig machen. Sie wirkt sich ausschließlich auf normale, zurücknehmbare Aktionen (wie z.B. das Verschieben) aus. Selektionen werden bei den Undo-Schritten nicht mehr berücksichtigt.
Stellen Sie sich vor, Sie haben ein Objekt zunächst vergrößert und anschließend an zehn verschiedenen Stellen Punkte selektiert. Hierzu mussten Sie 10mal das Selektions-Werkzeug ansetzen. Nun wollen Sie das Skalieren rückgängig machen. Mit dem normalen Undo müssten Sie die Funktion nun 11mal aufrufen (10 Selektionen plus 1 Skalieren). Benutzen Sie stattdessen die Funktion Rückgängig (Aktion), und alles das wird automatisiert.
Genau gesagt, passiert folgendes:
- Zunächst wird registriert, ob eine zurücknehmbare Selektion im Puffer liegt.
- Wird eine (oder mehrere aufeinanderfolgende) gefunden, springt die Funktion bis zum vor dieser Selektion gelegenen Bearbeitungsschritt zurück.
Weil das etwas komplizierter klingt, als es in Wirklichkeit ist, will ich das an zwei einfachen Beispielen deutlicher machen:
Es sei A eine normale, zurücknehmbare Aktion (wie z.B. das Verschieben) und S eine zurücknehmbare Selektion. Wir betrachten nun verschiedene Zustände im Undo-Puffer.
Beispiel 1:
Sie haben eine Weile vor sich hingearbeitet. Im Puffer befindet sich nun folgende Reihe von Aktionen bzw. Selektionen:
A S A S A A A S S S S
Zunächst wurde bearbeitet, dann selektiert, erneut bearbeitet usw. Am Ende erfolgten vier aufeinanderfolgende Selektionen, rechts die letzte (also der Jetzt-Zustand).
Führen Sie nun ein "normales" Undo aus, sieht der Puffer anschließend so aus:
A S A S A A A S S S
Es liegen also noch drei abschließende Selektionen am Ende des Puffers, eine wurde zurückgenommen.
Rufen Sie aber stattdessen Rückgängig (nur Aktion) auf, erhalten Sie folgenden aktuellen Puffer:
A S A S A A
Es wurden alle vier zuletzt ausgeführten Selektionen zurückgenommen sowie der letzte davor befindliche Bearbeitungsschritt.
Undo-Verlauf
War es bisher möglich, mit Rückgängig und Wiederherstellen immer nur einen Schritt nach dem anderen zurück bzw. nach vorne zu tun, so listet der Undo-Verlauf - zu finden im Bearbeiten-Menü - nun die letzten Schritte auf und Sie können sehr zielgerichtet zum richtigen Schritt springen. Die Anzahl der gelisteten Einträge orientiert sich an Undo-Schritte.
Bei Undo-Verläufen stehen die letzten Änderungen immer oben und die ältesten unten.
Beispiel
Sie sehen linker Hand einen kleinen Arbeitsablauf:
- Ein Würfel wurde erzeugt, skaliert, dupliziert, beiden ein Rigid Body Tag gegeben, dann eine Feder erzeugt und beide Würfel darin verknüpft.
- Um jetzt die Erzeugung der Feder zurückzunehmen, klicken Sie auf “Rückgängig Erzeugen Feder”. Der aktuelle Szenenzustand wird jetzt im der Undo-Verlauf mit einem dezenten Trenner - oben rot markiert - angezeigt.
- Wenn Sie nun z.B. eine Kugel erzeugen, wird der “spätere” Verlauf gelöscht. Am Trennstrich wird die Liste mit den nachfolgenden Aktionen ergänzt.
Anderes Wissenswerte bzgl. des Undo-Verlaufs
- der Undo-Verlauf listet sowohl Szenenänderungen (s. Rückgängig), als auch Aktionen (s. Rückgängig (Aktion)). Außerdem wird nicht zwischen speicherintensiven und nicht-speicherintensiven Aktionen - wie oben beschrieben - unterschieden.
- Ansichtsänderungen jeglicher Art werden nicht berücksichtigt.