<?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_SHOULDER_ANIMATOR,
L_WRIST_ANIMATOR,
R_ANKLE_ANIMATOR,
R_ELBOW_ANIMATOR,
R_HIP_ANIMATOR,
R_KNEE_ANIMATOR,
R_SHOULDER_ANIMATOR,
R_WRIST_ANIMATOR,
SKULLBASE_ANIMATOR,
TIMER,
VL5_ANIMATOR
Index for Viewpoint node:
Viewpoint_1
Index for ProtoDeclare definition:
LOA1_DivingAnimation
-->
X3D Tooltips element index:
Anchor,
Appearance,
connect,
field,
FontStyle,
Group,
head,
IS,
Material,
meta,
OrientationInterpolator,
PositionInterpolator,
ProtoBody,
ProtoDeclare,
ProtoInterface,
ROUTE,
Scene,
Shape,
Text,
TimeSensor,
Viewpoint,
WorldInfo,
X3D,
accessType and
type,
XML data types,
field types
<Scene>
<WorldInfo title='LOA1_SwimmingFlutterKickAnimation.x3d'/>
<ProtoDeclare name='LOA1_DivingAnimation'>
<ProtoInterface>
<field name='cycleInterval' type='SFTime' value='7' 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 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.0' keyValue='0.0 -0.00928 0.0 0.0 -0.003858 0.0 0.0 -0.008847 0.0 0.0 -0.01486 0.0 0.0 -0.02641 0.0 0.0 -0.03934 0.0 0.0 -0.0502 0.0 0.0 -0.07469 0.0 0.0 -0.02732 0.0 0.0 -0.01608 0.0 0.0 -0.01129 0.0 0.0 -0.005819 0.0 0.0 -0.002004 0.0 0.0 -0.002579 0.0 0.0 -0.0143 0.0 0.0 -0.03799 0.0 0.0 -0.05648 0.0 0.0 -0.045 0.0 0.0 -0.00928 0.0'>
</PositionInterpolator>
</OrientationInterpolator>
<!-- no SACROILIAC_ANIMATOR -->
<!-- ROUTE information for L_HIP_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_HIP_ANIMATOR' key='0.0 0.25 0.375 0.6667 0.7917 0.9167 1.0' 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 -1.0 0.0 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 0.2083 0.375 0.5 0.6667 0.7917 0.9167 1.0' keyValue='1.0 0.0 0.0 0.3226 1.0 0.0 0.0 0.1556 1.0 0.0 0.0 0.08678 1.0 0.0 0.0 0.8751 1.0 0.0 0.0 1.131 1.0 0.0 0.0 0.09961 1.0 0.0 0.0 0.3942 1.0 0.0 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 0.125 0.2083 0.375 0.4583 0.5 0.6667 0.75 0.7917 0.9167 1.0' keyValue='1.0 0.0 0.0 0.6001 1.0 0.0 0.0 0.6509 1.0 0.0 0.0 0.6001 1.0 0.0 0.0 0.6001 1.0 0.0 0.0 0.6509 1.0 0.0 0.0 0.6001 1.0 0.0 0.0 0.6001 1.0 0.0 0.0 0.6509 1.0 0.0 0.0 0.6001 1.0 0.0 0.0 0.6509 1.0 0.0 0.0 0.6001'>
</OrientationInterpolator>
<!-- no L_MIDTARSAL_ANIMATOR -->
<!-- ROUTE information for R_HIP_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_HIP_ANIMATOR' key='0.0 0.125 0.2083 0.2917 0.5 0.7917 0.9167 1.0' keyValue='-0.5831 0.03511 0.8116 0.1481 -0.995 0.02296 0.09674 0.4683 -1.0 0.00192 0.007964 0.4732 -0.998 -0.0158 -0.06102 0.5079 -0.9131 -0.06243 -0.403 0.3361 1.0 0.0 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 0.125 0.2083 0.375 0.5 0.6667 0.9167 1.0' keyValue='1.0 0.0 0.0 0.8573 1.0 0.0 0.0 0.5351 1.0 0.0 0.0 0.1756 1.0 0.0 0.0 0.1194 1.0 0.0 0.0 0.3153 1.0 0.0 0.0 0.09354 1.0 0.0 0.0 0.08558 1.0 0.0 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 0.125 0.2083 0.375 0.4583 0.5 0.6667 0.75 0.7917 0.9167 1.0' keyValue='1.0 0.0 0.0 0.8001 1.0 0.0 0.0 0.8509 1.0 0.0 0.0 0.8001 1.0 0.0 0.0 0.8001 1.0 0.0 0.0 0.8509 1.0 0.0 0.0 0.8001 1.0 0.0 0.0 0.8001 1.0 0.0 0.0 0.8001 1.0 0.0 0.0 0.8001 1.0 0.0 0.0 0.8509 1.0 0.0 0.0 0.86001'>
</OrientationInterpolator>
<!-- no L_MIDTARSAL_ANIMATOR -->
<!-- ROUTE information for VL5_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='VL5_ANIMATOR' key='0.0 0.2083 0.375 0.75 0.8333 1.0' keyValue='0.0 1.0 0.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.0 1.0 0.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.28 0.3 0.32 0.4 0.45 0.60 0.65 0.70 0.75 0.85 0.90 0.95 1.0' keyValue='-1.0 0.0 0.0 1.0 -1.0 0.0 0.0 1.0 -1.0 0.0 0.0 0.999 -1.0 0.0 0.0 0.99 -1.0 0.0 0.0 0.99 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 0.9 -1.0 0.0 0.0 1.0'>
</OrientationInterpolator>
<!-- ROUTE information for L_SHOULDER_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_SHOULDER_ANIMATOR' key='0.0 0.25 0.375 0.6667 0.7917 0.9167 1.0' keyValue='0.0 0.0 1.0 0.1 0.0 0.0 1.0 0.2 0.0 0.0 1.0 0.2 0.86 0.25 0.42 0.5 0.86 0.25 0.42 0.8 0.86 0.25 0.42 0.4 0.86 0.25 0.42 0.2'>
</OrientationInterpolator>
<!-- ROUTE information for L_ELBOW_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='L_ELBOW_ANIMATOR' key='0.0 0.28 0.32 0.64 0.76 1.0' keyValue='0.0 0.0 1.0 0.0 -1.0 0.0 0.0 0.1229 -1.0 0.0 0.0 0.1229 -1.0 0.0 0.0 0.5976 -1.0 0.0 0.0 0.3917 0.0 0.0 1.0 0.0'>
</OrientationInterpolator>
</OrientationInterpolator>
<!-- ROUTE information for R_SHOULDER_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_SHOULDER_ANIMATOR' key='0.0 0.45 0.64 0.76 0.88 1.0' keyValue='0.0 0.0 1.0 0.0 0.9992 0.02042 0.03558 7.2 0.9989 -0.04623 0.005159 4.079 -0.8687 -0.2525 -0.4261 1.501 -0.941 -0.2893 -0.1754 0.4788 0.0 0.0 1.0 0.0'>
</OrientationInterpolator>
<!-- ROUTE information for R_ELBOW_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_ELBOW_ANIMATOR' key='0.0 0.28 0.32 0.64 0.76 1.0' keyValue='0.0 0.0 1.0 0.0 -1.0 0.0 0.0 0.04151 -1.0 0.0 0.0 0.04151 -1.0 0.0 0.0 0.5855 -1.0 0.0 0.0 0.5852 0.0 0.0 1.0 0.0'>
</OrientationInterpolator>
<!-- ROUTE information for R_WRIST_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='R_WRIST_ANIMATOR' key='0.0 0.28 0.32 0.64 0.76 1.0' keyValue='0.0 0.0 1.0 0.0 -0.0585279 0.983903 -0.168849 1.85956 -0.0585279 0.983903 -0.168849 1.85956 -0.00222418 0.99801 -0.0630095 1.46072 0.0 1.0 0.0 0.497349 0.0 0.0 1.0 0.0'>
</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='SKULLBASE_ANIMATOR' toField='set_fraction'/>
<
ROUTE
fromNode='TIMER' fromField='fraction_changed' toNode='VL5_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='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='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>
<Viewpoint description='LOA1_SwimmingFlutterKickAnimation scene' position='0 0 12'/>
<Anchor description='Nancy Diving' parameter='"target=_blank"'
url=' "NancyDiving.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/NancyDiving.x3d" "NancyDiving.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/NancyDiving.wrl" '>
<Shape>
<Text string='"LOA1_SwimmingFlutterKickAnimation.x3d" "defines a prototype" "for animating a humanoid." "" "Click text to see example."'>
<FontStyle justify='"MIDDLE" "MIDDLE"' size='0.8'/>
</Text>
<Appearance>
<Material diffuseColor='1 1 0.2'/>
</Appearance>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--
<!--
Index for DEF nodes:
HUMANOIDROOT_ANIMATOR,
HUMANOIDROOT_POSITION_ANIMATOR,
L_ANKLE_ANIMATOR,
L_ELBOW_ANIMATOR,
L_HIP_ANIMATOR,
L_KNEE_ANIMATOR,
L_SHOULDER_ANIMATOR,
L_WRIST_ANIMATOR,
R_ANKLE_ANIMATOR,
R_ELBOW_ANIMATOR,
R_HIP_ANIMATOR,
R_KNEE_ANIMATOR,
R_SHOULDER_ANIMATOR,
R_WRIST_ANIMATOR,
SKULLBASE_ANIMATOR,
TIMER,
VL5_ANIMATOR
Index for Viewpoint node:
Viewpoint_1
Index for ProtoDeclare definition:
LOA1_DivingAnimation
-->
-->
<!--
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.
-->