Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
logo
    3D Animationen mit POV-Ray
        Grundlagen und Beispiele zu Animationen.
English English English
Italiano Italiano
Français français
Home
- Animationen Galerie
- POV-Ray Tutorial

  3D Animation
  Inhaltsübersicht
  0. Grundlagen
     1. Beispiel
     2. Beispiel 2
     3. Bilder zu animierte Gif
     4. Von Bildern zum Video
     5. Grundbegriffe
  > 6. Animationsbefehle
  I. Zyklische Animationen
     1. Objekt-Rotation
     1.2. Planeten im Orbit
     1.3. Animierte Uhr
     2. Kamera-Rotation
     2.1. Kamera Geradeausflug
     3. Western-Kutschen
        -Problem
     3.1. Rollende Räder
     4. Zahnradgetriebe
     4.1. Rollende Kette
     4.2. Fahrradkette
     5. Pendelschwingung
     5.1. Newtonpendel
     5.2: Schaukelstuhl
     6. Federpendel
     7. Koppelstange
     7.1. Pleuelstange
     8. Psychedelic + Op-Art
     9. Zähler + Countdowns
    10. Faltung eines Würfels
  II. Nichtlineare Bewegungen
     1.0 Beschleunigung
          +Bremsen 1
     1.1 Beschleunigung
          + Bremsen 2
     2. Fallen + Hüpfen
     3. Beschleunigung nach
          physikalischen Formeln
     4. Geschwindigkeitssteuerung
          mit Spline-Funktionen
  III. Animationspfade
      mit Spline-Kurven
     1. Spline-Kurven
     2. Geschlossene Splines
     3. Animationspfade
                                                     

Animationsbefehle

für POV-Ray Szenen-Dateien und Animations-ini-Dateien.

Befehle für die Animation-ini-Dateien:

Grundsätzliche Animationsbefehle:
Man benutzt ";" anstatt "//" für Kommentarzeilen in POV-Ray ini-Dateien!

Input_File_Name="sphere.pov"
      ; The name of the POV-Ray file to render.
Initial_Frame=1       ; Start mit frame_number 1
Final_Frame=10     ; Ende mit frame_number 10
Initial_Clock=0       ; Start mit clock-Wert 0
Final_Clock=1        ; Ende mit clock-Wert 1 !

Cyclic_Animation=On        ; "On" oder "Off"
Dies ist sehr nützlich bei zyklischen Animationen wie z.B.
dem Drehen eines Objekts um 360 Grad:
Es bewirkt dass der clock-Unterschied 1 bei einer
Frame-Anzahl von 10 in z.B. 10 Abschritte unterteilt wird
ein Rendern mit den clock-Werten
clock = 0.0, 0.1, 0.2, ..... , 0.8, 0.9, aber nicht mit 1.0!
Dadurch wird sich mit rotate<0,clock*360,0> ein Objekt
um 0, 36, 72, 108, 144, 180, 216, 252, 288, 324 Grad drehen,
aber nicht um 360 Grad, denn dies wäre dasselbe wie der erste Frame!

Antialiasing Befehle:
Antialias=On ; Schalten Sie dies für Tests komplexer Szenen aus!
Antialias_Threshold=0.3
Antialias_Depth=3 Kurze Erläuterung:
Antialiasing ist eine Methode mit der man das treppige Aussehen schräger Linien, das unterbrochene Aussehen dünner Linien und Moiré-Muster durch Interferenzen stark reduzieren kann indem man zum Berechnen einer Pixelfarbe einen Mittelwert mehrerer Teststrahlen verwendet. "Antialias_Depth=3" bedeutet POV-Ray benutzt ein 3x3 Raster für ein Pixel aber das bedeutet auch, dass es 3x3 = 9 mal mehr zu berechnen gibt! "Antialias_Threshold=0.3" bedeutet das Antialiasing beginnt (wenn "Antialias=On" gesetzt ist) nur wenn die Differenz zweier Pixel größer als 0.3 ist.

Zusätzliche Animationsbefehle:

Befehle für partielles Rendern:
Subset_Start_Frame=11
Subset_End_Frame=27

