media @ VU
x-ball-3.vr
x-ball-3.vr
(wrl
)
[ flux /
bitmanagement /
cortona /
octaga
]
bouncing ball (3)
ground
Transform {
children [
Transform {
translation 0 -10 0
children [
Shape {
geometry Box { size 10 0.2 10 }
appearance Appearance {
material DEF MATERIAL Material {
diffuseColor 1 0 0
}
}
}
]}
object
DEF OBJECT Transform {
scale 0.5 0.5 0.5
children [
Shape {
geometry Sphere { radius 1 }
appearance Appearance {
material DEF MATERIAL Material {
diffuseColor 1 0 0
}
}
}
] }
] }
sensor
DEF TIME TimeSensor { loop TRUE cycleInterval 5 } #<l++>
script
DEF SCRIPT Script {
directOutput TRUE
field SFTime tick 0
field SFNode object USE OBJECT
field SFNode material USE MATERIAL
field SFFloat position 0
field SFFloat color 0.5
field SFInt32 sign 1
field SFFloat speed 1
eventIn SFFloat set_fraction
url "javascript:
fraction
function set_fraction(value) {
if (tick == 0) {
tick = value;
position = 0;
color = 0.5;
}
while (tick < value) {
update(value);
tick = tick + 0.05;
}
tick = value;
}
update
function update(value) {
position += 0.01 * sign * speed;
color = value;
speed = speed * ( 1 - sign * 0.1);
object.translation.y = position;
material.diffuseColor = new SFColor(1,color,color);
if (speed < 0.1 ) sign = -1;
if (position < -9) { sign = 1; }
}
"
}#<l++>
routing
ROUTE TIME.fraction_changed TO SCRIPT.set_fraction
environment
DirectionalLight { direction 0 -1 -1 }
Viewpoint { position 0 0 30 }
Background { skyColor 0.2 0.2 0.4 }
(C) A. Eliëns
21/5/2007
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.