OSDN Git Service

接続ボーンを持たない剛体に対処。
[mikutoga/TogaGem.git] / src / main / resources / jp / sourceforge / mikutoga / pmd / xml / resources / pmdxml-101009.dtd
1 <?xml version="1.0" encoding="UTF-8" ?>\r
2 \r
3 <!--\r
4   MikuMikuDance\r
5     model-data(*.pmd) on XML\r
6     DTD definition\r
7 \r
8   License : The MIT License\r
9   Copyright(c) 2010 MikuToga Partners\r
10 \r
11   SYSTEM ID: http://mikutoga.sourceforge.jp/xml/dtd/pmdxml-101009.dtd\r
12 -->\r
13 \r
14 \r
15 <!-- ROOT -->\r
16 <!ELEMENT pmdModel (\r
17     i18nName*, description+, license*, credits*, meta*,\r
18     materialList,\r
19     toonMap,\r
20     boneList,\r
21     boneGroupList,\r
22     ikChainList,\r
23     morphList,\r
24     rigidList,\r
25     rigidGroupList,\r
26     jointList,\r
27     surfaceGroupList,\r
28     vertexList\r
29 ) >\r
30 <!ATTLIST pmdModel\r
31     xmlns              CDATA #IMPLIED\r
32     xmlns:xsi          CDATA #IMPLIED\r
33     xsi:schemaLocation CDATA #IMPLIED\r
34     schemaVersion      CDATA #FIXED "100923"\r
35     name               CDATA #REQUIRED\r
36 >\r
37 \r
38 \r
39 <!-- Multilingual name. -->\r
40 <!ELEMENT i18nName EMPTY>\r
41 <!ATTLIST i18nName\r
42     lang CDATA #REQUIRED\r
43     name CDATA #REQUIRED\r
44 >\r
45 \r
46 \r
47 <!-- Break line. -->\r
48 <!ELEMENT br EMPTY>\r
49 \r
50 \r
51 <!-- Description note about model. -->\r
52 <!ELEMENT description (#PCDATA | br)* >\r
53 <!ATTLIST description\r
54     lang      CDATA "ja"\r
55     xml:space CDATA #FIXED "preserve"\r
56 >\r
57 \r
58 \r
59 <!-- License term of usage. -->\r
60 <!ELEMENT license (#PCDATA | br)* >\r
61 <!ATTLIST license\r
62     lang      CDATA "ja"\r
63     xml:space CDATA #FIXED "preserve"\r
64 >\r
65 \r
66 \r
67 <!-- Credits for someone. -->\r
68 <!ELEMENT credits (#PCDATA | br)* >\r
69 <!ATTLIST credits\r
70     lang      CDATA "ja"\r
71     xml:space CDATA #FIXED "preserve"\r
72 >\r
73 \r
74 \r
75 <!--\r
76 Meta-information of model.\r
77 Use free.\r
78 but, some meta-name has recommended usage.\r
79 + "generator" (Generator application name)\r
80 + "siteURL" (Website URL)\r
81 + "imageURL" (Thumbnail image URL)\r
82 -->\r
83 <!ELEMENT meta EMPTY>\r
84 <!ATTLIST meta\r
85     name    CDATA #REQUIRED\r
86     content CDATA #REQUIRED\r
87 >\r
88 \r
89 \r
90 <!--\r
91 Material list.\r
92 All visual things can be tracked from here.\r
93 -->\r
94 <!ELEMENT materialList (material)* >\r
95 \r
96 \r
97 <!--\r
98 Material definition.\r
99 Colors, shading, any other definitions.\r
100 -->\r
101 <!ELEMENT material (\r
102     i18nName*,\r
103     diffuse,\r
104     specular,\r
105     ambient,\r
106     toon?,\r
107     textureFile?,\r
108     spheremapFile?\r
109 )*>\r
110 <!ATTLIST material\r
111     name              CDATA #IMPLIED\r
112     showEdge          CDATA #REQUIRED\r
113     surfaceGroupIdRef CDATA #REQUIRED\r
114 >\r
115 \r
116 \r
117 <!-- Diffuse color definition. -->\r
118 <!ELEMENT diffuse EMPTY>\r
119 <!ATTLIST diffuse\r
120     r     CDATA #REQUIRED\r
121     g     CDATA #REQUIRED\r
122     b     CDATA #REQUIRED\r
123     alpha CDATA #REQUIRED\r
124 >\r
125 \r
126 \r
127 <!-- Specular color definition. -->\r
128 <!ELEMENT specular EMPTY>\r
129 <!ATTLIST specular\r
130     r         CDATA #REQUIRED\r
131     g         CDATA #REQUIRED\r
132     b         CDATA #REQUIRED\r
133     shininess CDATA #REQUIRED\r
134 >\r
135 \r
136 \r
137 <!-- Ambient color definition. -->\r
138 <!ELEMENT ambient EMPTY>\r
139 <!ATTLIST ambient\r
140     r CDATA #REQUIRED\r
141     g CDATA #REQUIRED\r
142     b CDATA #REQUIRED\r
143 >\r
144 \r
145 \r
146 <!-- Reference for Toon-image. -->\r
147 <!ELEMENT toon EMPTY>\r
148 <!ATTLIST toon\r
149     toonFileIdRef CDATA #REQUIRED\r
150 >\r
151 \r
152 \r
153 <!-- Texture file information. -->\r
154 <!ELEMENT textureFile EMPTY>\r
155 <!ATTLIST textureFile\r
156     winFileName CDATA #REQUIRED\r
157 >\r
158 \r
159 \r
160 <!-- Sphere-map file information. -->\r
161 <!ELEMENT spheremapFile EMPTY>\r
162 <!ATTLIST spheremapFile\r
163     winFileName CDATA #REQUIRED\r
164 >\r
165 \r
166 \r
167 <!-- Toon-file mappings. -->\r
168 <!ELEMENT toonMap (toonDef)* >\r
169 \r
170 \r
171 <!-- Toon-file information. -->\r
172 <!ELEMENT toonDef EMPTY>\r
173 <!ATTLIST toonDef\r
174     toonFileId  CDATA #REQUIRED\r
175     index       CDATA #REQUIRED\r
176     winFileName CDATA #REQUIRED\r
177 >\r
178 \r
179 \r
180 <!-- List of bone information. -->\r
181 <!ELEMENT boneList (bone)* >\r
182 \r
183 \r
184 <!-- Bone definition. -->\r
185 <!ELEMENT bone (\r
186     i18nName*,\r
187     position,\r
188     (rotationRatio | ikBone)?,\r
189     boneChain\r
190 ) >\r
191 <!ATTLIST bone\r
192     name   CDATA #REQUIRED\r
193     boneId CDATA #REQUIRED\r
194     type   (\r
195           ROTATE\r
196         | ROTMOV\r
197         | IK\r
198         | UNKNOWN\r
199         | UNDERIK\r
200         | UNDERROT\r
201         | IKCONNECTED\r
202         | HIDDEN\r
203         | TWIST\r
204         | LINKEDROT\r
205     ) #REQUIRED\r
206 >\r
207 \r
208 \r
209 <!-- position information. -->\r
210 <!ELEMENT position EMPTY>\r
211 <!ATTLIST position\r
212     x CDATA #REQUIRED\r
213     y CDATA #REQUIRED\r
214     z CDATA #REQUIRED\r
215 >\r
216 \r
217 \r
218 <!-- Relationship-info between bones. -->\r
219 <!ELEMENT boneChain EMPTY>\r
220 <!ATTLIST boneChain\r
221     prevBoneIdRef CDATA #IMPLIED\r
222     nextBoneIdRef CDATA #IMPLIED\r
223 >\r
224 \r
225 \r
226 <!-- Rotation ratio between Linked-rotationed bones. -->\r
227 <!ELEMENT rotationRatio EMPTY>\r
228 <!ATTLIST rotationRatio\r
229     ratio CDATA #REQUIRED\r
230 >\r
231 \r
232 \r
233 <!-- Reference to IK-Bone. -->\r
234 <!ELEMENT ikBone EMPTY>\r
235 <!ATTLIST ikBone\r
236     boneIdRef CDATA #REQUIRED\r
237 >\r
238 \r
239 \r
240 <!-- List of Bone-group. -->\r
241 <!ELEMENT boneGroupList (boneGroup)* >\r
242 \r
243 \r
244 <!-- Bone-group. -->\r
245 <!ELEMENT boneGroup (i18nName*, boneGroupMember*) >\r
246 <!ATTLIST boneGroup\r
247     name CDATA #REQUIRED\r
248 >\r
249 \r
250 \r
251 <!-- Member of Bone-group. -->\r
252 <!ELEMENT boneGroupMember EMPTY>\r
253 <!ATTLIST boneGroupMember\r
254     boneIdRef CDATA #REQUIRED\r
255 >\r
256 \r
257 \r
258 <!-- List of IK chain. -->\r
259 <!ELEMENT ikChainList (ikChain)* >\r
260 \r
261 \r
262 <!-- IK chained bones definition. -->\r
263 <!ELEMENT ikChain (chainOrder)+ >\r
264 <!ATTLIST ikChain\r
265     ikBoneIdRef    CDATA #REQUIRED\r
266     recursiveDepth CDATA #REQUIRED\r
267     weight         CDATA #REQUIRED\r
268 >\r
269 \r
270 \r
271 <!-- Part of IK chained bones. -->\r
272 <!ELEMENT chainOrder EMPTY>\r
273 <!ATTLIST chainOrder\r
274     boneIdRef CDATA #REQUIRED\r
275 >\r
276 \r
277 \r
278 <!-- List of morphing definition. -->\r
279 <!ELEMENT morphList (morph)* >\r
280 \r
281 \r
282 <!-- Morphing definition. -->\r
283 <!ELEMENT morph (i18nName*, morphVertex*) >\r
284 <!ATTLIST morph\r
285     name CDATA #REQUIRED\r
286     type (\r
287           EYEBROW\r
288         | EYE\r
289         | LIP\r
290         | EXTRA\r
291     ) #REQUIRED\r
292 >\r
293 \r
294 \r
295 <!-- Morphing vertex information. -->\r
296 <!ELEMENT morphVertex EMPTY>\r
297 <!ATTLIST morphVertex\r
298     vtxIdRef CDATA #REQUIRED\r
299     xOff     CDATA #REQUIRED\r
300     yOff     CDATA #REQUIRED\r
301     zOff     CDATA #REQUIRED\r
302 >\r
303 \r
304 \r
305 <!-- list of Rigid-body definition. -->\r
306 <!ELEMENT rigidList (rigid)* >\r
307 \r
308 \r
309 <!-- Rigid-body definition. -->\r
310 <!ELEMENT rigid (\r
311     i18nName*,\r
312     linkedBone?,\r
313     (rigidShapeSphere | rigidShapeBox | rigidShapeCapsule),\r
314     position,\r
315     radRotation,\r
316     dynamics,\r
317     throughRigidGroup*\r
318 ) >\r
319 <!ATTLIST rigid\r
320     name     CDATA #REQUIRED\r
321     rigidId  CDATA #REQUIRED\r
322     behavior (\r
323           FOLLOWBONE\r
324         | ONLYDYNAMICS\r
325         | BONEDDYNAMICS\r
326     ) #REQUIRED\r
327 >\r
328 \r
329 \r
330 <!-- Referenced Bone from Rigid-body. -->\r
331 <!ELEMENT linkedBone EMPTY>\r
332 <!ATTLIST linkedBone\r
333     boneIdRef CDATA #REQUIRED\r
334 >\r
335 \r
336 \r
337 <!-- Sphere shape of Rigid-body. -->\r
338 <!ELEMENT rigidShapeSphere EMPTY>\r
339 <!ATTLIST rigidShapeSphere\r
340     radius CDATA #REQUIRED\r
341 >\r
342 \r
343 \r
344 <!-- Box shape of Rigid-body. -->\r
345 <!ELEMENT rigidShapeBox EMPTY>\r
346 <!ATTLIST rigidShapeBox\r
347     width  CDATA #REQUIRED\r
348     height CDATA #REQUIRED\r
349     depth  CDATA #REQUIRED\r
350 >\r
351 \r
352 \r
353 <!-- Capsule shape of Rigid-body. -->\r
354 <!ELEMENT rigidShapeCapsule EMPTY>\r
355 <!ATTLIST rigidShapeCapsule\r
356     height CDATA #REQUIRED\r
357     radius CDATA #REQUIRED\r
358 >\r
359 \r
360 \r
361 <!-- Rotaion information by radian. -->\r
362 <!ELEMENT radRotation EMPTY>\r
363 <!ATTLIST radRotation\r
364     xRad CDATA #REQUIRED\r
365     yRad CDATA #REQUIRED\r
366     zRad CDATA #REQUIRED\r
367 >\r
368 \r
369 \r
370 <!-- Dynamics parameters. -->\r
371 <!ELEMENT dynamics EMPTY>\r
372 <!ATTLIST dynamics\r
373     mass            CDATA #REQUIRED\r
374     dampingPosition CDATA #REQUIRED\r
375     dampingRotation CDATA #REQUIRED\r
376     restitution     CDATA #REQUIRED\r
377     friction        CDATA #REQUIRED\r
378 >\r
379 \r
380 \r
381 <!-- Reference for non-collision rigid-group. -->\r
382 <!ELEMENT throughRigidGroup EMPTY>\r
383 <!ATTLIST throughRigidGroup\r
384     rigidGroupIdRef CDATA #REQUIRED\r
385 >\r
386 \r
387 \r
388 <!-- List of Rigid-body group. -->\r
389 <!ELEMENT rigidGroupList (rigidGroup)* >\r
390 \r
391 \r
392 <!-- Rigid-body group. -->\r
393 <!ELEMENT rigidGroup (rigidGroupMember)* >\r
394 <!ATTLIST rigidGroup\r
395     rigidGroupId CDATA #REQUIRED\r
396 >\r
397 \r
398 \r
399 <!-- Member of Rigid-body group. -->\r
400 <!ELEMENT rigidGroupMember EMPTY>\r
401 <!ATTLIST rigidGroupMember\r
402     rigidIdRef CDATA #REQUIRED\r
403 >\r
404 \r
405 \r
406 <!-- List of joint definition. -->\r
407 <!ELEMENT jointList (joint)* >\r
408 \r
409 \r
410 <!-- Joint definition. -->\r
411 <!ELEMENT joint (\r
412     i18nName*,\r
413     jointedRigidPair,\r
414     position,    limitPosition,\r
415     radRotation, limitRotation,\r
416     elasticPosition,\r
417     elasticRotation\r
418 ) >\r
419 <!ATTLIST joint\r
420     name CDATA #REQUIRED\r
421 >\r
422 \r
423 \r
424 <!-- Jointed-bones information. -->\r
425 <!ELEMENT jointedRigidPair EMPTY>\r
426 <!ATTLIST jointedRigidPair\r
427     rigidIdRef2 CDATA #REQUIRED\r
428     rigidIdRef1 CDATA #REQUIRED\r
429 >\r
430 \r
431 \r
432 <!-- Limit of Position. -->\r
433 <!ELEMENT limitPosition EMPTY>\r
434 <!ATTLIST limitPosition\r
435     xFrom CDATA #REQUIRED\r
436     xTo   CDATA #REQUIRED\r
437     yFrom CDATA #REQUIRED\r
438     yTo   CDATA #REQUIRED\r
439     zFrom CDATA #REQUIRED\r
440     zTo   CDATA #REQUIRED\r
441 >\r
442 \r
443 \r
444 <!-- Limit of Rotation. -->\r
445 <!ELEMENT limitRotation EMPTY>\r
446 <!ATTLIST limitRotation\r
447     xFrom CDATA #REQUIRED\r
448     xTo   CDATA #REQUIRED\r
449     yFrom CDATA #REQUIRED\r
450     yTo   CDATA #REQUIRED\r
451     zFrom CDATA #REQUIRED\r
452     zTo   CDATA #REQUIRED\r
453 >\r
454 \r
455 \r
456 <!-- Elastic position of joint. -->\r
457 <!ELEMENT elasticPosition EMPTY>\r
458 <!ATTLIST elasticPosition\r
459     x CDATA #REQUIRED\r
460     y CDATA #REQUIRED\r
461     z CDATA #REQUIRED\r
462 >\r
463 \r
464 \r
465 <!-- Elastic rotation of joint by degree. -->\r
466 <!ELEMENT elasticRotation EMPTY>\r
467 <!ATTLIST elasticRotation\r
468     xDeg CDATA #REQUIRED\r
469     yDeg CDATA #REQUIRED\r
470     zDeg CDATA #REQUIRED\r
471 >\r
472 \r
473 \r
474 <!-- List of surface group. -->\r
475 <!ELEMENT surfaceGroupList (surfaceGroup)* >\r
476 \r
477 \r
478 <!-- Surface group. -->\r
479 <!ELEMENT surfaceGroup (surface)* >\r
480 <!ATTLIST surfaceGroup\r
481     surfaceGroupId CDATA #REQUIRED\r
482 >\r
483 \r
484 \r
485 <!-- Each surface with Triangle. -->\r
486 <!ELEMENT surface EMPTY>\r
487 <!ATTLIST surface\r
488     vtxIdRef1 CDATA #REQUIRED\r
489     vtxIdRef2 CDATA #REQUIRED\r
490     vtxIdRef3 CDATA #REQUIRED\r
491 >\r
492 \r
493 \r
494 <!-- List of vertex. -->\r
495 <!ELEMENT vertexList (vertex)* >\r
496 \r
497 \r
498 <!-- Vertex definition. -->\r
499 <!ELEMENT vertex (position, normal, uvMap, skinning) >\r
500 <!ATTLIST vertex\r
501     vtxId    CDATA #REQUIRED\r
502     showEdge CDATA #REQUIRED\r
503 >\r
504 \r
505 \r
506 <!-- Normal vector definition. -->\r
507 <!ELEMENT normal EMPTY>\r
508 <!ATTLIST normal\r
509     x CDATA #REQUIRED\r
510     y CDATA #REQUIRED\r
511     z CDATA #REQUIRED\r
512 >\r
513 \r
514 \r
515 <!-- UV-mapping information. -->\r
516 <!ELEMENT uvMap EMPTY>\r
517 <!ATTLIST uvMap\r
518     u CDATA #REQUIRED\r
519     v CDATA #REQUIRED\r
520 >\r
521 \r
522 \r
523 <!-- Skinning definition from vertex to bone. -->\r
524 <!ELEMENT skinning EMPTY>\r
525 <!ATTLIST skinning\r
526     boneIdRef1    CDATA #REQUIRED\r
527     boneIdRef2    CDATA #REQUIRED\r
528     weightBalance CDATA #REQUIRED\r
529 >\r
530 \r
531 \r
532 <!-- EOF -->\r