1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
|
3 | <X3D profile='Immersive' version='4.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'> |
4 | <head> |
5 | <component level='1' name='HAnim'/> |
6 | <meta name='title' content='HAnimModelHandLeft.x3d'/> |
7 | <meta name='description' content='Left hand, using high-fidelity definitions for HAnim version 2.0'/> |
8 | <meta name='creator' content='Kwan Hee YOO, Don Brutzman and Joe Williams'/> |
9 | <meta name='created' content='26 January 2015'/> |
10 | <meta name='modified' content='23 December 2021'/> |
11 | <meta name=' TODO ' content=' fix visible geometry for thumb and index finger, midcarpal_1 and midcarpal_2 '/> |
12 | <meta name='Image' content='HAnimModelHandRightSegmentVisualizationError.png'/> |
13 | <meta name=' error ' content=' not yet to scale, also relatively flat '/> |
14 | <meta name=' warning ' content=' TODO will X3D HAnim component add a new level to support LOA-4 functionality? '/> |
15 | <meta name='info' content='TODO describe how to compute and apply offsets for center values whenever attaching this appendage to a body'/> |
16 | <meta name='reference' content='https://www.web3d.org/working-groups/humanoid-animation-HAnim'/> |
17 | <meta name='reference' content='https://www.web3d.org/documents/specifications/19774/V2.0'/> |
18 | <meta name='reference' content='https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#TheHands'/> |
19 | <meta name='reference' content='https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-HandJoints'/> |
20 | <meta name='reference' content='https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy4'/> |
21 | <meta name='reference' content='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/hanim.html'/> |
22 | <meta name='subject' content='X3D HAnim humanoid animation'/> |
23 | <meta name=' TODO ' content=' Integrate and confirm Segment/Joint names, Viewpoints. '/> |
24 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/HAnimModelHandLeft.x3d'/> |
25 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
26 | <meta name='license' content='../license.html'/> |
27 | </head> |
28 | <Scene> |
29 | <WorldInfo title='HAnimModelHandLeft.x3d'/> |
30 | <HAnimHumanoid DEF='hanim_Hand_Left' loa='4' name='Hand_Left'> |
31 | <!-- original HAnimHumanoid info='"authorName=Kwan Hee YOO, Don Brutzman and Joe Williams"' --> |
32 | <MetadataSet containerField='metadata' name='HAnimHumanoid.info' reference='https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid'> |
33 | <MetadataString name='authorName' value='Kwan Hee YOO, Don Brutzman and Joe Williams'/> |
34 | </MetadataSet> |
35 |
<!-- HAnimJoint
hanim_humanoid_root is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_humanoid_root' containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'> |
36 | <!-- Might consider putting a HAnimSegment here, but that doesn't help with re-use of this hand model --> |
37 |
<!-- HAnimJoint
hanim_l_radiocarpal is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_radiocarpal' description='connection joint of hand to leg above' name='l_radiocarpal' ulimit='0 0 0' llimit='0 0 0'> |
38 |
<!-- HAnimSegment
hanim_l_carpal is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal' name='l_carpal'> |
39 | <Transform> |
40 | |
41 | <Sphere radius='0.025'/> |
42 | <Appearance DEF='HAnimJointAppearanceBlue'> |
43 | <Material diffuseColor='0 0 1'/> |
44 | </Appearance> |
45 | </Shape> |
46 | </Transform> |
47 | <Shape> |
48 | <Appearance> |
49 | <Material emissiveColor='1 1 1'/> |
50 | </Appearance> |
51 | <IndexedLineSet DEF='RCToMC12' coordIndex='0 1'> |
52 | <Coordinate point='0 0 0 0.1 0.1 0'/> |
53 | </IndexedLineSet> |
54 | </Shape> |
55 | <Shape> |
56 | <Appearance> |
57 | <Material emissiveColor='1 1 1'/> |
58 | </Appearance> |
59 | <IndexedLineSet DEF='RCToMC3' coordIndex='0 1'> |
60 | <Coordinate point='0 0 0 0.0 0.07 0'/> |
61 | </IndexedLineSet> |
62 | </Shape> |
63 | <Shape> |
64 | <Appearance> |
65 | <Material emissiveColor='1 1 1'/> |
66 | </Appearance> |
67 | <IndexedLineSet DEF='RCToMC45' coordIndex='0 1'> |
68 | <Coordinate point='0 0 0 -0.1 0.1 0'/> |
69 | </IndexedLineSet> |
70 | </Shape> |
71 | </HAnimSegment> |
72 | <!-- MC1 --> |
73 |
<!-- HAnimJoint
hanim_l_midcarpal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_midcarpal_1' center='0.14 0.09 0' name='l_midcarpal_1' ulimit='0 0 0' llimit='0 0 0'> |
74 |
<!-- HAnimSegment
hanim_l_trapezium is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_trapezium' name='l_trapezium'> |
75 | <Transform translation='0.14 0.09 0'> |
76 |
<!-- Shape
HAnimNewJointShape is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Shape DEF='HAnimNewJointShape'> |
77 | <Sphere radius='0.025'/> |
78 | <Appearance DEF='HAnimJointAppearanceRed'> |
79 | <Material diffuseColor='1 0 0'/> |
80 | </Appearance> |
81 | </Shape> |
82 | </Transform> |
83 | <Shape> |
84 | <Appearance> |
85 | <Material emissiveColor='1 1 1'/> |
86 | </Appearance> |
87 | <IndexedLineSet DEF='MC12toCMC1' coordIndex='0 1'> |
88 | <Coordinate point='0.1 0.1 0 0.2 0.15 0'/> |
89 | </IndexedLineSet> |
90 | </Shape> |
91 | <Shape> |
92 | <Appearance> |
93 | <Material emissiveColor='1 1 1'/> |
94 | </Appearance> |
95 | <IndexedLineSet DEF='MC1toCMC1' coordIndex='0 1'> |
96 | <Coordinate point='0.1 0.1 0 0.1 0.2 0'/> |
97 | </IndexedLineSet> |
98 | </Shape> |
99 | </HAnimSegment> |
100 | <!-- thumb finger --> |
101 |
<!-- HAnimJoint
hanim_l_carpometacarpal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpometacarpal_1' center='0.2 0.15 0' name='l_carpometacarpal_1' ulimit='0 0 0' llimit='0 0 0'> |
102 |
<!-- HAnimSegment
hanim_l_metacarpal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_metacarpal_1' name='l_metacarpal_1'> |
103 | <Transform translation='0.2 0.15 0'> |
104 | <Shape USE='HAnimJointShape'/> |
105 | </Transform> |
106 | <Shape> |
107 | <Appearance> |
108 | <Material emissiveColor='1 1 1'/> |
109 | </Appearance> |
110 | <IndexedLineSet DEF='CMC1toMCP1' coordIndex='0 1'> |
111 | <Coordinate point='0.2 0.15 0 0.3 0.3 0'/> |
112 | </IndexedLineSet> |
113 | </Shape> |
114 | </HAnimSegment> |
115 |
<!-- HAnimJoint
hanim_l_metacarpophalangeal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_metacarpophalangeal_1' center='0.3 0.3 0' name='l_metacarpophalangeal_1' ulimit='0 0 0' llimit='0 0 0'> |
116 |
<!-- HAnimSegment
hanim_l_carpal_proximal_phalanx_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_proximal_phalanx_1' name='l_carpal_proximal_phalanx_1'> |
117 | <Transform translation='0.3 0.3 0'> |
118 | <Shape USE='HAnimJointShape'/> |
119 | </Transform> |
120 | <Shape> |
121 | <Appearance> |
122 | <Material emissiveColor='1 1 1'/> |
123 | </Appearance> |
124 | <IndexedLineSet DEF='MCP11toIP1' coordIndex='0 1'> |
125 | <Coordinate point='0.3 0.3 0 0.35 0.4 0'/> |
126 | </IndexedLineSet> |
127 | </Shape> |
128 | </HAnimSegment> |
129 |
<!-- HAnimJoint
hanim_l_carpal_interphalangeal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_interphalangeal_1' center='0.35 0.4 0' name='l_carpal_interphalangeal_1' ulimit='0 0 0' llimit='0 0 0'> |
130 |
<!-- HAnimSegment
hanim_l_carpal_distal_phalanx_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_distal_phalanx_1' name='l_carpal_distal_phalanx_1'> |
131 | <Transform translation='0.35 0.4 0'> |
132 | <Shape USE='HAnimJointShape'/> |
133 | </Transform> |
134 | <Shape> |
135 | <Appearance> |
136 | <Material emissiveColor='1 1 1'/> |
137 | </Appearance> |
138 | <IndexedLineSet DEF='fingertip_l_carpal_interphalangeal_1' coordIndex='0 1'> |
139 | <Coordinate point='0.35 0.4 0 0.36 0.45 0'/> |
140 | </IndexedLineSet> |
141 | </Shape> |
142 | </HAnimSegment> |
143 | </HAnimJoint> |
144 | </HAnimJoint> |
145 | </HAnimJoint> |
146 | </HAnimJoint> |
147 | <!-- MC2 --> |
148 |
<!-- HAnimJoint
hanim_l_midcarpal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_midcarpal_2' center='0.07 0.07 0' name='l_midcarpal_2' ulimit='0 0 0' llimit='0 0 0'> |
149 |
<!-- HAnimSegment
hanim_l_trapezoid is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_trapezoid' name='l_trapezoid'> |
150 | <Transform translation='0.07 0.07 0'> |
151 | <Shape USE='HAnimNewJointShape'/> |
152 | </Transform> |
153 | <Shape> |
154 | <Appearance> |
155 | <Material emissiveColor='1 1 1'/> |
156 | </Appearance> |
157 | <IndexedLineSet DEF='MC2toCMC2' coordIndex='0 1'> |
158 | <Coordinate point='-0.1 0.1 0 -0.1 0.2 0'/> |
159 | </IndexedLineSet> |
160 | </Shape> |
161 | </HAnimSegment> |
162 | <!-- index finger --> |
163 |
<!-- HAnimJoint
hanim_l_carpometacarpal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpometacarpal_2' center='0.1 0.2 0' name='l_carpometacarpal_2' ulimit='0 0 0' llimit='0 0 0'> |
164 |
<!-- HAnimSegment
hanim_l_metacarpal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_metacarpal_2' name='l_metacarpal_2'> |
165 | <Transform translation='0.1 0.2 0'> |
166 | <Shape USE='HAnimJointShape'/> |
167 | </Transform> |
168 | <Shape> |
169 | <Appearance> |
170 | <Material emissiveColor='1 1 1'/> |
171 | </Appearance> |
172 | <IndexedLineSet DEF='CMC2toMCP2' coordIndex='0 1'> |
173 | <Coordinate point='0.1 0.2 0 0.15 0.5 0'/> |
174 | </IndexedLineSet> |
175 | </Shape> |
176 | </HAnimSegment> |
177 |
<!-- HAnimJoint
hanim_l_metacarpophalangeal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_metacarpophalangeal_2' center='0.15 0.5 0' name='l_metacarpophalangeal_2' ulimit='0 0 0' llimit='0 0 0'> |
178 |
<!-- HAnimSegment
hanim_l_carpal_proximal_phalanx_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_proximal_phalanx_2' name='l_carpal_proximal_phalanx_2'> |
179 | <Transform translation='0.15 0.5 0'> |
180 | <Shape USE='HAnimJointShape'/> |
181 | </Transform> |
182 | <Shape> |
183 | <Appearance> |
184 | <Material emissiveColor='1 1 1'/> |
185 | </Appearance> |
186 | <IndexedLineSet DEF='MCP2toPIP2' coordIndex='0 1'> |
187 | <Coordinate point='0.15 0.5 0 0.2 0.7 0'/> |
188 | </IndexedLineSet> |
189 | </Shape> |
190 | </HAnimSegment> |
191 |
<!-- HAnimJoint
hanim_l_carpal_proximal_interphalangeal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_proximal_interphalangeal_2' center='0.2 0.7 0' name='l_carpal_proximal_interphalangeal_2' ulimit='0 0 0' llimit='0 0 0'> |
192 |
<!-- HAnimSegment
hanim_l_carpal_middle_phalanx_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_middle_phalanx_2' name='l_carpal_middle_phalanx_2'> |
193 | <Transform translation='0.2 0.7 0'> |
194 | <Shape USE='HAnimJointShape'/> |
195 | </Transform> |
196 | <Shape> |
197 | <Appearance> |
198 | <Material emissiveColor='1 1 1'/> |
199 | </Appearance> |
200 | <IndexedLineSet DEF='PIP2toDIP2' coordIndex='0 1'> |
201 | <Coordinate point='0.2 0.7 0 0.24 0.87 0'/> |
202 | </IndexedLineSet> |
203 | </Shape> |
204 | </HAnimSegment> |
205 |
<!-- HAnimJoint
hanim_l_carpal_distal_interphalangeal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_distal_interphalangeal_2' center='0.24 0.87 0' name='l_carpal_distal_interphalangeal_2' ulimit='0 0 0' llimit='0 0 0'> |
206 |
<!-- HAnimSegment
hanim_l_carpal_distal_phalanx_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_distal_phalanx_2' name='l_carpal_distal_phalanx_2'> |
207 | <Transform translation='0.24 0.87 0'> |
208 | <Shape USE='HAnimJointShape'/> |
209 | </Transform> |
210 | <Shape> |
211 | <Appearance> |
212 | <Material emissiveColor='1 1 1'/> |
213 | </Appearance> |
214 | <IndexedLineSet DEF='fingertip_l_carpal_distal_interphalangeal_2' coordIndex='0 1'> |
215 | <Coordinate point='0.24 0.87 0 0.26 0.93 0'/> |
216 | </IndexedLineSet> |
217 | </Shape> |
218 | </HAnimSegment> |
219 | </HAnimJoint> |
220 | </HAnimJoint> |
221 | </HAnimJoint> |
222 | </HAnimJoint> |
223 | </HAnimJoint> |
224 | <!-- MC3 --> |
225 |
<!-- HAnimJoint
hanim_l_midcarpal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_midcarpal_3' center='0.0 0.07 0' name='l_midcarpal_3' ulimit='0 0 0' llimit='0 0 0'> |
226 |
<!-- HAnimSegment
hanim_l_capitate is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_capitate' name='l_capitate'> |
227 | <Transform translation='0.0 0.07 0'> |
228 | <Shape USE='HAnimNewJointShape'/> |
229 | </Transform> |
230 | <Shape> |
231 | <Appearance> |
232 | <Material emissiveColor='1 1 1'/> |
233 | </Appearance> |
234 | <IndexedLineSet DEF='MC3toCMC3' coordIndex='0 1'> |
235 | <Coordinate point='0.0 0.07 0 0.0 0.2 0'/> |
236 | </IndexedLineSet> |
237 | </Shape> |
238 | </HAnimSegment> |
239 | <!-- Middle fingle --> |
240 |
<!-- HAnimJoint
hanim_l_carpometacarpal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpometacarpal_3' center='0.0 0.2 0' name='l_carpometacarpal_3' ulimit='0 0 0' llimit='0 0 0'> |
241 |
<!-- HAnimSegment
hanim_l_metacarpal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_metacarpal_3' name='l_metacarpal_3'> |
242 | <Transform translation='0.0 0.2 0'> |
243 | <Shape USE='HAnimJointShape'/> |
244 | </Transform> |
245 | <Shape> |
246 | <Appearance> |
247 | <Material emissiveColor='1 1 1'/> |
248 | </Appearance> |
249 | <IndexedLineSet DEF='CMC3toMCP3' coordIndex='0 1'> |
250 | <Coordinate point='0.0 0.2 0 0.03 0.5 0'/> |
251 | </IndexedLineSet> |
252 | </Shape> |
253 | </HAnimSegment> |
254 |
<!-- HAnimJoint
hanim_l_metacarpophalangeal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_metacarpophalangeal_3' center='0.03 0.5 0' name='l_metacarpophalangeal_3' ulimit='0 0 0' llimit='0 0 0'> |
255 |
<!-- HAnimSegment
hanim_l_carpal_proximal_phalanx_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_proximal_phalanx_3' name='l_carpal_proximal_phalanx_3'> |
256 | <Transform translation='0.03 0.5 0'> |
257 | <Shape USE='HAnimJointShape'/> |
258 | </Transform> |
259 | <Shape> |
260 | <Appearance> |
261 | <Material emissiveColor='1 1 1'/> |
262 | </Appearance> |
263 | <IndexedLineSet DEF='MCP3toPIP3' coordIndex='0 1'> |
264 | <Coordinate point='0.03 0.5 0 0.05 0.75 0'/> |
265 | </IndexedLineSet> |
266 | </Shape> |
267 | </HAnimSegment> |
268 |
<!-- HAnimJoint
hanim_l_carpal_proximal_interphalangeal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_proximal_interphalangeal_3' center='0.05 0.75 0' name='l_carpal_proximal_interphalangeal_3' ulimit='0 0 0' llimit='0 0 0'> |
269 |
<!-- HAnimSegment
hanim_l_carpal_middle_phalanx_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_middle_phalanx_3' name='l_carpal_middle_phalanx_3'> |
270 | <Transform translation='0.05 0.75 0'> |
271 | <Shape USE='HAnimJointShape'/> |
272 | </Transform> |
273 | <Shape> |
274 | <Appearance> |
275 | <Material emissiveColor='1 1 1'/> |
276 | </Appearance> |
277 | <IndexedLineSet DEF='PIP3toDIP3' coordIndex='0 1'> |
278 | <Coordinate point='0.05 0.75 0 0.08 0.96 0'/> |
279 | </IndexedLineSet> |
280 | </Shape> |
281 | </HAnimSegment> |
282 |
<!-- HAnimJoint
hanim_l_carpal_distal_interphalangeal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_distal_interphalangeal_3' center='0.08 0.96 0' name='l_carpal_distal_interphalangeal_3' ulimit='0 0 0' llimit='0 0 0'> |
283 |
<!-- HAnimSegment
hanim_l_carpal_distal_phalanx_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_distal_phalanx_3' name='l_carpal_distal_phalanx_3'> |
284 | <Transform translation='0.08 0.96 0'> |
285 | <Shape USE='HAnimJointShape'/> |
286 | </Transform> |
287 | <Shape> |
288 | <Appearance> |
289 | <Material emissiveColor='1 1 1'/> |
290 | </Appearance> |
291 | <IndexedLineSet DEF='fingertip_l_carpal_distal_interphalangeal_3' coordIndex='0 1'> |
292 | <Coordinate point='0.08 0.96 0 0.09 1.05 0'/> |
293 | </IndexedLineSet> |
294 | </Shape> |
295 | </HAnimSegment> |
296 | </HAnimJoint> |
297 | </HAnimJoint> |
298 | </HAnimJoint> |
299 | </HAnimJoint> |
300 | </HAnimJoint> |
301 | <!-- MC45 --> |
302 |
<!-- HAnimJoint
hanim_l_midcarpal_4_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_midcarpal_4_5' center='-0.1 0.1 0' name='l_midcarpal_4_5' ulimit='0 0 0' llimit='0 0 0'> |
303 |
<!-- HAnimSegment
hanim_l_hamate is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_hamate' name='l_hamate'> |
304 | <Transform translation='-0.1 0.1 0'> |
305 | <Shape USE='HAnimNewJointShape'/> |
306 | </Transform> |
307 | <Shape> |
308 | <Appearance> |
309 | <Material emissiveColor='1 1 1'/> |
310 | </Appearance> |
311 | <IndexedLineSet DEF='MC45toCMC4' coordIndex='0 1'> |
312 | <Coordinate point='-0.1 0.1 0 -0.1 0.2 0'/> |
313 | </IndexedLineSet> |
314 | </Shape> |
315 | <Shape> |
316 | <Appearance> |
317 | <Material emissiveColor='1 1 1'/> |
318 | </Appearance> |
319 | <IndexedLineSet DEF='MC45toCMC5' coordIndex='0 1'> |
320 | <Coordinate point='-0.1 0.1 0 -0.15 0.17 0'/> |
321 | </IndexedLineSet> |
322 | </Shape> |
323 | </HAnimSegment> |
324 | <!-- ring finger --> |
325 |
<!-- HAnimJoint
hanim_l_carpometacarpal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpometacarpal_4' center='-0.1 0.2 0' name='l_carpometacarpal_4' ulimit='0 0 0' llimit='0 0 0'> |
326 |
<!-- HAnimSegment
hanim_l_metacarpal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_metacarpal_4' name='l_metacarpal_4'> |
327 | <Transform translation='-0.1 0.2 0'> |
328 | <Shape USE='HAnimJointShape'/> |
329 | </Transform> |
330 | <Shape> |
331 | <Appearance> |
332 | <Material emissiveColor='1 1 1'/> |
333 | </Appearance> |
334 | <IndexedLineSet DEF='CMC4toMCP4' coordIndex='0 1'> |
335 | <Coordinate point='-0.1 0.2 0 -0.1 0.47 0'/> |
336 | </IndexedLineSet> |
337 | </Shape> |
338 | </HAnimSegment> |
339 |
<!-- HAnimJoint
hanim_l_metacarpophalangeal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_metacarpophalangeal_4' center='-0.1 0.47 0' name='l_metacarpophalangeal_4' ulimit='0 0 0' llimit='0 0 0'> |
340 |
<!-- HAnimSegment
hanim_l_carpal_proximal_phalanx_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_proximal_phalanx_4' name='l_carpal_proximal_phalanx_4'> |
341 | <Transform translation='-0.1 0.47 0'> |
342 | <Shape USE='HAnimJointShape'/> |
343 | </Transform> |
344 | <Shape> |
345 | <Appearance> |
346 | <Material emissiveColor='1 1 1'/> |
347 | </Appearance> |
348 | <IndexedLineSet DEF='MCP4toPIP4' coordIndex='0 1'> |
349 | <Coordinate point='-0.1 0.47 0 -0.1 0.7 0'/> |
350 | </IndexedLineSet> |
351 | </Shape> |
352 | </HAnimSegment> |
353 |
<!-- HAnimJoint
hanim_l_carpal_proximal_interphalangeal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_proximal_interphalangeal_4' center='-0.1 0.7 0' name='l_carpal_proximal_interphalangeal_4' ulimit='0 0 0' llimit='0 0 0'> |
354 |
<!-- HAnimSegment
hanim_l_carpal_middle_phalanx_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_middle_phalanx_4' name='l_carpal_middle_phalanx_4'> |
355 | <Transform translation='-0.1 0.7 0'> |
356 | <Shape USE='HAnimJointShape'/> |
357 | </Transform> |
358 | <Shape> |
359 | <Appearance> |
360 | <Material emissiveColor='1 1 1'/> |
361 | </Appearance> |
362 | <IndexedLineSet DEF='PIP4toDIP4' coordIndex='0 1'> |
363 | <Coordinate point='-0.1 0.7 0 -0.1 0.93 0'/> |
364 | </IndexedLineSet> |
365 | </Shape> |
366 | </HAnimSegment> |
367 |
<!-- HAnimJoint
hanim_l_carpal_distal_interphalangeal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_distal_interphalangeal_4' center='-0.1 0.93 0' name='l_carpal_distal_interphalangeal_4' ulimit='0 0 0' llimit='0 0 0'> |
368 |
<!-- HAnimSegment
hanim_l_carpal_distal_phalanx_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_distal_phalanx_4' name='l_carpal_distal_phalanx_4'> |
369 | <Transform translation='-0.1 0.93 0'> |
370 | <Shape USE='HAnimJointShape'/> |
371 | </Transform> |
372 | <Shape> |
373 | <Appearance> |
374 | <Material emissiveColor='1 1 1'/> |
375 | </Appearance> |
376 | <IndexedLineSet DEF='fingertip_l_carpal_distal_interphalangeal_4' coordIndex='0 1'> |
377 | <Coordinate point='-0.1 0.93 0 -0.1 1.0 0'/> |
378 | </IndexedLineSet> |
379 | </Shape> |
380 | </HAnimSegment> |
381 | </HAnimJoint> |
382 | </HAnimJoint> |
383 | </HAnimJoint> |
384 | </HAnimJoint> |
385 | <!-- pinky finger --> |
386 |
<!-- HAnimJoint
hanim_l_carpometacarpal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpometacarpal_5' center='-0.15 0.17 0' name='l_carpometacarpal_5' ulimit='0 0 0' llimit='0 0 0'> |
387 |
<!-- HAnimSegment
hanim_l_metacarpal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_metacarpal_5' name='l_metacarpal_5'> |
388 | <Transform translation='-0.15 0.17 0'> |
389 | <Shape USE='HAnimJointShape'/> |
390 | </Transform> |
391 | <Shape> |
392 | <Appearance> |
393 | <Material emissiveColor='1 1 1'/> |
394 | </Appearance> |
395 | <IndexedLineSet DEF='CMC5toMCP5' coordIndex='0 1'> |
396 | <Coordinate point='-0.15 0.17 0 -0.2 0.4 0'/> |
397 | </IndexedLineSet> |
398 | </Shape> |
399 | </HAnimSegment> |
400 |
<!-- HAnimJoint
hanim_l_metacarpophalangeal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_metacarpophalangeal_5' center='-0.2 0.4 0' name='l_metacarpophalangeal_5' ulimit='0 0 0' llimit='0 0 0'> |
401 |
<!-- HAnimSegment
hanim_l_carpal_proximal_phalanx_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_proximal_phalanx_5' name='l_carpal_proximal_phalanx_5'> |
402 | <Transform translation='-0.2 0.4 0'> |
403 | <Shape USE='HAnimJointShape'/> |
404 | </Transform> |
405 | <Shape> |
406 | <Appearance> |
407 | <Material emissiveColor='1 1 1'/> |
408 | </Appearance> |
409 | <IndexedLineSet DEF='MCP5toPIP5' coordIndex='0 1'> |
410 | <Coordinate point='-0.2 0.4 0 -0.23 0.63 0'/> |
411 | </IndexedLineSet> |
412 | </Shape> |
413 | </HAnimSegment> |
414 |
<!-- HAnimJoint
hanim_l_carpal_proximal_interphalangeal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_proximal_interphalangeal_5' center='-0.23 0.63 0' name='l_carpal_proximal_interphalangeal_5' ulimit='0 0 0' llimit='0 0 0'> |
415 |
<!-- HAnimSegment
hanim_l_carpal_middle_phalanx_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_middle_phalanx_5' name='l_carpal_middle_phalanx_5'> |
416 | <Transform translation='-0.23 0.63 0'> |
417 | <Shape USE='HAnimJointShape'/> |
418 | </Transform> |
419 | <Shape> |
420 | <Appearance> |
421 | <Material emissiveColor='1 1 1'/> |
422 | </Appearance> |
423 | <IndexedLineSet DEF='PIP5toDIP5' coordIndex='0 1'> |
424 | <Coordinate point='-0.23 0.63 0 -0.25 0.79 0'/> |
425 | </IndexedLineSet> |
426 | </Shape> |
427 | </HAnimSegment> |
428 |
<!-- HAnimJoint
hanim_l_carpal_distal_interphalangeal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_l_carpal_distal_interphalangeal_5' center='-0.25 0.79 0' name='l_carpal_distal_interphalangeal_5' ulimit='0 0 0' llimit='0 0 0'> |
429 |
<!-- HAnimSegment
hanim_l_carpal_distal_phalanx_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_l_carpal_distal_phalanx_5' name='l_carpal_distal_phalanx_5'> |
430 | <Transform translation='-0.25 0.79 0'> |
431 | <Shape USE='HAnimJointShape'/> |
432 | </Transform> |
433 | <Shape> |
434 | <Appearance> |
435 | <Material emissiveColor='1 1 1'/> |
436 | </Appearance> |
437 | <IndexedLineSet DEF='fingertip_l_carpal_distal_interphalangeal_5' coordIndex='0 1'> |
438 | <Coordinate point='-0.25 0.79 0 -0.26 0.85 0'/> |
439 | </IndexedLineSet> |
440 | </Shape> |
441 | </HAnimSegment> |
442 | </HAnimJoint> |
443 | </HAnimJoint> |
444 | </HAnimJoint> |
445 | </HAnimJoint> |
446 | </HAnimJoint> |
447 | </HAnimJoint> |
448 | </HAnimJoint> |
449 | <HAnimJoint USE='hanim_humanoid_root' containerField='joints'/> |
450 | <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_2' containerField='joints'/> |
451 | <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_3' containerField='joints'/> |
452 | <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_4' containerField='joints'/> |
453 | <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_5' containerField='joints'/> |
454 | <HAnimJoint USE='hanim_l_carpal_interphalangeal_1' containerField='joints'/> |
455 | <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_2' containerField='joints'/> |
456 | <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_3' containerField='joints'/> |
457 | <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_4' containerField='joints'/> |
458 | <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_5' containerField='joints'/> |
459 | <HAnimJoint USE='hanim_l_carpometacarpal_1' containerField='joints'/> |
460 | <HAnimJoint USE='hanim_l_carpometacarpal_2' containerField='joints'/> |
461 | <HAnimJoint USE='hanim_l_carpometacarpal_3' containerField='joints'/> |
462 | <HAnimJoint USE='hanim_l_carpometacarpal_4' containerField='joints'/> |
463 | <HAnimJoint USE='hanim_l_carpometacarpal_5' containerField='joints'/> |
464 | <HAnimJoint USE='hanim_l_metacarpophalangeal_1' containerField='joints'/> |
465 | <HAnimJoint USE='hanim_l_metacarpophalangeal_2' containerField='joints'/> |
466 | <HAnimJoint USE='hanim_l_metacarpophalangeal_3' containerField='joints'/> |
467 | <HAnimJoint USE='hanim_l_metacarpophalangeal_4' containerField='joints'/> |
468 | <HAnimJoint USE='hanim_l_metacarpophalangeal_5' containerField='joints'/> |
469 | <HAnimJoint USE='hanim_l_midcarpal_1' containerField='joints'/> |
470 | <HAnimJoint USE='hanim_l_midcarpal_2' containerField='joints'/> |
471 | <HAnimJoint USE='hanim_l_midcarpal_3' containerField='joints'/> |
472 | <HAnimJoint USE='hanim_l_midcarpal_4_5' containerField='joints'/> |
473 | <HAnimJoint USE='hanim_l_radiocarpal' containerField='joints'/> |
474 | <HAnimSegment USE='hanim_l_capitate' containerField='segments'/> |
475 | <HAnimSegment USE='hanim_l_carpal' containerField='segments'/> |
476 | <HAnimSegment USE='hanim_l_carpal_distal_phalanx_1' containerField='segments'/> |
477 | <HAnimSegment USE='hanim_l_carpal_distal_phalanx_2' containerField='segments'/> |
478 | <HAnimSegment USE='hanim_l_carpal_distal_phalanx_3' containerField='segments'/> |
479 | <HAnimSegment USE='hanim_l_carpal_distal_phalanx_4' containerField='segments'/> |
480 | <HAnimSegment USE='hanim_l_carpal_distal_phalanx_5' containerField='segments'/> |
481 | <HAnimSegment USE='hanim_l_carpal_middle_phalanx_2' containerField='segments'/> |
482 | <HAnimSegment USE='hanim_l_carpal_middle_phalanx_3' containerField='segments'/> |
483 | <HAnimSegment USE='hanim_l_carpal_middle_phalanx_4' containerField='segments'/> |
484 | <HAnimSegment USE='hanim_l_carpal_middle_phalanx_5' containerField='segments'/> |
485 | <HAnimSegment USE='hanim_l_carpal_proximal_phalanx_1' containerField='segments'/> |
486 | <HAnimSegment USE='hanim_l_carpal_proximal_phalanx_2' containerField='segments'/> |
487 | <HAnimSegment USE='hanim_l_carpal_proximal_phalanx_3' containerField='segments'/> |
488 | <HAnimSegment USE='hanim_l_carpal_proximal_phalanx_4' containerField='segments'/> |
489 | <HAnimSegment USE='hanim_l_carpal_proximal_phalanx_5' containerField='segments'/> |
490 | <HAnimSegment USE='hanim_l_hamate' containerField='segments'/> |
491 | <HAnimSegment USE='hanim_l_metacarpal_1' containerField='segments'/> |
492 | <HAnimSegment USE='hanim_l_metacarpal_2' containerField='segments'/> |
493 | <HAnimSegment USE='hanim_l_metacarpal_3' containerField='segments'/> |
494 | <HAnimSegment USE='hanim_l_metacarpal_4' containerField='segments'/> |
495 | <HAnimSegment USE='hanim_l_metacarpal_5' containerField='segments'/> |
496 | <HAnimSegment USE='hanim_l_trapezium' containerField='segments'/> |
497 | <HAnimSegment USE='hanim_l_trapezoid' containerField='segments'/> |
498 | </HAnimHumanoid> |
499 | </Scene> |
500 | </X3D> |
============================================================================================================================= HAnimHumanoid hanim_Hand_Left skeleton holds X3D4 HAnim2 joints/segments. [key] jointname : segmentname ^ sitename [nodes] HAnimJoint (25), : HAnimSegment (24), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (0) ============================================================================================================================= HAnimHumanoid DEF='hanim_Hand_Left name='Hand_Left' loa='4' skeleton humanoid_root l_radiocarpal : l_carpal l_midcarpal_1 : l_trapezium | l_carpometacarpal_1 : l_metacarpal_1 | l_metacarpophalangeal_1 : l_carpal_proximal_phalanx_1 | l_carpal_interphalangeal_1 : l_carpal_distal_phalanx_1 l_midcarpal_2 : l_trapezoid | l_carpometacarpal_2 : l_metacarpal_2 | l_metacarpophalangeal_2 : l_carpal_proximal_phalanx_2 | l_carpal_proximal_interphalangeal_2 : l_carpal_middle_phalanx_2 | l_carpal_distal_interphalangeal_2 : l_carpal_distal_phalanx_2 l_midcarpal_3 : l_capitate | l_carpometacarpal_3 : l_metacarpal_3 | l_metacarpophalangeal_3 : l_carpal_proximal_phalanx_3 | l_carpal_proximal_interphalangeal_3 : l_carpal_middle_phalanx_3 | l_carpal_distal_interphalangeal_3 : l_carpal_distal_phalanx_3 l_midcarpal_4_5 : l_hamate l_carpometacarpal_4 : l_metacarpal_4 | l_metacarpophalangeal_4 : l_carpal_proximal_phalanx_4 | l_carpal_proximal_interphalangeal_4 : l_carpal_middle_phalanx_4 | l_carpal_distal_interphalangeal_4 : l_carpal_distal_phalanx_4 l_carpometacarpal_5 : l_metacarpal_5 l_metacarpophalangeal_5 : l_carpal_proximal_phalanx_5 l_carpal_proximal_interphalangeal_5 : l_carpal_middle_phalanx_5 l_carpal_distal_interphalangeal_5 : l_carpal_distal_phalanx_5 =============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes. Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
<HAnimHumanoid DEF='hanim_Hand_Left' name='Hand_Left' version ='2.0' > | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
449 |
<HAnimJoint USE='hanim_humanoid_root' containerField='joints'/>
|
450 |
<HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_2' containerField='joints'/>
|
451 |
<HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_3' containerField='joints'/>
|
452 |
<HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_4' containerField='joints'/>
|
453 |
<HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_5' containerField='joints'/>
|
454 |
<HAnimJoint USE='hanim_l_carpal_interphalangeal_1' containerField='joints'/>
|
455 |
<HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_2' containerField='joints'/>
|
456 |
<HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_3' containerField='joints'/>
|
457 |
<HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_4' containerField='joints'/>
|
458 |
<HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_5' containerField='joints'/>
|
459 |
<HAnimJoint USE='hanim_l_carpometacarpal_1' containerField='joints'/>
|
460 |
<HAnimJoint USE='hanim_l_carpometacarpal_2' containerField='joints'/>
|
461 |
<HAnimJoint USE='hanim_l_carpometacarpal_3' containerField='joints'/>
|
462 |
<HAnimJoint USE='hanim_l_carpometacarpal_4' containerField='joints'/>
|
463 |
<HAnimJoint USE='hanim_l_carpometacarpal_5' containerField='joints'/>
|
464 |
<HAnimJoint USE='hanim_l_metacarpophalangeal_1' containerField='joints'/>
|
465 |
<HAnimJoint USE='hanim_l_metacarpophalangeal_2' containerField='joints'/>
|
466 |
<HAnimJoint USE='hanim_l_metacarpophalangeal_3' containerField='joints'/>
|
467 |
<HAnimJoint USE='hanim_l_metacarpophalangeal_4' containerField='joints'/>
|
468 |
<HAnimJoint USE='hanim_l_metacarpophalangeal_5' containerField='joints'/>
|
469 |
<HAnimJoint USE='hanim_l_midcarpal_1' containerField='joints'/>
|
470 |
<HAnimJoint USE='hanim_l_midcarpal_2' containerField='joints'/>
|
471 |
<HAnimJoint USE='hanim_l_midcarpal_3' containerField='joints'/>
|
472 |
<HAnimJoint USE='hanim_l_midcarpal_4_5' containerField='joints'/>
|
473 |
<HAnimJoint USE='hanim_l_radiocarpal' containerField='joints'/>
|
474 |
<HAnimSegment USE='hanim_l_capitate' containerField='segments'/>
|
475 |
<HAnimSegment USE='hanim_l_carpal' containerField='segments'/>
|
476 |
<HAnimSegment USE='hanim_l_carpal_distal_phalanx_1' containerField='segments'/>
|
477 |
<HAnimSegment USE='hanim_l_carpal_distal_phalanx_2' containerField='segments'/>
|
478 |
<HAnimSegment USE='hanim_l_carpal_distal_phalanx_3' containerField='segments'/>
|
479 |
<HAnimSegment USE='hanim_l_carpal_distal_phalanx_4' containerField='segments'/>
|
480 |
<HAnimSegment USE='hanim_l_carpal_distal_phalanx_5' containerField='segments'/>
|
481 |
<HAnimSegment USE='hanim_l_carpal_middle_phalanx_2' containerField='segments'/>
|
482 |
<HAnimSegment USE='hanim_l_carpal_middle_phalanx_3' containerField='segments'/>
|
483 |
<HAnimSegment USE='hanim_l_carpal_middle_phalanx_4' containerField='segments'/>
|
484 |
<HAnimSegment USE='hanim_l_carpal_middle_phalanx_5' containerField='segments'/>
|
485 |
<HAnimSegment USE='hanim_l_carpal_proximal_phalanx_1' containerField='segments'/>
|
486 |
<HAnimSegment USE='hanim_l_carpal_proximal_phalanx_2' containerField='segments'/>
|
487 |
<HAnimSegment USE='hanim_l_carpal_proximal_phalanx_3' containerField='segments'/>
|
488 |
<HAnimSegment USE='hanim_l_carpal_proximal_phalanx_4' containerField='segments'/>
|
489 |
<HAnimSegment USE='hanim_l_carpal_proximal_phalanx_5' containerField='segments'/>
|
490 |
<HAnimSegment USE='hanim_l_hamate' containerField='segments'/>
|
491 |
<HAnimSegment USE='hanim_l_metacarpal_1' containerField='segments'/>
|
492 |
<HAnimSegment USE='hanim_l_metacarpal_2' containerField='segments'/>
|
493 |
<HAnimSegment USE='hanim_l_metacarpal_3' containerField='segments'/>
|
494 |
<HAnimSegment USE='hanim_l_metacarpal_4' containerField='segments'/>
|
495 |
<HAnimSegment USE='hanim_l_metacarpal_5' containerField='segments'/>
|
496 |
<HAnimSegment USE='hanim_l_trapezium' containerField='segments'/>
|
497 |
<HAnimSegment USE='hanim_l_trapezoid' containerField='segments'/>
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</HAnimHumanoid> |
<!--
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)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->