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='title' content='LOA1_StandAnimation.x3d'/> |
6 | <meta name='description' content='Humanoid animation prototype reusable by any Humanoid.'/> |
7 | <meta name='creator' content='Cindy Ballreich cindy@ballreich.net 3Name3D, Joe Williams, Don Brutzman'/> |
8 | <meta name='rights' content='1997 3Name3D / Yglesias, Wallock, Divekar, Inc., all rights reserved.'/> |
9 | <meta name='translator' content='Ozan APAYDIN'/> |
10 | <meta name='created' content='1 December 2001'/> |
11 | <meta name='modified' content='23 May 2020'/> |
12 | <meta name=' TODO ' content=' consider adding eyeball animation '/> |
13 | <meta name='reference' content='http://www.ballreich.net/vrml/HAnim/nancy_HAnim.wrl'/> |
14 | <meta name='reference' content='http://www.HAnim.org'/> |
15 | <meta name='reference' content='http://HAnim.org/Models'/> |
16 | <meta name='reference' content='http://HAnim.org/Nodes'/> |
17 | <meta name='subject' content='Nancy Stand Animation HAnim 2001'/> |
18 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_StandAnimation.x3d'/> |
19 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
20 | <meta name='license' content='../license.html'/> |
21 | </head> |
22 | <Scene> |
23 | <WorldInfo title='LOA1_StandAnimation.x3d'/> |
24 | <ProtoDeclare name='LOA1_StandAnimation'> |
25 | <ProtoInterface> |
26 | <field name='cycleInterval' type='SFTime' value='0.009999999776482582' accessType='inputOutput'/> |
27 | <field name='enabled' type='SFBool' value='true' accessType='inputOutput'/> |
28 | <field name='loop' type='SFBool' value='true' accessType='inputOutput'/> |
29 | <field name='startTime' type='SFTime' value='0' accessType='inputOutput'/> |
30 | <field name='stopTime' type='SFTime' value='-1' accessType='inputOutput'/> |
31 | <field name='fraction_changed' type='SFFloat' accessType='outputOnly'/> |
32 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
33 | <field name='HumanoidRoot_translation_changed' type='SFVec3f' accessType='outputOnly'/> |
34 | <field name='HumanoidRoot_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
35 | <field name='lower_body_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
36 | <field name='l_hip_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
37 | <field name='l_knee_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
38 | <field name='l_ankle_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
39 | <field name='l_midtarsal_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
40 | <field name='r_hip_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
41 | <field name='r_knee_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
42 | <field name='r_ankle_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
43 | <field name='r_midtarsal_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
44 | <field name='vl5_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
45 | <field name='skullbase_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
46 | <field name='l_shoulder_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
47 | <field name='l_elbow_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
48 | <field name='l_wrist_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
49 | <field name='r_shoulder_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
50 | <field name='r_elbow_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
51 | <field name='r_wrist_rotation_changed' type='SFRotation' accessType='outputOnly'/> |
52 | </ProtoInterface> |
53 | <ProtoBody> |
54 | <Group> |
55 |
<!-- ROUTE information for TIMER node:
[from fraction_changed to HUMANOIDROOT_POSITION_ANIMATOR.set_fraction
]
[from fraction_changed to HUMANOIDROOT_ANIMATOR.set_fraction
]
[from fraction_changed to SACROILIAC_ANIMATOR.set_fraction
]
[from fraction_changed to L_HIP_ANIMATOR.set_fraction
]
[from fraction_changed to L_KNEE_ANIMATOR.set_fraction
]
[from fraction_changed to L_ANKLE_ANIMATOR.set_fraction
]
[from fraction_changed to L_MIDTARSAL_ANIMATOR.set_fraction
]
[from fraction_changed to R_HIP_ANIMATOR.set_fraction
]
[from fraction_changed to R_KNEE_ANIMATOR.set_fraction
]
[from fraction_changed to R_ANKLE_ANIMATOR.set_fraction
]
[from fraction_changed to R_MIDTARSAL_ANIMATOR.set_fraction
]
[from fraction_changed to VL5_ANIMATOR.set_fraction
]
[from fraction_changed to SKULLBASE_ANIMATOR.set_fraction
]
[from fraction_changed to L_SHOULDER_ANIMATOR.set_fraction
]
[from fraction_changed to L_ELBOW_ANIMATOR.set_fraction
]
[from fraction_changed to L_WRIST_ANIMATOR.set_fraction
]
[from fraction_changed to R_SHOULDER_ANIMATOR.set_fraction
]
[from fraction_changed to R_ELBOW_ANIMATOR.set_fraction
]
[from fraction_changed to R_WRIST_ANIMATOR.set_fraction
]
-->
<TimeSensor DEF='TIMER'> |
56 | <IS> |
57 | <connect nodeField='cycleInterval' protoField='cycleInterval'/> |
58 | <connect nodeField='enabled' protoField='enabled'/> |
59 | <connect nodeField='loop' protoField='loop'/> |
60 | <connect nodeField='startTime' protoField='startTime'/> |
61 | <connect nodeField='stopTime' protoField='stopTime'/> |
62 | <connect nodeField='fraction_changed' protoField='fraction_changed'/> |
63 | <connect nodeField='isActive' protoField='isActive'/> |
64 | </IS> |
65 | </TimeSensor> |
66 |
<!-- ROUTE information for HUMANOIDROOT_POSITION_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<PositionInterpolator DEF='HUMANOIDROOT_POSITION_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 0.0 0.0 0.0 0.0'> |
67 | <IS> |
68 | <connect nodeField='value_changed' protoField='HumanoidRoot_translation_changed'/> |
69 | </IS> |
70 | </PositionInterpolator> |
71 |
<!-- ROUTE information for HUMANOIDROOT_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='HUMANOIDROOT_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
72 | <IS> |
73 | <connect nodeField='value_changed' protoField='HumanoidRoot_rotation_changed'/> |
74 | </IS> |
75 | </OrientationInterpolator> |
76 |
<!-- ROUTE information for SACROILIAC_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='SACROILIAC_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
77 | <IS> |
78 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
82 | <IS> |
83 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
87 | <IS> |
88 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
92 | <IS> |
93 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='1 0 0 0 1 0 0 0'> |
97 | <IS> |
98 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
102 | <IS> |
103 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
107 | <IS> |
108 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
112 | <IS> |
113 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='1 0 0 0 1 0 0 0'> |
117 | <IS> |
118 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
122 | <IS> |
123 | <connect nodeField='value_changed' protoField='vl5_rotation_changed'/> |
124 | </IS> |
125 | </OrientationInterpolator> |
126 |
<!-- ROUTE information for SKULLBASE_ANIMATOR node:
[from TIMER.fraction_changed to set_fraction
]
-->
<OrientationInterpolator DEF='SKULLBASE_ANIMATOR' key='0.0 0.5 1.0' keyValue='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_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
132 | <IS> |
133 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
137 | <IS> |
138 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
142 | <IS> |
143 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
147 | <IS> |
148 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
152 | <IS> |
153 | <connect nodeField='value_changed' protoField='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_ANIMATOR' key='0.0 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0'> |
157 | <IS> |
158 | <connect nodeField='value_changed' protoField='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='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" '> |
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 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 |
HUMANOIDROOT_POSITION_ANIMATOR
PositionInterpolator set_fraction SFFloat |
||||||
TIMER
TimeSensor fraction_changed SFFloat |
HUMANOIDROOT_ANIMATOR
OrientationInterpolator set_fraction SFFloat |
||||||
TIMER
TimeSensor fraction_changed SFFloat |
SACROILIAC_ANIMATOR
OrientationInterpolator set_fraction SFFloat |
||||||
TIMER
TimeSensor fraction_changed SFFloat |
L_HIP_ANIMATOR
OrientationInterpolator set_fraction SFFloat |
||||||
TIMER
TimeSensor fraction_changed SFFloat |
L_KNEE_ANIMATOR
OrientationInterpolator set_fraction SFFloat |
||||||
TIMER
TimeSensor fraction_changed SFFloat |
L_ANKLE_ANIMATOR
OrientationInterpolator set_fraction SFFloat |
||||||
TIMER
TimeSensor fraction_changed SFFloat |
L_MIDTARSAL_ANIMATOR
OrientationInterpolator set_fraction SFFloat |
||||||
TIMER
TimeSensor fraction_changed SFFloat |
R_HIP_ANIMATOR
OrientationInterpolator set_fraction SFFloat |
||||||
Anchor |
description='InterchangableActorsViaDynamicRouting' User-interaction hint for this node. |
<!--
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. -->