Możemy również animować pozycję i obrót kamery (czyli węzeł Viewpoint) tworząc animacje czy nawet całe filmy.
Jak to zrobić? Przyjrzyjcie się jeszcze raz przykładowi anim2.wrl.
Dodajmy teraz definicję węzła Viewpoint w tym samym węźle grupującym co definicję ruchomego stożka.
...
DEF Ruchomy Transform {
translation 5 0 0
children [
Viewpoint { position 0 0 5
description "Podroz ze stozkiem"}
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Cone { }
}
]
}
...
Zobaczmy na efekt.
Kolejne węzły Viewpoint mogą być uaktywniane wskutek działania użytkownika pobudzającego do działania czujniki zdefiniowane na scenie. Na przykład Węzeł ProximitySensor możemy zastosować gdy użytkownik zbliża się do ruchomego chodnika, węzeł TouchSensor w windzie, gdy użytkownik wybiera piętro, na które chce jechać.
Bardzo ważną rzeczą jest aby przy tego rodzaju "punktów patrzenia" zawierały one w swojej definicji pole jump o wartości FALSE. Tylko wtedy będziemy się mogli zabrać razem z chodnikiem czy pojechać windą. Poniższy przykład prezentuje skrzyżowanie powyższych propozycji. Używa węzła ProximitySensor do uruchomienia prostej windy.
...
DEF Winda Transform {
translation
0 0.5 -10
children [
Shape { appearance Appearance { material Material {
diffuseColor 0 0 1 }}
geometry Box { size 4 0.1 4 }
}
DEF WindaProx ProximitySensor { size 3 10 3 }
DEF WindaView Viewpoint { jump FALSE }
]
}
DEF Czas TimeSensor {loop
FALSE
cycleInterval 10}
DEF WindaTrasa PositionInterpolator
{
key [ 0, 0.5, 1]
keyValue [ 0 0.5 -10, 0 20 -10, 0 0.5 -10 ]
}
ROUTE WindaProx.enterTime
TO Czas.startTime
ROUTE Czas.fraction_changed
TO WindaTrasa.set_fraction
ROUTE WindaTrasa.value_changed
TO Winda.set_translation
ROUTE WindaProx.isActive
TO WindaView.set_bind
Kolejnym bardzo dobrym zastosowaniem VRML jest tworzenie małych animacji, reklam zastępujących animowane GIF-y, lub nawet całych filmów. Rozmiar plików VRML zawierających animację jest znikomy w porównaniu z przytoczonymi animowanymi GIF-ami. Przykładem takiej małej animacji może być świat(ek) znajdujący się na stronie wstępu informujący o możliwości ściągnięcia niniejszego kursu w ZIP-ie. Plik offline.wrl zajmuje jedynie 2 KB!!!
Poniżej zobaczycie przykład półtoraminutowego filmiku (11 KB !!!) o ucieczce pwnego avatara z Ziemi ku jego ojczystej planecie. Rozsiądźcie się w fotelach, zgaście światło...