IT'S SIMPLE: doityourself -*-selfmade-*- avatar friend

koebi is made with some vrml code adding some vrmlscripts. at the moment his only function is to walk. implementations for future versions are:
o_adding different environments
o_nick with head
o_talk trough eliZA
o_walk in the rigth direction
o_control panel

 
 
     

what you need to work in vrml is a simple texteditor, a vrml2-plugin, your fingers and your brain - if you've got a computer. you can download code references wich you have to analyze in structural and grammatical ways. (its never bad to know javasript, then you could switch easily between languages, and vrmlscript has similar syntax).

another standard is the flatland-plugin available at http://www.flatland.com/download/ . koebi is still made in vrml because of the scripting aybilities.

   

vrmlRelated links
http://195.134.135.131/~maja/begin.html a powerfull overwiew
http://www.ldv.ei.tum.de/vrml/doc/tutorials.html an online tutorial
http://www.vrml.org/VRML2.0/FINAL/spec/index.html
The official VRML Spec
http://www.ldv.ei.tum.de/vrml/doc/tutorials.html tutorial list
http://www.vrml.ch/ swiss quality interactive example
http://users.neca.com/vmis/vrml2.htm
VRML2.0tutorial - mit java, c++, c, sonyplayer - explains structure
http://home.hiwaay.net/~crispen/vrmlworks/
VRMLworks

   

vrmlRelated links
http://195.134.135.131/~maja/begin.html a powerfull overwiew
http://www.ldv.ei.tum.de/vrml/doc/tutorials.html an online tutorial
http://www.vrml.org/VRML2.0/FINAL/spec/index.html
The official VRML Spec
http://www.ldv.ei.tum.de/vrml/doc/tutorials.html tutorial list
http://www.vrml.ch/ swiss quality interactive example
http://users.neca.com/vmis/vrml2.htm
VRML2.0tutorial - mit java, c++, c, sonyplayer - explains structure
http://home.hiwaay.net/~crispen/vrmlworks/
VRMLworks

   

