X3D Model Documentation: LOA1_StandAnimation.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
  3  <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'>
  4       <head>
  5            <meta name='titlecontent='LOA1_StandAnimation.x3d'/>
  6            <meta name='descriptioncontent='Humanoid animation prototype reusable by any Humanoid.'/>
  7            <meta name='creatorcontent='Cindy Ballreich cindy@ballreich.net 3Name3D, Joe Williams, Don Brutzman'/>
  8            <meta name='rightscontent='1997 3Name3D / Yglesias, Wallock, Divekar, Inc., all rights reserved.'/>
  9            <meta name='translatorcontent='Ozan APAYDIN'/>
 10            <meta name='createdcontent='1 December 2001'/>
 11            <meta name='modifiedcontent='23 May 2020'/>
 12            <meta name=' TODO content=' consider adding eyeball animation '/>
 13            <meta name='referencecontent='http://www.ballreich.net/vrml/HAnim/nancy_HAnim.wrl'/>
 14            <meta name='referencecontent='http://www.HAnim.org'/>
 15            <meta name='referencecontent='http://HAnim.org/Models'/>
 16            <meta name='referencecontent='http://HAnim.org/Nodes'/>
 17            <meta name='subjectcontent='Nancy Stand Animation HAnim 2001'/>
 18            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_StandAnimation.x3d'/>
 19            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 20            <meta name='licensecontent='../license.html'/>
 21       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top 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_StandAnimation
-->
 22       <Scene>
 23            <WorldInfo title='LOA1_StandAnimation.x3d'/>
 24            <ProtoDeclare name='LOA1_StandAnimation'>
 25                 <ProtoInterface>
 26                      <field name='cycleIntervaltype='SFTimevalue='0.009999999776482582accessType='inputOutput'/>
 27                      <field name='enabledtype='SFBoolvalue='trueaccessType='inputOutput'/>
 28                      <field name='looptype='SFBoolvalue='trueaccessType='inputOutput'/>
 29                      <field name='startTimetype='SFTimevalue='0accessType='inputOutput'/>
 30                      <field name='stopTimetype='SFTimevalue='-1accessType='inputOutput'/>
 31                      <field name='fraction_changedtype='SFFloataccessType='outputOnly'/>
 32                      <field name='isActivetype='SFBoolaccessType='outputOnly'/>
 33                      <field name='HumanoidRoot_translation_changedtype='SFVec3faccessType='outputOnly'/>
 34                      <field name='HumanoidRoot_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 35                      <field name='lower_body_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 36                      <field name='l_hip_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 37                      <field name='l_knee_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 38                      <field name='l_ankle_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 39                      <field name='l_midtarsal_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 40                      <field name='r_hip_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 41                      <field name='r_knee_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 42                      <field name='r_ankle_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 43                      <field name='r_midtarsal_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 44                      <field name='vl5_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 45                      <field name='skullbase_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 46                      <field name='l_shoulder_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 47                      <field name='l_elbow_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 48                      <field name='l_wrist_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 49                      <field name='r_shoulder_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 50                      <field name='r_elbow_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 51                      <field name='r_wrist_rotation_changedtype='SFRotationaccessType='outputOnly'/>
 52                 </ProtoInterface>
 53                 <ProtoBody>
 54                      <Group>
 55 
 56                                <IS>
 57                                     <connect nodeField='cycleIntervalprotoField='cycleInterval'/>
 58                                     <connect nodeField='enabledprotoField='enabled'/>
 59                                     <connect nodeField='loopprotoField='loop'/>
 60                                     <connect nodeField='startTimeprotoField='startTime'/>
 61                                     <connect nodeField='stopTimeprotoField='stopTime'/>
 62                                     <connect nodeField='fraction_changedprotoField='fraction_changed'/>
 63                                     <connect nodeField='isActiveprotoField='isActive'/>
 64                                </IS>
 65                           </TimeSensor>
 66 
                         <!-- ROUTE information for HUMANOIDROOT_POSITION_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <PositionInterpolator DEF='HUMANOIDROOT_POSITION_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 0.0 0.0 0.0 0.0'>
 67                                <IS>
 68                                     <connect nodeField='value_changedprotoField='HumanoidRoot_translation_changed'/>
 69                                </IS>
 70                           </PositionInterpolator>
 71 
                         <!-- ROUTE information for HUMANOIDROOT_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='HUMANOIDROOT_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
 72                                <IS>
 73                                     <connect nodeField='value_changedprotoField='HumanoidRoot_rotation_changed'/>
 74                                </IS>
 75                           </OrientationInterpolator>
 76 
                         <!-- ROUTE information for SACROILIAC_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='SACROILIAC_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
 77                                <IS>
 78                                     <connect nodeField='value_changedprotoField='lower_body_rotation_changed'/>
 79                                </IS>
 80                           </OrientationInterpolator>
 81 
                         <!-- ROUTE information for L_HIP_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='L_HIP_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
 82                                <IS>
 83                                     <connect nodeField='value_changedprotoField='l_hip_rotation_changed'/>
 84                                </IS>
 85                           </OrientationInterpolator>
 86 
                         <!-- ROUTE information for L_KNEE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='L_KNEE_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
 87                                <IS>
 88                                     <connect nodeField='value_changedprotoField='l_knee_rotation_changed'/>
 89                                </IS>
 90                           </OrientationInterpolator>
 91 
                         <!-- ROUTE information for L_ANKLE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='L_ANKLE_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
 92                                <IS>
 93                                     <connect nodeField='value_changedprotoField='l_ankle_rotation_changed'/>
 94                                </IS>
 95                           </OrientationInterpolator>
 96 
                         <!-- ROUTE information for L_MIDTARSAL_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='L_MIDTARSAL_ANIMATORkey='0.0 1.0keyValue='1 0 0 0 1 0 0 0'>
 97                                <IS>
 98                                     <connect nodeField='value_changedprotoField='l_midtarsal_rotation_changed'/>
 99                                </IS>
