OrientationInterpolator
{
eventIn SFFloat
set_fraction
exposedField MFFloat
key []
exposedField MFRotation
keyValue []
eventOut SFRotation
value_changed
}
Węzeł OrientationInterpolator interpoluje między wartościami typu MFRotation określającymi dane dotyczące obrotu jakiegoś obiektu. Obrót obiektu definiujemy w polu key określając liczbę „momentów kluczowych animacji" czyli takich punktów, w których dany obiekt ma być obrócony o wartość określoną w polu keyValue. Węzeł korzystając z pól key i keyValue oblicza funkcję interpolacyjną obrotu obiektu. Liczba wartości w polu key i keyValue musi być identyczna.
Zdarzenia set_fraction
i value_changed
używane są do sterowania węzłem OrientationInterpolator.
Ich zastosowanie zobaczycie na przykładzie w punkcie "Tworzymy animację"
PositionInterpolator
{
eventIn SFFloat
set_fraction
exposedField MFFloat
key []
exposedField MFVec3f
keyValue []
eventOut SFVec3f
value_changed
}
Węzeł PositionInterpolator interpoluje między punktami zdefiniowanymi w przestrzeni trójwymiarowej. Liczba wartości w polu key i keyValue musi być identyczna. Zasady działania pól key, keyValue oraz zdarzeń jest identyczna jak w węźle OrientationInterpolator.
ScalarInterpolator
{
eventIn SFFloat
set_fraction
exposedField MFFloat
key []
exposedField MFFloat
keyValue []
eventOut SFFloat
value_changed
}
Węzeł ScalarInterpolator interpoluje między wartościami typu SFFloat. Można więc tego węzła używać do zmieniania wartości wszędzie tam gdzie występuje wartość SFFloat, a więc np: wysokości i średnice obiektów. Liczba wartości w polu key i keyValue musi być identyczna. Zasady działania pól key, keyValue oraz zdarzeń jest identyczna jak w węźle OrientationInterpolator.
CoordinateInterpolator
{
eventIn SFFloat
set_fraction
exposedField MFFloat
key []
exposedField MFVec3f
keyValue []
eventOut MFVec3f
value_changed
}
Węzeł CoordinateInterpolator interpoluje między wektorami typu MFVec3f. Każdej wartości w polu key musi odpowiadać X definicji wektorów w polu keyValue. X - musi być taką liczbą, której wynik dzielenia z ilością wartości w polu key da liczbę całkowitą.
CoordinateInterpolator
{
key [ 0.0, 0.5,
1.0]
keyValue [ 0
0 0, 10 10 30,
10 20 10, 40 50 50,
33 55 66, 44 55
65 ]
}
Pierwsze dwie współrzędne (0 0 0) i (10 10 30) reprezentują klucz 0.0,
dwie następne współrzędne reprezentują klucz 0.5 itd. X = 6, liczba wartości
w polu key
= 3, 6 / 3 = 2 - liczba całkowita.
ColorInterpolator
{
eventIn SFFloat
set_fraction
exposedField MFFloat
key []
exposedField MFColor
keyValue []
eventOut SFColor
value_changed
}
Węzeł ten interpoluje między wartościami typu MFColor. Ilość definicji kolorów w polu keyValue powinna odpowiadać ilości wartości w polu key - punktów zwrotnych animacji. Węzeł ten (jak i wszystkie węzły interpolacji) uruchamiany jest wraz z przyjęciem zdarzenia set_fraction.
NormalInterpolator
{
eventIn SFFloat
set_fraction
exposedField MFFloat
key []
exposedField MFVec3f
keyValue []
eventOut MFVec3f
value_changed
}
Węzeł NormalInterpolator
interpoluje między prostopadłymi (do określonej powierzchni) wektorami
typu MFVec3f.
Każdej wartości w polu key
musi odpowiadać X definicji wektorów w polu keyValue.
X - musi być taką liczbą, której wynik dzielenia z ilością wartości w polu
key da
liczbę całkowitą.
Można używać tego węzła do tworzenia ruchomych efektów cieniowania.
NormalInterpolator
{
key [ 0.0, 0.5,
1.0 ]
keyValue [
.1 .5 .2
.5 .4 .6
.8 .4 .3
.2 .7 .6
.2 .5 .6
.3 .4 .5
.8 .7 .3
.1 .2 .2
.1 .5 .8
.3 .4 .6
.1 .5 .8
.6 .2 .1
]
}
X = 12, liczba wartości w polu key = 3, 12 / 3 = 4 - liczba całkowita.