Damit kann man auch nur Teile einer Animation rendern ohne clock oder die Framerate zu ändern.
Frame_Step=3
Damit kann man auch nur jeder 3. Frame gerendert werden (default = 1).

Befehle zur Gamma-Korrektur:
Neu bei POV-Ray Version 3.7 !
Display_Gamma=1.5 ;verwendet ein Display-Gamma von 1.5
File_Gamma=1.5 ;wendet Gamma für die Bilddatei an.

"sphere.ini"
; POV-Ray animation ini file
Antialias=Off
Antialias_Threshold=0.1
Antialias_Depth=2

Input_File_Name=sphere1.pov

Initial_Frame=1
Final_Frame=30
Initial_Clock=0
Final_Clock=1

Cyclic_Animation=on
Pause_when_Done=off
Grundsätzliche Animationbefehle







"sphere.ini" - erweitert
; Persistence Of Vision raytracer
; version 3.6/3.7
; animation ini example file.

;Display_Gamma=1.5
;File_Gamma=1.5   ; only in version 3.7

Antialias=Off
Antialias_Threshold=0.3
Antialias_Depth=3

Input_File_Name=animation2.pov

Initial_Frame=1
Final_Frame=30
Initial_Clock=0
Final_Clock=1

;Subset_Start_Frame=11
;Subset_End_Frame=30

Cyclic_Animation=on
Pause_when_Done=off

Zusätzliche Animationbefehle


Animations-Werte für den Gebrauch
in POV-Ray-Szenendateien.

Die folgenden Animations-Werte kann man in POV-Ray-Szenendateien (.pov) verwenden um damit den Ablauf des Animationsverlufes zu steuern.
(Achtung: Diese Werte werden aus den gesetzten Animationsoptionen in der ini-Datei gelesen. Man kann die Werte dieser Variablen nicht in .pov-Dateien neu deklarieren!)

Werte für clock-basierende Animationen:
clock     der aktuelle "clock"-Wert
initial_clock     ; der Startwert von "clock"
final_clock       ; der Endwert von"clock"
(Der tatsächlich noch gerenderte Endwert hängt von "Cyclic_Animation=On/Off" ab!)

Der "clock"-Wert ist die komfortabelste Art eine Animation unabhängig von der verwendeten gesamten Anzahl der Frames zu steuern. Wir können dadurch Animationen mit einer kleinen Anzahl von Frames testen. z.B. initial_frame = 1 , final_frame = 20 und die Anzahl der Frames später so hoch setzen wie benötigt. Das Erhöhen der Frame-Gesamtzahl reduziert die Geschwindigkeit einer Animation, die Reduktion beschleunigt eine Animation.

Werte für frame_number-basierende Animationen:
frame_number ; Die Nummer des aktuell gerenderten Frames!
Dies ist nützlich, wenn wir eine bestimmte Anzahl von Einzelbildern in festen Schritten rendern wollen. z.B. bei einem LCD-Zähler oder bei Frame-für-Frame bereits animierten Elementen die von anderen 3D-Programmen wie Poser importiert werden.
initial_frame    ; Die Nummer des ersten Frames
final_frame    ; Die Nummer des letzten Frames
clock_delta   ; liefert den Betrag der "Zeit" zwischen den "clock"-Werten einer Animation in POV-Ray.
clock_on    ; mit diesem booleschen Wert kann man den Status von "clock" überprüfen: 1 ist an, 0 ist aus.

sphere { <0,0,0>, 0.15
         pigment{ color rgb<1,0,0>}
         translate<1,0,0>
         rotate<0,360*(clock+0.00),0>
       }  // end of sphere ---------
Beispiel Rotation mit clock

sphere { <0,0,0>, 0.15
         pigment{ color rgb<1,0,0>}
         translate<-1+3*clock,00>
       }  // end of sphere ----------
Beispiel Translation mit clock
text { ttf "arial.ttf",
       str(frame_number,0,0),0.1,0
     pigment{ color rgb<1,1,1> }
     scale<1,2,1>*0.5
     translate<-2.4,0.25,0.3>
   } // end of text object ----------
Beispiel für animiertes Objekt mittels frame_number
top

© Friedrich A. Lohmüller, 2013
http://www.f-lohmueller.de