100                           </OrientationInterpolator>
101 
                         <!-- ROUTE information for R_HIP_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='R_HIP_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
102                                <IS>
103                                     <connect nodeField='value_changedprotoField='r_hip_rotation_changed'/>
104                                </IS>
105                           </OrientationInterpolator>
106 
                         <!-- ROUTE information for R_KNEE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='R_KNEE_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
107                                <IS>
108                                     <connect nodeField='value_changedprotoField='r_knee_rotation_changed'/>
109                                </IS>
110                           </OrientationInterpolator>
111 
                         <!-- ROUTE information for R_ANKLE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='R_ANKLE_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
112                                <IS>
113                                     <connect nodeField='value_changedprotoField='r_ankle_rotation_changed'/>
114                                </IS>
115                           </OrientationInterpolator>
116 
                         <!-- ROUTE information for R_MIDTARSAL_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='R_MIDTARSAL_ANIMATORkey='0.0 1.0keyValue='1 0 0 0 1 0 0 0'>
117                                <IS>
118                                     <connect nodeField='value_changedprotoField='r_midtarsal_rotation_changed'/>
119                                </IS>
120                           </OrientationInterpolator>
121 
                         <!-- ROUTE information for VL5_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='VL5_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
122                                <IS>
123                                     <connect nodeField='value_changedprotoField='vl5_rotation_changed'/>
124                                </IS>
125                           </OrientationInterpolator>
126 
                         <!-- ROUTE information for SKULLBASE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='SKULLBASE_ANIMATORkey='0.0 0.5 1.0keyValue='0.0 0.0 1.0 0.0 -1 0 0 0.5 0.0 0.0 1.0 0.0'>
127                                <IS>
128                                     <connect nodeField='value_changedprotoField='skullbase_rotation_changed'/>
129                                </IS>
130                           </OrientationInterpolator>
131 
                         <!-- ROUTE information for L_SHOULDER_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='L_SHOULDER_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
132                                <IS>
133                                     <connect nodeField='value_changedprotoField='l_shoulder_rotation_changed'/>
134                                </IS>
135                           </OrientationInterpolator>
136 
                         <!-- ROUTE information for L_ELBOW_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='L_ELBOW_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
137                                <IS>
138                                     <connect nodeField='value_changedprotoField='l_elbow_rotation_changed'/>
139                                </IS>
140                           </OrientationInterpolator>
141 
                         <!-- ROUTE information for L_WRIST_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='L_WRIST_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
