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='HAnimModelHandRight.x3d'/> |
7 | <meta name='description' content='Right 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/HAnimModelHandRight.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='HAnimModelHandRight.x3d'/> |
30 | <HAnimHumanoid DEF='hanim_Hand_Right' loa='4' name='Hand_Right'> |
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_r_radiocarpal is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_radiocarpal' description='connection joint of hand to leg above' name='r_radiocarpal' ulimit='0 0 0' llimit='0 0 0'> |
38 |
<!-- HAnimSegment
hanim_r_carpal is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal' name='r_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_r_midcarpal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_midcarpal_1' center='-0.14 0.09 0' name='r_midcarpal_1' ulimit='0 0 0' llimit='0 0 0'> |
74 |
<!-- HAnimSegment
hanim_r_trapezium is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_trapezium' name='r_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 | </HAnimSegment> |
92 | <!-- thumb finger --> |
93 |
<!-- HAnimJoint
hanim_r_carpometacarpal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpometacarpal_1' center='-0.2 0.15 0' name='r_carpometacarpal_1' ulimit='0 0 0' llimit='0 0 0'> |
94 |
<!-- HAnimSegment
hanim_r_metacarpal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_metacarpal_1' name='r_metacarpal_1'> |
95 | <Transform translation='-0.2 0.15 0'> |
96 | <Shape USE='HAnimJointShape'/> |
97 | </Transform> |
98 | <Shape> |
99 | <Appearance> |
100 | <Material emissiveColor='1 1 1'/> |
101 | </Appearance> |
102 | <IndexedLineSet DEF='CMC1toMCP1xxx' coordIndex='0 1'> |
103 | <Coordinate point='-0.2 0.15 0 -0.3 0.3 0'/> |
104 | </IndexedLineSet> |
105 | </Shape> |
106 | </HAnimSegment> |
107 |
<!-- HAnimJoint
hanim_r_metacarpophalangeal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_metacarpophalangeal_1' center='-0.3 0.3 0' name='r_metacarpophalangeal_1' ulimit='0 0 0' llimit='0 0 0'> |
108 |
<!-- HAnimSegment
hanim_r_carpal_proximal_phalanx_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_proximal_phalanx_1' name='r_carpal_proximal_phalanx_1'> |
109 | <Transform translation='-0.3 0.3 0'> |
110 | <Shape USE='HAnimJointShape'/> |
111 | </Transform> |
112 | <Shape> |
113 | <Appearance> |
114 | <Material emissiveColor='1 1 1'/> |
115 | </Appearance> |
116 | <IndexedLineSet DEF='MCP11toIP1' coordIndex='0 1'> |
117 | <Coordinate point='-0.3 0.3 0 -0.35 0.4 0'/> |
118 | </IndexedLineSet> |
119 | </Shape> |
120 | </HAnimSegment> |
121 |
<!-- HAnimJoint
hanim_r_carpal_interphalangeal_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_interphalangeal_1' center='-0.35 0.4 0' name='r_carpal_interphalangeal_1' ulimit='0 0 0' llimit='0 0 0'> |
122 |
<!-- HAnimSegment
hanim_r_carpal_distal_phalanx_1 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_distal_phalanx_1' name='r_carpal_distal_phalanx_1'> |
123 | <Transform translation='-0.35 0.4 0'> |
124 | <Shape USE='HAnimJointShape'/> |
125 | </Transform> |
126 | <Shape> |
127 | <Appearance> |
128 | <Material emissiveColor='1 1 1'/> |
129 | </Appearance> |
130 | <IndexedLineSet DEF='fingertip_r_carpal_interphalangeal_1' coordIndex='0 1'> |
131 | <Coordinate point='-0.35 0.4 0 -0.36 0.45 0'/> |
132 | </IndexedLineSet> |
133 | </Shape> |
134 | </HAnimSegment> |
135 | </HAnimJoint> |
136 | </HAnimJoint> |
137 | </HAnimJoint> |
138 | </HAnimJoint> |
139 | <!-- MC2 --> |
140 |
<!-- HAnimJoint
hanim_r_midcarpal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_midcarpal_2' center='-0.07 0.07 0' name='r_midcarpal_2' ulimit='0 0 0' llimit='0 0 0'> |
141 |
<!-- HAnimSegment
hanim_r_trapezoid is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_trapezoid' name='r_trapezoid'> |
142 | <Transform translation='-0.07 0.07 0'> |
143 | <Shape USE='HAnimNewJointShape'/> |
144 | </Transform> |
145 | <Shape> |
146 | <Appearance> |
147 | <Material emissiveColor='1 1 1'/> |
148 | </Appearance> |
149 | <IndexedLineSet DEF='MC12toCMC2' coordIndex='0 1'> |
150 | <Coordinate point='-0.1 0.1 0 -0.1 0.2 0'/> |
151 | </IndexedLineSet> |
152 | </Shape> |
153 | </HAnimSegment> |
154 | <!-- index finger --> |
155 |
<!-- HAnimJoint
hanim_r_carpometacarpal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpometacarpal_2' center='-0.1 0.2 0' name='r_carpometacarpal_2' ulimit='0 0 0' llimit='0 0 0'> |
156 |
<!-- HAnimSegment
hanim_r_metacarpal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_metacarpal_2' name='r_metacarpal_2'> |
157 | <Transform translation='-0.1 0.2 0'> |
158 | <Shape USE='HAnimJointShape'/> |
159 | </Transform> |
160 | <Shape> |
161 | <Appearance> |
162 | <Material emissiveColor='1 1 1'/> |
163 | </Appearance> |
164 | <IndexedLineSet DEF='CMC2toMCP2' coordIndex='0 1'> |
165 | <Coordinate point='-0.1 0.2 0 -0.15 0.5 0'/> |
166 | </IndexedLineSet> |
167 | </Shape> |
168 | </HAnimSegment> |
169 |
<!-- HAnimJoint
hanim_r_metacarpophalangeal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_metacarpophalangeal_2' center='-0.15 0.5 0' name='r_metacarpophalangeal_2' ulimit='0 0 0' llimit='0 0 0'> |
170 |
<!-- HAnimSegment
hanim_r_carpal_proximal_phalanx_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_proximal_phalanx_2' name='r_carpal_proximal_phalanx_2'> |
171 | <Transform translation='-0.15 0.5 0'> |
172 | <Shape USE='HAnimJointShape'/> |
173 | </Transform> |
174 | <Shape> |
175 | <Appearance> |
176 | <Material emissiveColor='1 1 1'/> |
177 | </Appearance> |
178 | <IndexedLineSet DEF='MCP2toPIP2' coordIndex='0 1'> |
179 | <Coordinate point='-0.15 0.5 0 -0.2 0.7 0'/> |
180 | </IndexedLineSet> |
181 | </Shape> |
182 | </HAnimSegment> |
183 |
<!-- HAnimJoint
hanim_r_carpal_proximal_interphalangeal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_proximal_interphalangeal_2' center='-0.2 0.7 0' name='r_carpal_proximal_interphalangeal_2' ulimit='0 0 0' llimit='0 0 0'> |
184 |
<!-- HAnimSegment
hanim_r_carpal_middle_phalanx_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_middle_phalanx_2' name='r_carpal_middle_phalanx_2'> |
185 | <Transform translation='-0.2 0.7 0'> |
186 | <Shape USE='HAnimJointShape'/> |
187 | </Transform> |
188 | <Shape> |
189 | <Appearance> |
190 | <Material emissiveColor='1 1 1'/> |
191 | </Appearance> |
192 | <IndexedLineSet DEF='PIP2toDIP2' coordIndex='0 1'> |
193 | <Coordinate point='-0.2 0.7 0 -0.24 0.87 0'/> |
194 | </IndexedLineSet> |
195 | </Shape> |
196 | </HAnimSegment> |
197 |
<!-- HAnimJoint
hanim_r_carpal_distal_interphalangeal_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_distal_interphalangeal_2' center='-0.24 0.87 0' name='r_carpal_distal_interphalangeal_2' ulimit='0 0 0' llimit='0 0 0'> |
198 |
<!-- HAnimSegment
hanim_r_carpal_distal_phalanx_2 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_distal_phalanx_2' name='r_carpal_distal_phalanx_2'> |
199 | <Transform translation='-0.24 0.87 0'> |
200 | <Shape USE='HAnimJointShape'/> |
201 | </Transform> |
202 | <Shape> |
203 | <Appearance> |
204 | <Material emissiveColor='1 1 1'/> |
205 | </Appearance> |
206 | <IndexedLineSet DEF='fingertip_r_carpal_distal_interphalangeal_2' coordIndex='0 1'> |
207 | <Coordinate point='-0.24 0.87 0 -0.26 0.93 0'/> |
208 | </IndexedLineSet> |
209 | </Shape> |
210 | </HAnimSegment> |
211 | </HAnimJoint> |
212 | </HAnimJoint> |
213 | </HAnimJoint> |
214 | </HAnimJoint> |
215 | </HAnimJoint> |
216 | <!-- MC3 --> |
217 |
<!-- HAnimJoint
hanim_r_midcarpal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_midcarpal_3' center='0.0 0.07 0' name='r_midcarpal_3' ulimit='0 0 0' llimit='0 0 0'> |
218 |
<!-- HAnimSegment
hanim_r_capitate is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_capitate' name='r_capitate'> |
219 | <Transform translation='0.0 0.07 0'> |
220 | <Shape USE='HAnimNewJointShape'/> |
221 | </Transform> |
222 | <Shape> |
223 | <Appearance> |
224 | <Material emissiveColor='1 1 1'/> |
225 | </Appearance> |
226 | <IndexedLineSet DEF='MC3toCMC3' coordIndex='0 1'> |
227 | <Coordinate point='0.0 0.07 0 0.0 0.2 0'/> |
228 | </IndexedLineSet> |
229 | </Shape> |
230 | </HAnimSegment> |
231 | <!-- Middle fingle --> |
232 |
<!-- HAnimJoint
hanim_r_carpometacarpal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpometacarpal_3' center='0.0 0.2 0' name='r_carpometacarpal_3' ulimit='0 0 0' llimit='0 0 0'> |
233 |
<!-- HAnimSegment
hanim_r_metacarpal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_metacarpal_3' name='r_metacarpal_3'> |
234 | <Transform translation='0.0 0.2 0'> |
235 | <Shape USE='HAnimJointShape'/> |
236 | </Transform> |
237 | <Shape> |
238 | <Appearance> |
239 | <Material emissiveColor='1 1 1'/> |
240 | </Appearance> |
241 | <IndexedLineSet DEF='CMC3toMCP3' coordIndex='0 1'> |
242 | <Coordinate point='0.0 0.2 0 -0.03 0.5 0'/> |
243 | </IndexedLineSet> |
244 | </Shape> |
245 | </HAnimSegment> |
246 |
<!-- HAnimJoint
hanim_r_metacarpophalangeal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_metacarpophalangeal_3' center='-0.03 0.5 0' name='r_metacarpophalangeal_3' ulimit='0 0 0' llimit='0 0 0'> |
247 |
<!-- HAnimSegment
hanim_r_carpal_proximal_phalanx_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_proximal_phalanx_3' name='r_carpal_proximal_phalanx_3'> |
248 | <Transform translation='-0.03 0.5 0'> |
249 | <Shape USE='HAnimJointShape'/> |
250 | </Transform> |
251 | <Shape> |
252 | <Appearance> |
253 | <Material emissiveColor='1 1 1'/> |
254 | </Appearance> |
255 | <IndexedLineSet DEF='MCP3toPIP3' coordIndex='0 1'> |
256 | <Coordinate point='-0.03 0.5 0 -0.05 0.75 0'/> |
257 | </IndexedLineSet> |
258 | </Shape> |
259 | </HAnimSegment> |
260 |
<!-- HAnimJoint
hanim_r_carpal_proximal_interphalangeal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_proximal_interphalangeal_3' center='-0.05 0.75 0' name='r_carpal_proximal_interphalangeal_3' ulimit='0 0 0' llimit='0 0 0'> |
261 |
<!-- HAnimSegment
hanim_r_carpal_middle_phalanx_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_middle_phalanx_3' name='r_carpal_middle_phalanx_3'> |
262 | <Transform translation='-0.05 0.75 0'> |
263 | <Shape USE='HAnimJointShape'/> |
264 | </Transform> |
265 | <Shape> |
266 | <Appearance> |
267 | <Material emissiveColor='1 1 1'/> |
268 | </Appearance> |
269 | <IndexedLineSet DEF='PIP3toDIP3' coordIndex='0 1'> |
270 | <Coordinate point='-0.05 0.75 0 -0.08 0.96 0'/> |
271 | </IndexedLineSet> |
272 | </Shape> |
273 | </HAnimSegment> |
274 |
<!-- HAnimJoint
hanim_r_carpal_distal_interphalangeal_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_distal_interphalangeal_3' center='-0.08 0.96 0' name='r_carpal_distal_interphalangeal_3' ulimit='0 0 0' llimit='0 0 0'> |
275 |
<!-- HAnimSegment
hanim_r_carpal_distal_phalanx_3 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_distal_phalanx_3' name='r_carpal_distal_phalanx_3'> |
276 | <Transform translation='-0.08 0.96 0'> |
277 | <Shape USE='HAnimJointShape'/> |
278 | </Transform> |
279 | <Shape> |
280 | <Appearance> |
281 | <Material emissiveColor='1 1 1'/> |
282 | </Appearance> |
283 | <IndexedLineSet DEF='fingertip_r_carpal_distal_interphalangeal_3' coordIndex='0 1'> |
284 | <Coordinate point='-0.08 0.96 0 -0.09 1.05 0'/> |
285 | </IndexedLineSet> |
286 | </Shape> |
287 | </HAnimSegment> |
288 | </HAnimJoint> |
289 | </HAnimJoint> |
290 | </HAnimJoint> |
291 | </HAnimJoint> |
292 | </HAnimJoint> |
293 | <!-- MC4_5 --> |
294 |
<!-- HAnimJoint
hanim_r_midcarpal_4_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_midcarpal_4_5' center='0.1 0.1 0' name='r_midcarpal_4_5' ulimit='0 0 0' llimit='0 0 0'> |
295 |
<!-- HAnimSegment
hanim_r_hamate is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_hamate' name='r_hamate'> |
296 | <Transform translation='0.1 0.1 0'> |
297 | <Shape USE='HAnimNewJointShape'/> |
298 | </Transform> |
299 | <Shape> |
300 | <Appearance> |
301 | <Material emissiveColor='1 1 1'/> |
302 | </Appearance> |
303 | <IndexedLineSet DEF='MC45toCMC4' coordIndex='0 1'> |
304 | <Coordinate point='0.1 0.1 0 0.1 0.2 0'/> |
305 | </IndexedLineSet> |
306 | </Shape> |
307 | <Shape> |
308 | <Appearance> |
309 | <Material emissiveColor='1 1 1'/> |
310 | </Appearance> |
311 | <IndexedLineSet DEF='MC45toCMC5' coordIndex='0 1'> |
312 | <Coordinate point='0.1 0.1 0 0.15 0.17 0'/> |
313 | </IndexedLineSet> |
314 | </Shape> |
315 | </HAnimSegment> |
316 | <!-- ring finger --> |
317 |
<!-- HAnimJoint
hanim_r_carpometacarpal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpometacarpal_4' center='0.1 0.2 0' name='r_carpometacarpal_4' ulimit='0 0 0' llimit='0 0 0'> |
318 |
<!-- HAnimSegment
hanim_r_metacarpal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_metacarpal_4' name='r_metacarpal_4'> |
319 | <Transform translation='0.1 0.2 0'> |
320 | <Shape USE='HAnimJointShape'/> |
321 | </Transform> |
322 | <Shape> |
323 | <Appearance> |
324 | <Material emissiveColor='1 1 1'/> |
325 | </Appearance> |
326 | <IndexedLineSet DEF='CMC4toMCP4' coordIndex='0 1'> |
327 | <Coordinate point='0.1 0.2 0 0.1 0.47 0'/> |
328 | </IndexedLineSet> |
329 | </Shape> |
330 | </HAnimSegment> |
331 |
<!-- HAnimJoint
hanim_r_metacarpophalangeal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_metacarpophalangeal_4' center='0.1 0.47 0' name='r_metacarpophalangeal_4' ulimit='0 0 0' llimit='0 0 0'> |
332 |
<!-- HAnimSegment
hanim_r_carpal_proximal_phalanx_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_proximal_phalanx_4' name='r_carpal_proximal_phalanx_4'> |
333 | <Transform translation='0.1 0.47 0'> |
334 | <Shape USE='HAnimJointShape'/> |
335 | </Transform> |
336 | <Shape> |
337 | <Appearance> |
338 | <Material emissiveColor='1 1 1'/> |
339 | </Appearance> |
340 | <IndexedLineSet DEF='MCP4toPIP4' coordIndex='0 1'> |
341 | <Coordinate point='0.1 0.47 0 0.1 0.7 0'/> |
342 | </IndexedLineSet> |
343 | </Shape> |
344 | </HAnimSegment> |
345 |
<!-- HAnimJoint
hanim_r_carpal_proximal_interphalangeal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_proximal_interphalangeal_4' center='0.1 0.7 0' name='r_carpal_proximal_interphalangeal_4' ulimit='0 0 0' llimit='0 0 0'> |
346 |
<!-- HAnimSegment
hanim_r_carpal_middle_phalanx_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_middle_phalanx_4' name='r_carpal_middle_phalanx_4'> |
347 | <Transform translation='0.1 0.7 0'> |
348 | <Shape USE='HAnimJointShape'/> |
349 | </Transform> |
350 | <Shape> |
351 | <Appearance> |
352 | <Material emissiveColor='1 1 1'/> |
353 | </Appearance> |
354 | <IndexedLineSet DEF='PIP4toDIP4' coordIndex='0 1'> |
355 | <Coordinate point='0.1 0.7 0 0.1 0.93 0'/> |
356 | </IndexedLineSet> |
357 | </Shape> |
358 | </HAnimSegment> |
359 |
<!-- HAnimJoint
hanim_r_carpal_distal_interphalangeal_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_distal_interphalangeal_4' center='0.1 0.93 0' name='r_carpal_distal_interphalangeal_4' ulimit='0 0 0' llimit='0 0 0'> |
360 |
<!-- HAnimSegment
hanim_r_carpal_distal_phalanx_4 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_distal_phalanx_4' name='r_carpal_distal_phalanx_4'> |
361 | <Transform translation='0.1 0.93 0'> |
362 | <Shape USE='HAnimJointShape'/> |
363 | </Transform> |
364 | <Shape> |
365 | <Appearance> |
366 | <Material emissiveColor='1 1 1'/> |
367 | </Appearance> |
368 | <IndexedLineSet DEF='fingertip_r_carpal_distal_interphalangeal_4' coordIndex='0 1'> |
369 | <Coordinate point='0.1 0.93 0 0.1 1.0 0'/> |
370 | </IndexedLineSet> |
371 | </Shape> |
372 | </HAnimSegment> |
373 | </HAnimJoint> |
374 | </HAnimJoint> |
375 | </HAnimJoint> |
376 | </HAnimJoint> |
377 | <!-- pinky finger --> |
378 |
<!-- HAnimJoint
hanim_r_carpometacarpal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpometacarpal_5' center='0.15 0.17 0' name='r_carpometacarpal_5' ulimit='0 0 0' llimit='0 0 0'> |
379 |
<!-- HAnimSegment
hanim_r_metacarpal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_metacarpal_5' name='r_metacarpal_5'> |
380 | <Transform translation='0.15 0.17 0'> |
381 | <Shape USE='HAnimJointShape'/> |
382 | </Transform> |
383 | <Shape> |
384 | <Appearance> |
385 | <Material emissiveColor='1 1 1'/> |
386 | </Appearance> |
387 | <IndexedLineSet DEF='CMC5toMCP5' coordIndex='0 1'> |
388 | <Coordinate point='0.15 0.17 0 0.2 0.4 0'/> |
389 | </IndexedLineSet> |
390 | </Shape> |
391 | </HAnimSegment> |
392 |
<!-- HAnimJoint
hanim_r_metacarpophalangeal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_metacarpophalangeal_5' center='0.2 0.4 0' name='r_metacarpophalangeal_5' ulimit='0 0 0' llimit='0 0 0'> |
393 |
<!-- HAnimSegment
hanim_r_carpal_proximal_phalanx_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_proximal_phalanx_5' name='r_carpal_proximal_phalanx_5'> |
394 | <Transform translation='0.2 0.4 0'> |
395 | <Shape USE='HAnimJointShape'/> |
396 | </Transform> |
397 | <Shape> |
398 | <Appearance> |
399 | <Material emissiveColor='1 1 1'/> |
400 | </Appearance> |
401 | <IndexedLineSet DEF='MCP5toPIP5' coordIndex='0 1'> |
402 | <Coordinate point='0.2 0.4 0 0.23 0.63 0'/> |
403 | </IndexedLineSet> |
404 | </Shape> |
405 | </HAnimSegment> |
406 |
<!-- HAnimJoint
hanim_r_carpal_proximal_interphalangeal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_proximal_interphalangeal_5' center='0.23 0.63 0' name='r_carpal_proximal_interphalangeal_5' ulimit='0 0 0' llimit='0 0 0'> |
407 |
<!-- HAnimSegment
hanim_r_carpal_middle_phalanx_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_middle_phalanx_5' name='r_carpal_middle_phalanx_5'> |
408 | <Transform translation='0.23 0.63 0'> |
409 | <Shape USE='HAnimJointShape'/> |
410 | </Transform> |
411 | <Shape> |
412 | <Appearance> |
413 | <Material emissiveColor='1 1 1'/> |
414 | </Appearance> |
415 | <IndexedLineSet DEF='PIP5toDIP5' coordIndex='0 1'> |
416 | <Coordinate point='0.23 0.63 0 0.25 0.79 0'/> |
417 | </IndexedLineSet> |
418 | </Shape> |
419 | </HAnimSegment> |
420 |
<!-- HAnimJoint
hanim_r_carpal_distal_interphalangeal_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimJoint DEF='hanim_r_carpal_distal_interphalangeal_5' center='0.25 0.79 0' name='r_carpal_distal_interphalangeal_5' ulimit='0 0 0' llimit='0 0 0'> |
421 |
<!-- HAnimSegment
hanim_r_carpal_distal_phalanx_5 is a DEF node that has 1 USE node: USE_1 -->
<HAnimSegment DEF='hanim_r_carpal_distal_phalanx_5' name='r_carpal_distal_phalanx_5'> |
422 | <Transform translation='0.25 0.79 0'> |
423 | <Shape USE='HAnimJointShape'/> |
424 | </Transform> |
425 | <Shape> |
426 | <Appearance> |
427 | <Material emissiveColor='1 1 1'/> |
428 | </Appearance> |
429 | <IndexedLineSet DEF='fingertip_r_carpal_distal_interphalangeal_5' coordIndex='0 1'> |
430 | <Coordinate point='0.25 0.79 0 0.26 0.85 0'/> |
431 | </IndexedLineSet> |
432 | </Shape> |
433 | </HAnimSegment> |
434 | </HAnimJoint> |
435 | </HAnimJoint> |
436 | </HAnimJoint> |
437 | </HAnimJoint> |
438 | </HAnimJoint> |
439 | </HAnimJoint> |
440 | </HAnimJoint> |
441 | <HAnimJoint USE='hanim_humanoid_root' containerField='joints'/> |
442 | <HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_2' containerField='joints'/> |
443 | <HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_3' containerField='joints'/> |
444 | <HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_4' containerField='joints'/> |
445 | <HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_5' containerField='joints'/> |
446 | <HAnimJoint USE='hanim_r_carpal_interphalangeal_1' containerField='joints'/> |
447 | <HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_2' containerField='joints'/> |
448 | <HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_3' containerField='joints'/> |
449 | <HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_4' containerField='joints'/> |
450 | <HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_5' containerField='joints'/> |
451 | <HAnimJoint USE='hanim_r_carpometacarpal_1' containerField='joints'/> |
452 | <HAnimJoint USE='hanim_r_carpometacarpal_2' containerField='joints'/> |
453 | <HAnimJoint USE='hanim_r_carpometacarpal_3' containerField='joints'/> |
454 | <HAnimJoint USE='hanim_r_carpometacarpal_4' containerField='joints'/> |
455 | <HAnimJoint USE='hanim_r_carpometacarpal_5' containerField='joints'/> |
456 | <HAnimJoint USE='hanim_r_metacarpophalangeal_1' containerField='joints'/> |
457 | <HAnimJoint USE='hanim_r_metacarpophalangeal_2' containerField='joints'/> |
458 | <HAnimJoint USE='hanim_r_metacarpophalangeal_3' containerField='joints'/> |
459 | <HAnimJoint USE='hanim_r_metacarpophalangeal_4' containerField='joints'/> |
460 | <HAnimJoint USE='hanim_r_metacarpophalangeal_5' containerField='joints'/> |
461 | <HAnimJoint USE='hanim_r_midcarpal_1' containerField='joints'/> |
462 | <HAnimJoint USE='hanim_r_midcarpal_2' containerField='joints'/> |
463 | <HAnimJoint USE='hanim_r_midcarpal_3' containerField='joints'/> |
464 | <HAnimJoint USE='hanim_r_midcarpal_4_5' containerField='joints'/> |
465 | <HAnimJoint USE='hanim_r_radiocarpal' containerField='joints'/> |
466 | <HAnimSegment USE='hanim_r_capitate' containerField='segments'/> |
467 | <HAnimSegment USE='hanim_r_carpal' containerField='segments'/> |
468 | <HAnimSegment USE='hanim_r_carpal_distal_phalanx_1' containerField='segments'/> |
469 | <HAnimSegment USE='hanim_r_carpal_distal_phalanx_2' containerField='segments'/> |
470 | <HAnimSegment USE='hanim_r_carpal_distal_phalanx_3' containerField='segments'/> |
471 | <HAnimSegment USE='hanim_r_carpal_distal_phalanx_4' containerField='segments'/> |
472 | <HAnimSegment USE='hanim_r_carpal_distal_phalanx_5' containerField='segments'/> |
473 | <HAnimSegment USE='hanim_r_carpal_middle_phalanx_2' containerField='segments'/> |
474 | <HAnimSegment USE='hanim_r_carpal_middle_phalanx_3' containerField='segments'/> |
475 | <HAnimSegment USE='hanim_r_carpal_middle_phalanx_4' containerField='segments'/> |
476 | <HAnimSegment USE='hanim_r_carpal_middle_phalanx_5' containerField='segments'/> |
477 | <HAnimSegment USE='hanim_r_carpal_proximal_phalanx_1' containerField='segments'/> |
478 | <HAnimSegment USE='hanim_r_carpal_proximal_phalanx_2' containerField='segments'/> |
479 | <HAnimSegment USE='hanim_r_carpal_proximal_phalanx_3' containerField='segments'/> |
480 | <HAnimSegment USE='hanim_r_carpal_proximal_phalanx_4' containerField='segments'/> |
481 | <HAnimSegment USE='hanim_r_carpal_proximal_phalanx_5' containerField='segments'/> |
482 | <HAnimSegment USE='hanim_r_hamate' containerField='segments'/> |
483 | <HAnimSegment USE='hanim_r_metacarpal_1' containerField='segments'/> |
484 | <HAnimSegment USE='hanim_r_metacarpal_2' containerField='segments'/> |
485 | <HAnimSegment USE='hanim_r_metacarpal_3' containerField='segments'/> |
486 | <HAnimSegment USE='hanim_r_metacarpal_4' containerField='segments'/> |
487 | <HAnimSegment USE='hanim_r_metacarpal_5' containerField='segments'/> |
488 | <HAnimSegment USE='hanim_r_trapezium' containerField='segments'/> |
489 | <HAnimSegment USE='hanim_r_trapezoid' containerField='segments'/> |
490 | </HAnimHumanoid> |
491 | </Scene> |
492 | </X3D> |
============================================================================================================================= HAnimHumanoid hanim_Hand_Right 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_Right name='Hand_Right' loa='4' skeleton humanoid_root r_radiocarpal : r_carpal r_midcarpal_1 : r_trapezium | r_carpometacarpal_1 : r_metacarpal_1 | r_metacarpophalangeal_1 : r_carpal_proximal_phalanx_1 | r_carpal_interphalangeal_1 : r_carpal_distal_phalanx_1 r_midcarpal_2 : r_trapezoid | r_carpometacarpal_2 : r_metacarpal_2 | r_metacarpophalangeal_2 : r_carpal_proximal_phalanx_2 | r_carpal_proximal_interphalangeal_2 : r_carpal_middle_phalanx_2 | r_carpal_distal_interphalangeal_2 : r_carpal_distal_phalanx_2 r_midcarpal_3 : r_capitate | r_carpometacarpal_3 : r_metacarpal_3 | r_metacarpophalangeal_3 : r_carpal_proximal_phalanx_3 | r_carpal_proximal_interphalangeal_3 : r_carpal_middle_phalanx_3 | r_carpal_distal_interphalangeal_3 : r_carpal_distal_phalanx_3 r_midcarpal_4_5 : r_hamate r_carpometacarpal_4 : r_metacarpal_4 | r_metacarpophalangeal_4 : r_carpal_proximal_phalanx_4 | r_carpal_proximal_interphalangeal_4 : r_carpal_middle_phalanx_4 | r_carpal_distal_interphalangeal_4 : r_carpal_distal_phalanx_4 r_carpometacarpal_5 : r_metacarpal_5 r_metacarpophalangeal_5 : r_carpal_proximal_phalanx_5 r_carpal_proximal_interphalangeal_5 : r_carpal_middle_phalanx_5 r_carpal_distal_interphalangeal_5 : r_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_Right' name='Hand_Right' version ='2.0' > | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
441 |
<HAnimJoint USE='hanim_humanoid_root' containerField='joints'/>
|
442 |
<HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_2' containerField='joints'/>
|
443 |
<HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_3' containerField='joints'/>
|
444 |
<HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_4' containerField='joints'/>
|
445 |
<HAnimJoint USE='hanim_r_carpal_distal_interphalangeal_5' containerField='joints'/>
|
446 |
<HAnimJoint USE='hanim_r_carpal_interphalangeal_1' containerField='joints'/>
|
447 |
<HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_2' containerField='joints'/>
|
448 |
<HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_3' containerField='joints'/>
|
449 |
<HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_4' containerField='joints'/>
|
450 |
<HAnimJoint USE='hanim_r_carpal_proximal_interphalangeal_5' containerField='joints'/>
|
451 |
<HAnimJoint USE='hanim_r_carpometacarpal_1' containerField='joints'/>
|
452 |
<HAnimJoint USE='hanim_r_carpometacarpal_2' containerField='joints'/>
|
453 |
<HAnimJoint USE='hanim_r_carpometacarpal_3' containerField='joints'/>
|
454 |
<HAnimJoint USE='hanim_r_carpometacarpal_4' containerField='joints'/>
|
455 |
<HAnimJoint USE='hanim_r_carpometacarpal_5' containerField='joints'/>
|
456 |
<HAnimJoint USE='hanim_r_metacarpophalangeal_1' containerField='joints'/>
|
457 |
<HAnimJoint USE='hanim_r_metacarpophalangeal_2' containerField='joints'/>
|
458 |
<HAnimJoint USE='hanim_r_metacarpophalangeal_3' containerField='joints'/>
|
459 |
<HAnimJoint USE='hanim_r_metacarpophalangeal_4' containerField='joints'/>
|
460 |
<HAnimJoint USE='hanim_r_metacarpophalangeal_5' containerField='joints'/>
|
461 |
<HAnimJoint USE='hanim_r_midcarpal_1' containerField='joints'/>
|
462 |
<HAnimJoint USE='hanim_r_midcarpal_2' containerField='joints'/>
|
463 |
<HAnimJoint USE='hanim_r_midcarpal_3' containerField='joints'/>
|
464 |
<HAnimJoint USE='hanim_r_midcarpal_4_5' containerField='joints'/>
|
465 |
<HAnimJoint USE='hanim_r_radiocarpal' containerField='joints'/>
|
466 |
<HAnimSegment USE='hanim_r_capitate' containerField='segments'/>
|
467 |
<HAnimSegment USE='hanim_r_carpal' containerField='segments'/>
|
468 |
<HAnimSegment USE='hanim_r_carpal_distal_phalanx_1' containerField='segments'/>
|
469 |
<HAnimSegment USE='hanim_r_carpal_distal_phalanx_2' containerField='segments'/>
|
470 |
<HAnimSegment USE='hanim_r_carpal_distal_phalanx_3' containerField='segments'/>
|
471 |
<HAnimSegment USE='hanim_r_carpal_distal_phalanx_4' containerField='segments'/>
|
472 |
<HAnimSegment USE='hanim_r_carpal_distal_phalanx_5' containerField='segments'/>
|
473 |
<HAnimSegment USE='hanim_r_carpal_middle_phalanx_2' containerField='segments'/>
|
474 |
<HAnimSegment USE='hanim_r_carpal_middle_phalanx_3' containerField='segments'/>
|
475 |
<HAnimSegment USE='hanim_r_carpal_middle_phalanx_4' containerField='segments'/>
|
476 |
<HAnimSegment USE='hanim_r_carpal_middle_phalanx_5' containerField='segments'/>
|
477 |
<HAnimSegment USE='hanim_r_carpal_proximal_phalanx_1' containerField='segments'/>
|
478 |
<HAnimSegment USE='hanim_r_carpal_proximal_phalanx_2' containerField='segments'/>
|
479 |
<HAnimSegment USE='hanim_r_carpal_proximal_phalanx_3' containerField='segments'/>
|
480 |
<HAnimSegment USE='hanim_r_carpal_proximal_phalanx_4' containerField='segments'/>
|
481 |
<HAnimSegment USE='hanim_r_carpal_proximal_phalanx_5' containerField='segments'/>
|
482 |
<HAnimSegment USE='hanim_r_hamate' containerField='segments'/>
|
483 |
<HAnimSegment USE='hanim_r_metacarpal_1' containerField='segments'/>
|
484 |
<HAnimSegment USE='hanim_r_metacarpal_2' containerField='segments'/>
|
485 |
<HAnimSegment USE='hanim_r_metacarpal_3' containerField='segments'/>
|
486 |
<HAnimSegment USE='hanim_r_metacarpal_4' containerField='segments'/>
|
487 |
<HAnimSegment USE='hanim_r_metacarpal_5' containerField='segments'/>
|
488 |
<HAnimSegment USE='hanim_r_trapezium' containerField='segments'/>
|
489 |
<HAnimSegment USE='hanim_r_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. -->