environment(skycolor(0.1 0.2 0.7)) light(position(1 -1 1)) User User0() { caveNavigator(fly(off)) caveHead headUser0() { staticObject headAvatarUser0(/*showlocal(false),*/cache(false),file(avatarHead.pfb)) } caveTracker wandTrackerUser0(sensor(1)) { caveWand wandUser0() staticObject wandAvatarUser0(file(avatarHand.pfb)) //create a frame of reference for the wrist simpleTransform wristUser0(position(0 -0.5 0)) { //point at the elbow pointAtNode(node(elbowUser0)) { object(file(avatarArm.pfb)) } } } body bodyUser0() { staticObject bodyAvatarUser0(/*showlocal(false),*/cache(false),file(avatarBody.pfb)) //create a frame of reference for the shoulder simpleTransform(position(1 0 1)) { //point at the wrist pointAtNode(node(wristUser0)) { //bend the upper arm away from the wrist based on distance distance(node(wristUser0), startValue(-90),endValue(-55), minimum(-90),maximum(0), when(changed,upperArmUser0.orientation(0 0 $value))) //create a frame of reference for the upper arm simpleTransform upperArmUser0() { object(file(avatarArm.pfb)) //create a frame of reference for the elbow simpleTransform(position(0 1 0)) { node elbowUser0() } } } } } keyboard KBUser0(when(ckey, User0.toggleCollide),when(fkey, User0.toggleFly)) }