142                                <IS>
143                                     <connect nodeField='value_changedprotoField='l_wrist_rotation_changed'/>
144                                </IS>
145                           </OrientationInterpolator>
146 
                         <!-- ROUTE information for R_SHOULDER_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='R_SHOULDER_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
147                                <IS>
148                                     <connect nodeField='value_changedprotoField='r_shoulder_rotation_changed'/>
149                                </IS>
150                           </OrientationInterpolator>
151 
                         <!-- ROUTE information for R_ELBOW_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='R_ELBOW_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
152                                <IS>
153                                     <connect nodeField='value_changedprotoField='r_elbow_rotation_changed'/>
154                                </IS>
155                           </OrientationInterpolator>
156 
                         <!-- ROUTE information for R_WRIST_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
                         <OrientationInterpolator DEF='R_WRIST_ANIMATORkey='0.0 1.0keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'>
157                                <IS>
158                                     <connect nodeField='value_changedprotoField='r_wrist_rotation_changed'/>
159                                </IS>
160                           </OrientationInterpolator>
161                      </Group>
162                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='HUMANOIDROOT_POSITION_ANIMATOR' toField='set_fraction'/>
163                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='HUMANOIDROOT_ANIMATOR' toField='set_fraction'/>
164                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='SACROILIAC_ANIMATOR' toField='set_fraction'/>
165                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='L_HIP_ANIMATOR' toField='set_fraction'/>
166                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='L_KNEE_ANIMATOR' toField='set_fraction'/>
167                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='L_ANKLE_ANIMATOR' toField='set_fraction'/>
168                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='L_MIDTARSAL_ANIMATOR' toField='set_fraction'/>
169                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='R_HIP_ANIMATOR' toField='set_fraction'/>
170                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='R_KNEE_ANIMATOR' toField='set_fraction'/>
171                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='R_ANKLE_ANIMATOR' toField='set_fraction'/>
172                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='R_MIDTARSAL_ANIMATOR' toField='set_fraction'/>
173                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='VL5_ANIMATOR' toField='set_fraction'/>
174                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='SKULLBASE_ANIMATOR' toField='set_fraction'/>
175                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='L_SHOULDER_ANIMATOR' toField='set_fraction'/>
176                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='L_ELBOW_ANIMATOR' toField='set_fraction'/>
177                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='L_WRIST_ANIMATOR' toField='set_fraction'/>
178                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='R_SHOULDER_ANIMATOR' toField='set_fraction'/>
179                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='R_ELBOW_ANIMATOR' toField='set_fraction'/>
180                      < ROUTE  fromNode='TIMER' fromField='fraction_changed' toNode='R_WRIST_ANIMATOR' toField='set_fraction'/>
181                 </ProtoBody>
182            </ProtoDeclare>
183            <!-- ====================================== -->
184            <!-- Point to example use in case someone inspects this file -->
185            <Anchor description='InterchangableActorsViaDynamicRoutingparameter='"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" '>
186                 <Shape>
187                      <Text string='"LOA1_StandAnimation.x3d" "defines a prototype" "for animating a humanoid." "" "Click this text to see" "InterchangableActorsViaDynamicRouting example."'>
188                           <FontStyle justify='"MIDDLE" "MIDDLE"size='0.8'/>
189                      </Text>
190                      <Appearance>
191                           <Material diffuseColor='1 1 0.2'/>
192                      </Appearance>
193                 </Shape>
194            </Anchor>
195       </Scene>
196  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top 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_StandAnimation
-->
X3D Tooltips element index: Anchor, Appearance, connect, field, FontStyle, Group, head, IS, Material, meta, OrientationInterpolator, PositionInterpolator, ProtoBody, ProtoDeclare, ProtoInterface, ROUTE, Scene, Shape, Text, TimeSensor, WorldInfo, X3D, accessType and type, XML data types, field types

Event Graph ROUTE Table entries with 19 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

This node has 19 outgoing ROUTEs, which is greater than $maxROUTEdepth=8
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
HUMANOIDROOT_POSITION_ANIMATOR
PositionInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
HUMANOIDROOT_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
SACROILIAC_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_HIP_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_KNEE_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_ANKLE_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_MIDTARSAL_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
R_HIP_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat


Anchor
description='InterchangableActorsViaDynamicRouting' 
User-interaction hint for this node. 
Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_StandAnimationIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_StandAnimation.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> -->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->