# Copyright (c) 1997 by blaxxun interactive Inc. # The right to download, change and reuse this example is explicitly # granted, provided proper credit is given. # # Interpolators for the avatars of the avatar den # # http://tecfa.unige.ch/vrml/objects/avatars/blaxxun/animation-templ.text # Everything inlined version. # It is a copy taken from http://www.blaxxun.com/vrml/avatarden/ # Daniel.Schneider@tecfa.unige.ch 2/98 DEF Animations Group { children [ DEF WalkAnimation Group { children [ DEF r_shoulderRotWalk OrientationInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.4, 1 0 0 0, 1 0 0 0.4, 1 0 0 0 ] } DEF r_hipRotWalk OrientationInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 0.5, 1 0 0 0, 1 0 0 -0.5, 1 0 0 0 ] } DEF r_kneeRotWalk OrientationInterpolator { key [ 0, 0.15, 0.25, 0.5, 0.75, 0.85, 1 ] keyValue [ 1 0 0 0, 1 0 0 0, 1 0 0 0.6, 1 0 0 1, 1 0 0 0, 1 0 0 0.2, 1 0 0 0 ] } DEF r_elbowRotWalk OrientationInterpolator { key [ 0, 0.25, 0.5, 1 ] keyValue [ 1 0 0 -0.4, 1 0 0 -1, 1 0 0 0, 1 0 0 0 ] } DEF l_shoulderRotWalk OrientationInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 0.4, 1 0 0 0, 1 0 0 -0.4, 1 0 0 0 ] } DEF l_hipRotWalk OrientationInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.5, 1 0 0 0, 1 0 0 0.5, 1 0 0 0 ] } DEF l_kneeRotWalk OrientationInterpolator { key [ 0, 0.25, 0.35, 0.5, 0.65, 0.75, 1 ] keyValue [ 1 0 0 1, 1 0 0 0, 1 0 0 0.2, 1 0 0 0, 1 0 0 0, 1 0 0 0.6, 1 0 0 1 ] } DEF l_elbowRotWalk OrientationInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 0, 1 0 0 -0.4, 1 0 0 -1, 1 0 0 0 ] } DEF vl5RotWalk OrientationInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 0.1, 1 0 0 0, 1 0 0 0.1, 1 0 0 0 ] } DEF HumanoidRootTransWalk PositionInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 0 0 0, 0 -0.05 0, 0 0 0, 0 -0.05 0, 0 0 0 ] } ] } DEF StopAnimation Group { children [ DEF jointTransStop PositionInterpolator { key [ 0, 1 ] keyValue [ 0 0 0, 0 0 0 ] } DEF jointRotStop OrientationInterpolator { key [ 0, 1 ] keyValue [ 1 0 0 0, 1 0 0 0 ] } ] } DEF NoAnimation Group { children [ DEF r_shoulderRotNo OrientationInterpolator { key [ 0, 0.05, 0.95, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.7, 1 0 0 -0.7, 1 0 0 0 ] } DEF r_elbowRotNo OrientationInterpolator { key [ 0, 0.05, 0.95, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.8, 1 0 0 -0.8 1 0 0 0 ] } DEF r_wristRotNo OrientationInterpolator { key [ 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ] keyValue [ 0 0 1 0, 1 0 1 -0.8, 1 0 -1 -0.8, 1 0 1 -0.8, 1 0 -1 -0.8, 1 0 1 -0.8, 1 0 -1 -0.8, 1 0 1 -0.8, 1 0 -1 -0.8, 1 0 1 -0.8, 0 0 1 0 ] } DEF skullbaseRotNo OrientationInterpolator { key [ 0, 0.125, 0.25, 0.375, 0.50, 0.625, 0.75, 0.875, 1 ] keyValue [ 0 1 0 0, 0 1 0 0.3, 0 1 0 0, 0 1 0 -0.3, 0 1 0 0, 0 1 0 0.3, 0 1 0 0, 0 1 0 -0.3, 0 1 0 0 ] } ] } DEF HiAnimation Group { children [ DEF vl5RotHi OrientationInterpolator { key [ 0, 0.25, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.2, 1 0 0 -0.2, 1 0 0 0 ] } DEF l_shoulderRotHi OrientationInterpolator { key [ 0, 0.2, 0.4, 0.6, 0.8, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.5, 1 0 0 -1, 1 0 0 -1, 1 0 0 -0.5, 1 0 0 0 ] } DEF l_elbowRotHi OrientationInterpolator { key [ 0, 0.2, 0.4, 0.6, 0.8, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.8, 1 0 0 -1.8 1 0 0 -1.8 1 0 0 -0.8 1 0 0 0 ] } DEF l_wristRotHi OrientationInterpolator { key [ 0, 0.4, 0.45, 0.5, 0.55, 0.6, 1 ] keyValue [ 0 0 1 0, 0 0 1 0, 0 0 1 0.8, 0 0 1 0, 0 0 1 -0.8, 0 0 1 0, 0 0 1 0 ] } ] } DEF HeyAnimation Group { children [ DEF HumanoidRootTransHey PositionInterpolator { key [ 0, 0.25, 0.4 0.5, 0.6, 0.72, 1 ] keyValue [ 0 0 0, 0 -0.26 0, 0 0.3 0, 0 0.5 0, 0 0.3 0, 0 -0.27 0, 0 0 0 ] } DEF HumanoidRootRotHey OrientationInterpolator { key [ 0, 0.38, 0.47, 0.57, 0.66, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 0, 1 0 0 -1.57 1 0 0 -3.14, 1 0 0 -4.71, 1 0 0 0, 1 0 0 0 ] } DEF skullbaseRotHey OrientationInterpolator { key [ 0, 0.25, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 0.3, 1 0 0 0, 1 0 0 0.3, 1 0 0 0 ] } DEF shoulderRotHey OrientationInterpolator { key [ 0, 0.12, 0.25, 0.375, 0.7, 0.8, 1 ] keyValue [ 1 0 0 0, 1 0 0 1, 1 0 0 0, 1 0 0 -0.8, 1 0 0 0, 1 0 0 -1.2, 1 0 0 0 ] } DEF elbowRotHey OrientationInterpolator { key [ 0, 0.44, 0.5, 0.75, 1 ] keyValue [ 1 0 0 0, 1 0 0 0, 1 0 0 -1.6, 1 0 0 -1.2, 1 0 0 0 ] } DEF hipRotHey OrientationInterpolator { key [ 0, 0.25, 0.34, 0.37, 0.5, 0.65, 1 ] keyValue [ 1 0 0 0, 1 0 0 -1.3, 1 0 0 0, 1 0 0 0, 1 0 0 -2.5, 1 0 0 -1.5, 1 0 0 0 ] } DEF kneeRotHey OrientationInterpolator { key [ 0, 0.25, 0.34, 0.37, 0.5, 0.81, 1 ] keyValue [ 1 0 0 0, 1 0 0 2, 1 0 0 0, 1 0 0 0, 1 0 0 2.5, 1 0 0 1.6, 1 0 0 0 ] } DEF vl5RotHey OrientationInterpolator { key [ 0, 0.12, 0.5, 0.64, 0.78, 1 ] keyValue [ 1 0 0 0, 1 0 0 1.4, 1 0 0 0, 1 0 0 1.5, 1 0 0 1.6, 1 0 0 0 ] } ] } DEF YesAnimation Group { children [ DEF l_elbowRotYes OrientationInterpolator { key [ 0, 0.1, 0.9, 1 ] keyValue [ 1 0 1 0, 1 0 1 -2.5, 1 0 1 -2.5, 1 0 1 0 ] } DEF l_shoulderRotYes OrientationInterpolator { key [ 0, 0.1, 0.9, 1 ] keyValue [ 1 0 0 0, 1 0 0 -0.4, 1 0 0 -0.4, 1 0 0 0 ] } DEF vc4RotYes OrientationInterpolator { key [ 0, 0.1, 0.9, 1 ] keyValue [ 0 0 1 0, 0 0 1 -0.3, 0 0 1 -0.3, 0 0 1 0 ] } ] } DEF SmileAnimation Group { children [ # # This is for smile # # tilt head # # and wave as in hi ] } DEF FrownAnimation Group { children [ # # This is for disapprove # # shake the head # # tilt head # DEF l_shoulderRotFrown OrientationInterpolator { key [ 0, 0.1, 0.2, 0.8, 0.9, 1 ] keyValue [ 0 0 1 0, 0 0 1 0.3, 0 0 1 0.6, 0 0 1 0.6, 0 0 1 0.3, 0 0 1 0 ] } DEF l_elbowRotFrown OrientationInterpolator { key [ 0, 0.1, 0.2, 0.8, 0.9, 1 ] keyValue [ 0 0 1 0, 0 0 1 -0.6, 0 0 1 -1.2, 0 0 1 -1.2, 0 0 1 -0.6, 0 0 1 0 ] } DEF r_shoulderRotFrown OrientationInterpolator { key [ 0, 0.1, 0.2, 0.8, 0.9, 1 ] keyValue [ 0 0 1 0, 0 0 1 -0.3, 0 0 1 -0.6, 0 0 1 -0.6, 0 0 1 -0.3, 0 0 1 0 ] } DEF r_elbowRotFrown OrientationInterpolator { key [ 0, 0.1, 0.2, 0.8, 0.9, 1 ] keyValue [ 0 0 1 0, 0 0 1 0.6, 0 0 1 1.2, 0 0 1 1.2, 0 0 1 0.6, 0 0 1 0 ] } ] } DEF NotAnimation Group { children [ # # This is for Not! Rejects # # # shake the head # # tilt head # # wave right hand # # lift left elbow # ] } DEF ByeAnimation Group { children [ # # This is for waves goodbye, we just bow for now # DEF vl5RotBye OrientationInterpolator { key [ 0, 0.5, 1 ] keyValue [ 1 0 0 0, 1 0 0 1.7, 1 0 0 0 ] } ] } ] } DEF Humanoid Humanoid { version "1.0" name "humanoid, from the blaxxun Avatar Den" info [ "authorName=Peter Graf", "authorEmail=support@blaxxun.com", "copyright=1997, blaxxun interactive Inc.", "creationDate=December 3, 1997", "usageRestrictions=Usage is allowed, if proper credit is given." ] joints [ USE hanim_HumanoidRoot, USE hanim_sacroiliac, USE hanim_r_hip, USE hanim_r_knee, USE hanim_r_ankle, USE hanim_l_hip, USE hanim_l_knee, USE hanim_l_ankle, USE hanim_vl5, USE hanim_vc7, USE hanim_r_shoulder, USE hanim_r_elbow, USE hanim_r_wrist, USE hanim_l_shoulder, USE hanim_l_elbow, USE hanim_l_wrist, USE hanim_vc4, USE hanim_skullbase ] segments [ USE hanim_pelvis, USE hanim_l_thigh, USE hanim_l_calf, USE hanim_l_hindfoot, USE hanim_r_thigh, USE hanim_r_calf, USE hanim_r_hindfoot, USE hanim_c7, USE hanim_l_upperarm, USE hanim_l_forearm, USE hanim_l_hand, USE hanim_r_upperarm, USE hanim_r_forearm, USE hanim_r_hand, USE hanim_c4, USE hanim_skull ] } # Walk ROUTE TimeWalk.fraction_changed TO HumanoidRootTransWalk.set_fraction ROUTE TimeWalk.fraction_changed TO vl5RotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO r_shoulderRotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO r_elbowRotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO r_hipRotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO r_kneeRotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO l_shoulderRotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO l_elbowRotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO l_hipRotWalk.set_fraction ROUTE TimeWalk.fraction_changed TO l_kneeRotWalk.set_fraction ROUTE HumanoidRootTransWalk.value_changed TO hanim_HumanoidRoot.set_translation ROUTE vl5RotWalk.value_changed TO hanim_vl5.set_rotation ROUTE r_shoulderRotWalk.value_changed TO hanim_r_shoulder.set_rotation ROUTE r_elbowRotWalk.value_changed TO hanim_r_elbow.set_rotation ROUTE r_hipRotWalk.value_changed TO hanim_r_hip.set_rotation ROUTE r_kneeRotWalk.value_changed TO hanim_r_knee.set_rotation ROUTE l_shoulderRotWalk.value_changed TO hanim_l_shoulder.set_rotation ROUTE l_elbowRotWalk.value_changed TO hanim_l_elbow.set_rotation ROUTE l_hipRotWalk.value_changed TO hanim_l_hip.set_rotation ROUTE l_kneeRotWalk.value_changed TO hanim_l_knee.set_rotation # Stop ROUTE TimeStop.fraction_changed TO jointTransStop.set_fraction ROUTE TimeStop.fraction_changed TO jointRotStop.set_fraction ROUTE jointTransStop.value_changed TO hanim_HumanoidRoot.set_translation ROUTE jointRotStop.value_changed TO hanim_vl5.set_rotation ROUTE jointRotStop.value_changed TO hanim_r_shoulder.set_rotation ROUTE jointRotStop.value_changed TO hanim_r_elbow.set_rotation ROUTE jointRotStop.value_changed TO hanim_r_hip.set_rotation ROUTE jointRotStop.value_changed TO hanim_r_knee.set_rotation ROUTE jointRotStop.value_changed TO hanim_l_shoulder.set_rotation ROUTE jointRotStop.value_changed TO hanim_l_elbow.set_rotation ROUTE jointRotStop.value_changed TO hanim_l_hip.set_rotation ROUTE jointRotStop.value_changed TO hanim_l_knee.set_rotation # Hello ROUTE Time_1.fraction_changed TO vl5RotHi.set_fraction ROUTE Time_1.fraction_changed TO l_shoulderRotHi.set_fraction ROUTE Time_1.fraction_changed TO l_elbowRotHi.set_fraction ROUTE Time_1.fraction_changed TO l_wristRotHi.set_fraction ROUTE vl5RotHi.value_changed TO hanim_vl5.set_rotation ROUTE l_shoulderRotHi.value_changed TO hanim_l_shoulder.set_rotation ROUTE l_elbowRotHi.value_changed TO hanim_l_elbow.set_rotation ROUTE l_wristRotHi.value_changed TO hanim_l_wrist.set_rotation # Hey ROUTE Time_2.fraction_changed TO HumanoidRootTransHey.set_fraction ROUTE Time_2.fraction_changed TO skullbaseRotHey.set_fraction ROUTE Time_2.fraction_changed TO shoulderRotHey.set_fraction ROUTE Time_2.fraction_changed TO elbowRotHey.set_fraction ROUTE Time_2.fraction_changed TO HumanoidRootRotHey.set_fraction ROUTE Time_2.fraction_changed TO hipRotHey.set_fraction ROUTE Time_2.fraction_changed TO kneeRotHey.set_fraction ROUTE Time_2.fraction_changed TO vl5RotHey.set_fraction ROUTE HumanoidRootTransHey.value_changed TO hanim_HumanoidRoot.set_translation ROUTE skullbaseRotHey.value_changed TO hanim_skullbase.set_rotation ROUTE shoulderRotHey.value_changed TO hanim_l_shoulder.set_rotation ROUTE shoulderRotHey.value_changed TO hanim_r_shoulder.set_rotation ROUTE elbowRotHey.value_changed TO hanim_l_elbow.set_rotation ROUTE elbowRotHey.value_changed TO hanim_r_elbow.set_rotation ROUTE HumanoidRootRotHey.value_changed TO hanim_HumanoidRoot.set_rotation ROUTE hipRotHey.value_changed TO hanim_l_hip.set_rotation ROUTE hipRotHey.value_changed TO hanim_r_hip.set_rotation ROUTE kneeRotHey.value_changed TO hanim_l_knee.set_rotation ROUTE kneeRotHey.value_changed TO hanim_r_knee.set_rotation ROUTE vl5RotHey.value_changed TO hanim_vl5.set_rotation # Yes ROUTE Time_3.fraction_changed TO skullbaseRotHey.set_fraction ROUTE Time_3.fraction_changed TO vc4RotYes.set_fraction ROUTE Time_3.fraction_changed TO l_shoulderRotYes.set_fraction ROUTE Time_3.fraction_changed TO l_elbowRotYes.set_fraction ROUTE vc4RotYes.value_changed TO hanim_vc4.set_rotation ROUTE l_elbowRotYes.value_changed TO hanim_l_elbow.set_rotation ROUTE l_shoulderRotYes.value_changed TO hanim_l_shoulder.set_rotation # Smile ROUTE Time_4.fraction_changed TO vc4RotYes.set_fraction ROUTE Time_4.fraction_changed TO vl5RotHi.set_fraction ROUTE Time_4.fraction_changed TO l_shoulderRotHi.set_fraction ROUTE Time_4.fraction_changed TO l_elbowRotHi.set_fraction ROUTE Time_4.fraction_changed TO l_wristRotHi.set_fraction # Frown ROUTE Time_5.fraction_changed TO skullbaseRotNo.set_fraction ROUTE Time_5.fraction_changed TO vc4RotYes.set_fraction ROUTE Time_5.fraction_changed TO l_shoulderRotFrown.set_fraction ROUTE Time_5.fraction_changed TO l_elbowRotFrown.set_fraction ROUTE Time_5.fraction_changed TO r_shoulderRotFrown.set_fraction ROUTE Time_5.fraction_changed TO r_elbowRotFrown.set_fraction ROUTE l_shoulderRotFrown.value_changed TO hanim_l_shoulder.set_rotation ROUTE l_elbowRotFrown.value_changed TO hanim_l_elbow.set_rotation ROUTE r_shoulderRotFrown.value_changed TO hanim_r_shoulder.set_rotation ROUTE r_elbowRotFrown.value_changed TO hanim_r_elbow.set_rotation # No ROUTE Time_6.fraction_changed TO skullbaseRotNo.set_fraction ROUTE Time_6.fraction_changed TO r_shoulderRotNo.set_fraction ROUTE Time_6.fraction_changed TO r_elbowRotNo.set_fraction ROUTE Time_6.fraction_changed TO r_wristRotNo.set_fraction ROUTE skullbaseRotNo.value_changed TO hanim_skullbase.set_rotation ROUTE r_shoulderRotNo.value_changed TO hanim_r_shoulder.set_rotation ROUTE r_elbowRotNo.value_changed TO hanim_r_elbow.set_rotation ROUTE r_wristRotNo.value_changed TO hanim_r_wrist.set_rotation # Not ROUTE Time_7.fraction_changed TO skullbaseRotNo.set_fraction ROUTE Time_7.fraction_changed TO vc4RotYes.set_fraction ROUTE Time_7.fraction_changed TO r_shoulderRotNo.set_fraction ROUTE Time_7.fraction_changed TO r_elbowRotNo.set_fraction ROUTE Time_7.fraction_changed TO r_wristRotNo.set_fraction ROUTE Time_7.fraction_changed TO l_shoulderRotFrown.set_fraction ROUTE Time_7.fraction_changed TO l_elbowRotFrown.set_fraction # Bye ROUTE Time_8.fraction_changed TO vl5RotBye.set_fraction ROUTE vl5RotBye.value_changed TO hanim_vl5.set_rotation