Zum Inhalt springen

Blender Dokumentation: Modifier animieren

Aus Wikibooks


Diese Seite bezieht sich auf Blender v2.48a

Es ist im Moment leider nicht möglich, die Parameter der Modifier direkt zu animieren. Sie können zwar bspw. in verschiedenen Modifiern Objekte eintragen deren Koordinaten für bestimmte Operationen verwendet werden (z.B. im Array-Modifier), andere Parameter (z.B. der Factor im Simple Deform-Modifier) lassen sich aber nicht animieren. Dazu wird noch ein Python-Skript benötigt. Ein solches Skript und seine Anwendung werden auf dieser Seite gezeigt (meinen besonderen Dank an Pat aus dem Blendpolis-Forum).

Animation des Cast-Modifiers mit Python

[Bearbeiten]

Das gezeigte Python-Skript animiert den Parameter Factor des Cast-Modifiers. Der Cast-Modifier muss den Namen Cast tragen. Gesteuert wird der Faktor über die Z-Koordinate eines weiteren Objektes, hier eines Emptys. Dabei wird nur die Bewegung zwischen 0 und 1 ausgewertet.

Das Empty benötigt einen Script-Link. Sie können wählen, ob das Skript bei einem Redraw ausgewertet werden soll (also bei jeder Bewegung im 3D-Fenster), oder bei einem Frame-Wechsel (FrameChange) innerhalb einer Animation.

  • Fügen Sie eine Sphere und ein Empty ein.
  • Speichern Sie das Skript in einer Text-Datei mit der Endung .py auf der Festplatte, z.B. CastFactor.py.
  • Öffnen Sie in Blender ein Text Editor-Fenster und laden die Datei in den Text-Editor. Die Namen der Objekte (hier Empty und Sphere) müssen bei Bedarf angepasst werden.
from Blender import Object, Modifier 

# ob1 ist das kontrollierende Objekt
# ob2 ist das Objekt, welches den Modifier traegt
ob1 = Object.Get('Empty')
ob2 = Object.Get('Sphere')

# Die Z-Position des kontrollierenden Objektes bestimmt 
# den Factor des Modifiers
modfac = ob1.getLocation()[2]

# Der Faktor wird auf den Bereich 0.0 bis 1.0 begrenzt
if modfac > 1.0: modfac = 1.0
if modfac < 0.0: modfac = 0.0

# Der Modifier fuer ob2 muss den Namen 'Cast' tragen
modifs = ob2.modifiers
for mod in modifs:
	if mod.name == 'Cast': cast = mod

cast[Modifier.Settings.FACTOR] = modfac

# Die Anzeige wird aktualisiert
ob2.makeDisplayList()

Abbildung 1: Das Scriptlinks-Panel in den Script-Buttons.
  • Wählen Sie das Empty aus.
  • Wechseln Sie in die Script-Buttons. Auf dem Scriptlinks-Button klicken Sie neben Selected Script Link auf New, und wählen aus der erscheinenden Dropdown-Box das Pythonskript aus. Als Event-Typ wählen Sie Redraw (Abb. 1).
  • Fügen Sie zur Sphere einen Cast-Modifier vom Typ Cuboid hinzu. Der Cast-Modifier muss Cast heißen. Damit es schöner aussieht, kann man noch einen Subsurf-Modifier oberhalb des Cast-Modifiers einfügen, und darunter einen Smooth-Modifier.

Wenn Sie nun das Empty entlang der Z-Achse im Bereich von 0 bis 1 bewegen, sollte sich die Sphere bereits verformen.




Animierbare Parameter

[Bearbeiten]

Alle mit Python animierbaren Parameter finden Sie in der Python-Referenz. Für Version 2.48 finden Sie diese auf der Seite:

http://www.blender.org/documentation/248PythonDoc/Modifier-module.html

Es kommen jede Version weitere Parameter hinzu, so dass Sie jeweils die für ihre aktuelle Blenderversion geltende Seite aufsuchen sollten.

[Bearbeiten]


<<<Zurück

Wave-Modifier

Inhaltsverzeichnis
Glossar