the question is, if vrml and other 3dstandards really are helping us to make better relations between data and consumers. there are lots of games in 3d, under use of heavy applications, runnable on high-performed machines (as long as the megahertz-frequency amounts, there will be more heavy applications). but the navigation is more complex then in a simple htmlFile or something like database lists. games are used for fun and not to represent data tendences. the 3rd dimension on the screen needs a higher abstraction level then in real world (people are getting sick when they don't fell the movements they see).

   

first code of KOEBI

feel free to copy-paste...........................................................
#VRML V2.0 utf8
#
#tagged herol traub
#########################################


DEF koebi Transform
{
children
[
DEF direct Transform
{children[

DEF TOP Transform
{
children
[

##############################################

######################################
DEF BODY Transform
{
children
[
Transform
{
children Shape
{
appearance Appearance
{ material DEF shirtcolor Material
{
ambientIntensity 0.238636
diffuseColor 0.88 0.15 0.01
specularColor 0.19 0.03 0.03
emissiveColor 0 0 0
shininess 0.08
transparency 0
}
}
geometry Box
{
size 1.5 .6 .4
}
}
translation 0 -.5 0
}
DEF HEAD Transform
{center 0 -.38 0
children
[
Transform
{
children DEF head Shape
{
appearance Appearance
{
material DEF skincolor Material
{
ambientIntensity 0.217949
diffuseColor 0.78 0.78 0.78
specularColor 0.78 0.07 0
emissiveColor 0 0 0
shininess 0.03
transparency 0
}
}
geometry Box
{
size .4 .38 .3
}
}
}# end headklotz
Transform
{
center .1 0 0
children DEF rightear Shape
{
appearance Appearance
{ material USE skincolor
}
geometry Box
{
size .1 .1 .1
}
}
translation -.2 0 0
}# end rigthearklotz
Transform
{
center -.1 0 0
children DEF leftear Shape
{
appearance Appearance
{ material USE skincolor
}
geometry Box
{
size .1 .1 .1
}
}
translation .2 0 0
}# end leftearklotz
DEF rigtheye Transform
{
children Shape
{
appearance Appearance
{
material DEF eyecolor Material
{
ambientIntensity 0.5
diffuseColor 1.0 1.0 1.0
specularColor 0.7 0.7 0.7
shininess 0.4
}
}
geometry Box
{
size .1 .2 .2
}
}
translation -.1 .08 .15
}# end righteye
DEF lefteye Transform
{
children Shape
{
appearance Appearance
{ material USE eyecolor
}
geometry Box
{
size .1 .13 .1
}
}
translation .1 .02 .15
}# end lefteye
]
}#end HEAD
##############################leftarm##############
DEF leftarm Transform
{
children
[
DEF leftschulter Transform
{
children
[
Shape
{
appearance Appearance
{material USE skincolor}
geometry Box
{
size .3 .3 .3
}
}
DEF LEFTARM Transform
{ center 0 1 0
children
[
Shape
{
appearance Appearance
{material USE skincolor}
geometry Box
{
size .3 2 .3
}
}
DEF LEFTHAND Transform
{
children
[
Shape
{
appearance Appearance
{material USE skincolor}
geometry Box
{
size .5 .2 .3
}
}
DEF leftfinger1 Transform
{ center 0 .25 0
children Shape
{
appearance Appearance
{
material USE skincolor
}
geometry Box
{
size .15 .5 .2
}
}
translation .17 -.25 0
}# end leftfinger1

DEF leftfinger2 Transform
{ center 0 .3 0
children Shape
{
appearance Appearance
{
material USE skincolor
}
geometry Box
{
size .15 .6 .2
}
}
translation -.1 -.25 0
}# end leftfinger2####thump
DEF leftfinger3 Transform
{
children Shape
{
appearance Appearance
{
material USE skincolor
}
geometry Box
{
size .2 .2 .4
}
}
translation -.4 0 0
}# end leftfinger3
]
translation .1 -1 0
}# end LEFTHAND
]
translation .1 -.9 0
}#end LEFTARM
]
translation .85 -.38 0
}# end leftschultern
]
}#endleftarm
##################################rightarm##############
DEF rightarm Transform
{
children
[
DEF rightschulter Transform
{
children
[
Shape
{
appearance Appearance
{material USE skincolor}
geometry Box
{
size .3 .3 .3
}
}
DEF RIGHTARM Transform
{ center 0 1 0
children
[
Shape
{
appearance Appearance
{material USE skincolor}
geometry Box
{
size .3 2 .3
}
}
DEF RIGHTHAND Transform
{
children
[
Shape
{
appearance Appearance
{material USE skincolor}
geometry Box
{
size .5 .2 .3
}
}
DEF rightfinger1 Transform
{ center 0 .25 0
children Shape
{
appearance Appearance
{
material USE skincolor
}
geometry Box
{
size .15 .5 .2
}
}
translation .17 -.25 0
}# end rightfinger1

DEF rightfinger2 Transform
{ center 0 .3 0
children Shape
{
appearance Appearance
{
material USE skincolor
}
geometry Box
{
size .15 .6 .2
}
}
translation -.1 -.25 0
}# end rightfinger2####thump
DEF rightfinger3 Transform
{
children Shape
{
appearance Appearance
{
material USE skincolor
}
geometry Box
{
size .2 .2 .4
}
}
translation -.4 0 0
}# end rightfinger3
]
translation .1 -1 0
}# end RIGHTHAND
]
translation .1 -.9 0
}#end RIGHTTARM
]
translation -.85 -.38 0
}# end rightschultern
]
}# end rightarm

DEF SUPERLEG Transform
{children[
Shape
{
appearance Appearance
{
material DEF throwsercolor Material
{
ambientIntensity 0.030303
diffuseColor 0.17 0.18 0.33
specularColor 0.04 0.06 0.83
emissiveColor 0 0 0
shininess 0.04
transparency 0
}
}
geometry Box
{size 1.5 .4 .4}
}
############################################## legleft
DEF LEFTUPPERLEG Transform
{ center 0 .75 0
children
[
Shape
{
appearance Appearance
{material USE throwsercolor}
geometry Box
{
size .4 1.5 .4
}
}
DEF LEFTLEG Transform
{ center 0 .75 0
children
[
Shape
{
appearance Appearance
{material USE throwsercolor}
geometry Box
{
size .4 2 .4
}
}
DEF LEFTFOOT Transform
{
children
[
Shape
{
appearance Appearance
{material Material {
ambientIntensity 0.030303
diffuseColor 0.78 0.78 0.78
specularColor 0.78 0.07 0
emissiveColor 0 0 0
shininess 0.04
transparency 0}
}
geometry Box
{size .46 .2 .9}
}
]
translation 0 -1 .1
}# end LEFTFOOT
]
translation 0 -1.6 0
}#end LEFTLEG
]
translation .55 -.7 0
}# end LEFTUPPERLEG

############################################ legright
DEF RIGHTUPPERLEG Transform
{ center 0 .75 0
children
[
Shape
{
appearance Appearance
{material USE throwsercolor}
geometry Box
{
size .4 1.5 .4
}
}
DEF RIGHTLEG Transform
{ center 0 .75 0
children
[
Shape
{
appearance Appearance
{material USE throwsercolor}
geometry Box
{
size .4 2 .4
}
}
DEF RIGHTFOOT Transform
{
children
[
Shape
{
appearance Appearance
{material Material {
ambientIntensity 0.030303
diffuseColor 0.78 0.78 0.78
specularColor 0.78 0.07 0
emissiveColor 0 0 0
shininess 0.04
transparency 0}
}
geometry Box
{size .46 .2 .9}
}
]
translation 0 -1 .1
}# end RIGHTFOOT
]
translation 0 -1.6 0
}#end RIGHTTLEG
]
translation -.55 -.7 0
}# end RIGHTUPPERLEG
]translation 0 -1 0 }# end SUPERLEG

]
}#end BODY
]
}#end TOP

]}# end direction

]

}# end koebi


###############################################
DEF Clock TimeSensor {
cycleInterval 2.0
startTime 1.0
stopTime 0.0
loop TRUE
}
DEF Bouncer Script {
field SFFloat bounceHeight .3
field SFFloat actPos -50.0
eventIn SFFloat set_fraction
eventOut SFVec3f value_changed
eventOut SFRotation rot_changed
eventOut SFRotation rot_changedBack

eventOut SFRotation rot_changedDOWN
eventOut SFRotation rot_changedDOWNBack

eventOut SFRotation eye_rot_changed

field SFFloat actRot 0.0
eventOut SFRotation body_rot_changed

url "vrmlscript:
function set_fraction( frac, tm ) {
y = 4.0 * bounceHeight * frac * (1.0 - frac);
yDOWN = -2.0 * bounceHeight * frac * (1.0 - frac/2.0);

if(y > 0.2 && y < 0.25)
actPos = actPos+2;
value_changed[0] = 0.0; // X
value_changed[1] = 0.0; // Y
value_changed[2] = actPos; // Z

abst = -.10

rot_changed[0] = 1; // X
rot_changed[1] = 0; // Y
rot_changed[2] = 0; // Z
rot_changed[3] = y+abst; // rot

rot_changedBack[0] = 1; // X
rot_changedBack[1] = 0; // Y
rot_changedBack[2] = 0; // Z
rot_changedBack[3] = bounceHeight-y+abst; // rot

rot_changedDOWN[0] = 1; // X
rot_changedDOWN[1] = 0; // Y
rot_changedDOWN[2] = 0; // Z
rot_changedDOWN[3] = yDOWN+abst; // rot

rot_changedDOWNBack[0] = 1; // X
rot_changedDOWNBack[1] = 0; // Y
rot_changedDOWNBack[2] = 0; // Z
rot_changedDOWNBack[3] = bounceHeight-yDOWN+abst; // rot

eye_rot_changed[0] = y; // X
eye_rot_changed[1] = y; // Y
eye_rot_changed[2] = 0; // Z
eye_rot_changed[3] = -1*(y-.5)/2.0; // rot

if(actRot+.02 < Math.PI*2)
actRot = actRot+.02;
else
actRot = 0;
body_rot_changed[0] = 0;
body_rot_changed[1] = 1;
body_rot_changed[2] = 0;
body_rot_changed[3] = actRot;
}"
}

ROUTE Clock.fraction_changed TO Bouncer.set_fraction

ROUTE Bouncer.eye_rot_changed TO lefteye.set_rotation
ROUTE Bouncer.eye_rot_changed TO rigtheye.set_rotation


ROUTE Bouncer.rot_changedBack TO LEFTARM.set_rotation
ROUTE Bouncer.rot_changed TO RIGHTARM.set_rotation

ROUTE Bouncer.rot_changed TO leftfinger1.set_rotation
ROUTE Bouncer.rot_changed TO leftfinger2.set_rotation
ROUTE Bouncer.eye_rot_changed TO leftfinger3.set_rotation

ROUTE Bouncer.rot_changedBack TO rightfinger1.set_rotation
ROUTE Bouncer.rot_changedBack TO rightfinger2.set_rotation
ROUTE Bouncer.eye_rot_changed TO rightfinger3.set_rotation

ROUTE Bouncer.rot_changed TO LEFTUPPERLEG.set_rotation
ROUTE Bouncer.rot_changed TO LEFTLEG.set_rotation
ROUTE Bouncer.rot_changedBack TO LEFTFOOT.set_rotation


ROUTE Bouncer.rot_changedBack TO RIGHTUPPERLEG.set_rotation
ROUTE Bouncer.rot_changedBack TO RIGHTLEG.set_rotation
ROUTE Bouncer.rot_changedBack TO RIGHTFOOT.set_rotation

     
april 00 00:00:00 00 datasize