User Tools

Site Tools


animation:placer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

animation:placer [2015/11/30 20:46]
freek angelegt
animation:placer [2016/04/09 22:14] (current)
freek
Line 1: Line 1:
 +====== Placer ======
 +
 +Der Placer ist eine Verallgemeinerung des [[animation:​nodes#​mover|Movers]] und des [[animation:​nodes#​rotator|Rotators]].
 +
 +
 +{{ :​story:​001_animation:​bn_792.png|}} ​
 +Er erlaubt es, das Placement als Funktion der Zeit mittels Expressions zu berechnen. ​
 +
 +In der Gruppe **Functions** werden die Terme für die Berechnung der Lageparameter hinterlegt.
 +Berechnet werden können die Koordinaten x,y,z der Position Placement.Base sowie der Drehwinkel arc (Placement.Rotation.Angle).
 +
 +Die Variable **time** ist normalisiert und läuft von 0 (Anfang der Animation) ​ bis 1 (Ende der Animation).
 +
 +Für die Termbildung stehen 8 Variablen zur Verfügung, die man als Anfangs- und Endwerte von Bewegungen nutzen könnte:
 +**arc0, arc1, x0, x1 ... z1**.
 +Mit diesen Parametern und der time-Variablen sind Terme in Python Syntax möglich.
 +
 +Eine Drehbewegung von Winkel arc0 nach Winkel arc1 bekommt man mit: arc0 + (arc1-arc0)*time ​
 +
 +Auf die Placement-Werte eines anderen Körpers kann man zugreifen, wenn man diesen in den Parameter src steckt.
 +Sie sind über mit den Variablen **sx, sy, sz** für die Placement.Base,​ **srx, sry, srz** für die Drehachse und **sarc** für den Drehwinkel abrufbar.
 +
 +Beispiele
 +
 +Den src-Objekt folgen:
 +
 +<​code>​
 +x: sx -10
 +y: sy -10
 +z: sz -10
 +</​code>​
 +
 +Entgegengesetzt halb so schnell drehen
 +
 +<​code>​
 +arc: -0.5*sarc
 +</​code>​
 +
 +Die Richtung der Drehachse und Lage des Drehzentrums werden mit den Parametern **Rot Axis** und **RotCenter** eingestellt.
 +
 +In der Gruppe **Results** kann man das berechnete Placement weiter nutzen. Wenn ein **target** eingetragen ist, wird dessen Placement auf den Wert gesetzt.
 +
 +Es geht beliebig kompliziert. ​
 +
 +//"​-math.asin(math.sin(math.acos(100.0/​120)*(2*time))*100/​math.sqrt(100^2 + 120^2 -2*100*120*math.cos( math.acos(100.0/​120)*(2*time))))*180/​math.pi if time<0.5 else -(180-math.asin(math.cos( math.acos( 100.0/​120)*(2*time))/​100.0*120) *180/​math.pi - (math.acos(100.0/​120) * (2*time)) * 180/​math.pi)"​ //
 +
 +ist die Formel für die Animation in diesem Video.
 +
 +
 +{{youtube>​small:​hyVJJL2eFn0}}
 +
 +[[animation:​placer:​engl]]
 +
 + 
  
animation/placer.txt · Last modified: 2016/04/09 22:14 by freek