<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive'
version='3.3'
xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance'
xsd:noNamespaceSchemaLocation
='
https://www.web3d.org/specifications/x3d-3.3.xsd
'
>
<head>
</head>
<!--
<!--
Event Graph ROUTE Table
shows event connections
-->
<!--
Index for DEF nodes:
HUMANOIDROOT_ANIMATOR,
HUMANOIDROOT_POSITION_ANIMATOR,
L_ANKLE_ANIMATOR,
L_ELBOW_ANIMATOR,
L_HIP_ANIMATOR,
L_KNEE_ANIMATOR,
L_MIDTARSAL_ANIMATOR,
L_SHOULDER_ANIMATOR,
L_WRIST_ANIMATOR,
R_ANKLE_ANIMATOR,
R_ELBOW_ANIMATOR,
R_HIP_ANIMATOR,
R_KNEE_ANIMATOR,
R_MIDTARSAL_ANIMATOR,
R_SHOULDER_ANIMATOR,
R_WRIST_ANIMATOR,
SACROILIAC_ANIMATOR,
SKULLBASE_ANIMATOR,
TIMER,
VL5_ANIMATOR
Index for ProtoDeclare definition:
LOA1_WalkAnimation
-->
<Scene>
<WorldInfo title='LOA1_WalkAnimation.x3d'/>
<ProtoDeclare name='LOA1_WalkAnimation'>
<ProtoInterface>
<field name='cycleInterval' type='SFTime' value='2' accessType='inputOutput'/>
<field name='enabled' type='SFBool' value='true' accessType='inputOutput'/>
<field name='loop' type='SFBool' value='true' accessType='inputOutput'/>
<field name='startTime' type='SFTime' value='0' accessType='inputOutput'/>
<field name='stopTime' type='SFTime' value='-1' accessType='inputOutput'/>
<field name='fraction_changed' type='SFFloat' accessType='outputOnly'/>
<field name='isActive' type='SFBool' accessType='outputOnly'/>
<field name='HumanoidRoot_translation_changed' type='SFVec3f' accessType='outputOnly'/>
<field name='HumanoidRoot_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='lower_body_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='l_hip_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='l_knee_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='l_ankle_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='l_midtarsal_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='r_hip_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='r_knee_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='r_ankle_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='r_midtarsal_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='vl5_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='skullbase_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='l_shoulder_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='l_elbow_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='l_wrist_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='r_shoulder_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='r_elbow_rotation_changed' type='SFRotation' accessType='outputOnly'/>
<field name='r_wrist_rotation_changed' type='SFRotation' accessType='outputOnly'/>
</ProtoInterface>
<ProtoBody>
<Group>
<IS>
<connect nodeField='cycleInterval' protoField='cycleInterval'/>
<connect nodeField='enabled' protoField='enabled'/>
<connect nodeField='loop' protoField='loop'/>
<connect nodeField='startTime' protoField='startTime'/>
<connect nodeField='stopTime' protoField='stopTime'/>
<connect nodeField='fraction_changed' protoField='fraction_changed'/>
<connect nodeField='isActive' protoField='isActive'/>
</IS>
</TimeSensor>
<!-- ROUTE information for HUMANOIDROOT_POSITION_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<PositionInterpolator DEF='HUMANOIDROOT_POSITION_ANIMATOR' key='0 0.04167 0.125 0.1667 0.2083 0.25 0.2917 0.375 0.4583 0.5 0.5417 0.5833 0.625 0.7083 0.75 0.7917 0.875 0.9167 1' keyValue='0 -0.00928 0 0 -0.003858 0 0 -0.008847 0 0 -0.01486 0 0 -0.02641 0 0 -0.03934 0 0 -0.0502 0 0 -0.07469 0 0 -0.02732 0 0 -0.01608 0 0 -0.01129 0 0 -0.005819 0 0 -0.002004 0 0 -0.002579 0 0 -0.0143 0 0 -0.03799 0 0 -0.05648 0 0 -0.045 0 0 -0.00928 0'>
</PositionInterpolator>
</OrientationInterpolator>
</OrientationInterpolator>
<!-- ROUTE information for L_HIP_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_HIP_ANIMATOR' key='0 0.25 0.375 0.5 0.6667 0.7917 0.9167 1' keyValue='-0.873 0.06094 0.484 0.2865 0.9963 -0.01057 0.08481 0.2488 0.9965 0.01591 -0.08222 0.3836 -0.7018 -0.03223 -0.7117 0.1289 -1 0 0 0.5518 -0.9964 0.02231 0.0817 0.5351 -0.9809 0.04912 0.1881 0.5204 -0.873 0.06094 0.484 0.2865'>
</OrientationInterpolator>
<!-- ROUTE information for L_KNEE_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_KNEE_ANIMATOR' key='0 0.2083 0.375 0.5 0.6667 0.7917 0.9167 1' keyValue='1 0 0 0.3226 1 0 0 0.1556 1 0 0 0.08678 1 0 0 0.8751 1 0 0 1.131 1 0 0 0.09961 1 0 0 0.3942 1 0 0 0.3226'>
</OrientationInterpolator>
<!-- ROUTE information for L_ANKLE_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_ANKLE_ANIMATOR' key='0 0.125 0.2083 0.375 0.6667 0.9167 1' keyValue='-1 0 0 0.06714 -1 0 0 0.2152 -1 0 0 0.3184 -1 0 0 0.4717 -1 0 0 0.2912 1 0 0 0.1222 -1 0 0 0.06714'>
</OrientationInterpolator>
</OrientationInterpolator>
<!-- ROUTE information for R_HIP_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_HIP_ANIMATOR' key='0 0.125 0.2083 0.2917 0.375 0.5 0.6667 0.7917 0.9167 1' keyValue='-0.5831 0.03511 0.8116 0.1481 -0.995 0.02296 0.09674 0.4683 -1 0.00192 0.007964 0.4732 -0.998 -0.0158 -0.06102 0.5079 -0.9911 -0.03541 -0.1286 0.5419 -0.9131 -0.06243 -0.403 0.3361 -0.4306 -0.07962 -0.899 0.07038 1 0 0 0.2571 0.9891 -0.02805 0.1444 0.3879 -0.5831 0.03511 0.8116 0.1481'>
</OrientationInterpolator>
<!-- ROUTE information for R_KNEE_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_KNEE_ANIMATOR' key='0 0.125 0.2083 0.2917 0.375 0.5 0.6667 0.7917 0.9167 1' keyValue='1 0 0 0.8573 1 0 0 0.8926 1 0 0 0.5351 1 0 0 0.1756 1 0 0 0.1194 1 0 0 0.3153 1 -1.176e-08 -4.971e-09 0.09354 1 0 0 0.08558 1 0 0 0.2475 1 0 0 0.8573'>
</OrientationInterpolator>
<!-- ROUTE information for R_ANKLE_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_ANKLE_ANIMATOR' key='0 0.125 0.2083 0.375 0.4583 0.5 0.6667 0.75 0.7917 0.9167 1' keyValue='0 0 1 0 -1 0 0 0.3533 -1 0 0 0.1072 1 0 0 0.2612 1 -1.641e-07 1.827e-08 0.1268 -1 0 0 0.01793 -1 0 0 0.05824 -1 0 0 0.2398 -1 0 0 0.35 -1 0 0 0.3322 0 0 1 0'>
</OrientationInterpolator>
</OrientationInterpolator>
<!-- ROUTE information for VL5_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='VL5_ANIMATOR' key='0 0.2083 0.375 0.75 0.8333 1' keyValue='0 1 0 0.0826 -0.01972 -0.5974 0.8017 0.08231 0.009296 -0.9648 0.2627 0.1734 -0.01238 0.9549 -0.2968 0.08732 -0.008125 0.9691 -0.2463 0.158 0 1 0 0.0826'>
</OrientationInterpolator>
<!-- ROUTE information for SKULLBASE_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='SKULLBASE_ANIMATOR' key='0.0 0.375 0.4167 0.5 0.5833 0.6667 0.75 0.8333 0.9167 1.0' keyValue='0.0 -1.0 0.0 0.08642 0.0 1.0 0.0 0.1825 0.0 1.0 0.0 0.1505 0.0 1.0 0.0 0.1053 0.0 1.0 0.0 0.04391 0.0 -1.0 0.0 0.03119 0.0 -1.0 0.0 0.07936 0.0 -1.0 0.0 0.1616 0.0 -1.0 0.0 0.155 0.0 -1.0 0.0 0.08642'>
</OrientationInterpolator>
</OrientationInterpolator>
<!-- ROUTE information for L_ELBOW_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_ELBOW_ANIMATOR' key='0 0.375 0.9167 1' keyValue='-1 -1.58298e-07 8.15967e-08 0.0659878 -1 -3.28826e-08 -2.31665e-08 0.488383 -1 3.06462e-06 -3.11947e-06 0.0177536 -1 -1.58298e-07 8.15967e-08 0.0659878'>
</OrientationInterpolator>
<!-- ROUTE information for L_WRIST_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_WRIST_ANIMATOR' key='0 0.375 0.9167 1' keyValue='1.51276e-06 -1 1.7724e-06 0.461076 -0.330195 -0.927451 0.175516 0.538852 0.0327774 -0.999314 -0.0172185 0.492033 1.51276e-06 -1 1.7724e-06 0.461076'>
</OrientationInterpolator>
<!-- ROUTE information for R_SHOULDER_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_SHOULDER_ANIMATOR' key='0 0.375 0.9167 1' keyValue='-1 -7.689e-07 -1.48e-07 0.09346 1 5.004e-08 2.254e-08 0.3197 -1 -1.104e-07 5.267e-10 0.1564 -1 -7.689e-07 -1.48e-07 0.09346'>
</OrientationInterpolator>
<!-- ROUTE information for R_ELBOW_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_ELBOW_ANIMATOR' key='0 0.375 0.9167 1' keyValue='-1 -4.45619e-08 2.70318e-08 0.411508 -1 8.16742e-07 -1.09556e-07 0.0925011 -1 -2.47628e-08 -7.02862e-09 0.572568 -1 -4.45619e-08 2.70318e-08 0.411508'>
</OrientationInterpolator>
<!-- ROUTE information for R_WRIST_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_WRIST_ANIMATOR' key='0 0.375 0.9167 1' keyValue='-0.8129 0.4759 -0.3357 0.1346 0.1533 -0.9878 0.02582 0.3902 -0.5701 0.7604 -0.311 0.366 -0.8129 0.4759 -0.3357 0.1346'>
</OrientationInterpolator>
</Group>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
HUMANOIDROOT_POSITION_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
HUMANOIDROOT_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
SACROILIAC_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
L_HIP_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
L_KNEE_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
L_ANKLE_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
L_MIDTARSAL_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
R_HIP_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
R_KNEE_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
R_ANKLE_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
R_MIDTARSAL_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
VL5_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
SKULLBASE_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
L_SHOULDER_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
L_ELBOW_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
L_WRIST_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
R_SHOULDER_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
R_ELBOW_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='
TIMER' fromField='fraction_changed' toNode='
R_WRIST_ANIMATOR' toField='set_fraction'/>
</ProtoBody>
</ProtoDeclare>
<!-- ====================================== -->
<!-- Point to example use in case someone inspects this file -->
<Anchor description='InterchangableActorsViaDynamicRouting' parameter='"target=_blank"'
url='
InterchangableActorsViaDynamicRouting.x3d"https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/InterchangableActorsViaDynamicRouting.x3d" "InterchangableActorsViaDynamicRouting.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/InterchangableActorsViaDynamicRouting.wrl" '
>
<Shape>
<Text string='"LOA1_WalkAnimation.x3d" "defines a prototype" "for animating a humanoid." "" "Click this text to see" "InterchangableActorsViaDynamicRouting example."'>
<FontStyle justify='"MIDDLE" "MIDDLE"' size='0.8'/>
</Text>
<Appearance>
<Material diffuseColor='1 1 0.2'/>
</Appearance>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--
<!--
Event Graph ROUTE Table
shows event connections
-->
<!--
Index for DEF nodes:
HUMANOIDROOT_ANIMATOR,
HUMANOIDROOT_POSITION_ANIMATOR,
L_ANKLE_ANIMATOR,
L_ELBOW_ANIMATOR,
L_HIP_ANIMATOR,
L_KNEE_ANIMATOR,
L_MIDTARSAL_ANIMATOR,
L_SHOULDER_ANIMATOR,
L_WRIST_ANIMATOR,
R_ANKLE_ANIMATOR,
R_ELBOW_ANIMATOR,
R_HIP_ANIMATOR,
R_KNEE_ANIMATOR,
R_MIDTARSAL_ANIMATOR,
R_SHOULDER_ANIMATOR,
R_WRIST_ANIMATOR,
SACROILIAC_ANIMATOR,
SKULLBASE_ANIMATOR,
TIMER,
VL5_ANIMATOR
Index for ProtoDeclare definition:
LOA1_WalkAnimation
-->
-->
<!--
Online at
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_WalkAnimationIndex.html
-->
<!--
Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_WalkAnimation.x3d
-->
<!--
Color legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
<ProtoDeclare
name='ProtoName'>
<field
name='fieldName'/> </ProtoDeclare>
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->