Ciencias Sociales
Animaciones
Tipos de datos en VRML
Eventos
Route
Sensores
Sensor de tiempo
Sensor de toque
Sensores de movimiento
PlaneSensor
SphereSensor
CylinderSensor
Interpoladores
Ing. Patricia Vigo
2
Ing. Patricia Vigo
3
Ing. Patricia Vigo
4
Ing. Patricia Vigo
5
Un evento es un mensaje que puedeser enviado por
un objeto y recibido por otro. Puede haber eventos
indicando que un nodo ha cambiado de posición, que
ha pasado de estar inactivo a activo, que ha pasado
una fracción de tiempo, etc.
Los navegadores tienen un reloj interno que va
marcando en tiempo real el paso del tiempo. Los
eventos se van produciendo y recibiendo en cada
intervalo de tiempo de reloj.
Ing. PatriciaVigo
6
Un objeto tiene eventos de salida: eventOut
Y también tiene eventos de entrada: eventIn
Para realizar una animación, el tipo del evento de
entrada debe ser igual al tipo de evento de salida.
Nodo TIMESENSOR
fraction_changed
route
Nodo ESFERA
set_transparency
Ing. Patricia Vigo
7
Se usa para indicar que un cierto eventOut se enlazacon un eventIn.
Un evento puede ser emitido o recibido por un
exposedField, que es un campo de entrada y salida.
Los objetos que se enlazan deben tener nombre
(usando DEF).
Ejemplo: supongamos que tenemos una esfera que
queremos que se ponga transparente conforme pasa el
tiempo, el código sería:
Ing. Patricia Vigo
8
Shape {
geometry Sphere {radius 2}
appearance Appearance {material DEF Apa Material {
diffuseColor .8 .51 .09
specularColor .92 .43 .01
ambientIntensity .117
shininess .4
}
}
}
DEF Tiempo TimeSensor {
startTime 0
cycleInterval 5
loop TRUE
}
ROUTE Tiempo.fraction_changed TO Apa.set_transparency
Ing. Patricia Vigo
9
Ing. Patricia Vigo
10
Es un reloj que genera sucesos con el paso del tiempo.
No tiene geometríani ubicación asociada a él.
Generan eventos mientras transcurre el tiempo.
Se usan para animaciones basadas en el tiempo.
Repite o no.
Sintaxis:
Ing. Patricia Vigo
11
Campos:
Enabled: que especifica la condición del sensor (activado
o desactivado)
StartTime: que especifica cuando el TimeSensor comienza
a generar sucesos. El valor de este campo es elnúmero de
segundos desde medianoche,1 de Enero de 1970
StopTime: que especifica cuando el TimeSensor para de
generar sucesos. El valor de este campo es el número de
segundos desde medianoche,1 de Enero de 1970
CycleInterval: especifica el número de segundos que el
TimeSensor generará los sucesos enlazados y especifica
cuando cycleInterval ha terminado si el TimeSensor debe
reempezar.
loop:Indica si el ciclo se repite o no.
Ing. Patricia Vigo
12
Ing. Patricia Vigo
13
Ing. Patricia Vigo
14
El nodo TouchSensor permite detectar cuando el
observador apunta a un objeto con el cursor y cuando
pulsamos el ratón.
Permite definir botones 3D.
Sintaxis:
Ejemplo: Ejemplo2_TouchSensor_CambiaPos
Ing. Patricia Vigo
15
DEF TUBE Transform {children [
Shape {
appearance Appearance {
material Material { }
}
geometry Cylinder {
height 1.0
radius 0.4
}
},
DEF SENSOR TouchSensor {}
]
}
DEF CLOCK TimeSensor {
enabled
FALSE
cycleInterval 2
loop
TRUE
}
DEF MOVER PositionInterpolator {
key [ 0, 0.5, 1 ]
keyValue [ 0 0.0 0,
0 0.4 0,
0 0.0 0 ]
}
ROUTE SENSOR.isOver
TO CLOCK.set_enabled
ROUTECLOCK.fraction_changed TO MOVER.set_fraction
ROUTE MOVER.value_changed TO TUBE.set_translation
Ing. Patricia Vigo
16
Estos sensores nos permiten incidir
traslaciones y rotaciones de objetos.
Hay 3 tipos de sensores de movimiento:
sobre
las
PlaneSensor: permite modificar la posición del objeto,
como si se moviera en un plano (XY)
CylinderSensor: permite modificar la...
Regístrate para leer el documento completo.