6.5.3
- OrientationInterpolator
OrientationInterpolator
- nó que controla a orientação em função
de uma fração do tempo, permitindo que sejam aplicadas
rotações. Sua sintaxe é:
OrientationInterpolator
{
......set_fraction
......key []
......keyValue []
......value_changed
}
key []
- lista de tempos fracionais
chave
keyValue
[] - lista de rotações chave - cada uma composta por X,Y,Z e um ângulo
de rotação.
Exemplo 50: Animação 3
#VRML V2.0 utf8
DEF ES Transform {
translation -2 0 0
children Shape {
appearance Appearance {
material Material{
diffuseColor 0 0 1
}
}
geometry Box {
size 1 1 1
}
}
}
DEF PI PositionInterpolator {
key [ 0 .5 1 ]
keyValue [ -2 0 0, 2 0 0, -2 0 0 ]
}
DEF OI OrientationInterpolator {
key [0 .5 1]
keyValue [0 0 1 0, 0 0 1 -3.14, 0 0 1 0]
}
DEF TS TimeSensor {
# loop TRUE
cycleInterval 5
}
DEF Touch TouchSensor {}
ROUTE Touch.touchTime TO TS.startTime
ROUTE TS.fraction_changed TO PI.set_fraction
ROUTE PI.value_changed TO ES.translation
ROUTE TS.fraction_changed TO OI.set_fraction
ROUTE OI.value_changed TO ES.rotation
6.5.4
- ColorInterpolator
ColorInterpolator
- nó que gera interpolação entre valores de cores RGB. Seu campo keyValue
terá valores do tipo [1 0 0, 0 1 0, 0 0 1].. Sua sintaxe é:
ColorInterpolator
{
......set_fraction
......key []
......keyValue []
......value_changed
}
Exemplo 51: Animação 4
#VRML V2.0 utf8
#color changer
#demonstrates how color interpolation works
Background {
skyColor 1 1 0
}
Shape {
appearance Appearance {
material DEF theColor Material {
diffuseColor 0 0 1
} # end material
} # end appearance
geometry Sphere {
radius 2
} # end geometry
} # end shape
DEF timer TimeSensor {
loop TRUE
cycleInterval 12
}
DEF colorChanger ColorInterpolator {
key[ 0 0.12 0.24 0.36 0.48 0.60 0.72 0.84 1 ] # end key
keyValue [ 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 1 ] # end keyValue
} # end colorChanger
ROUTE timer.fraction_changed TO colorChanger.set_fraction
ROUTE colorChanger.value_changed TO theColor.set_diffuseColor