1 <?xml version="1.0" encoding="UTF-8" ?>
5 model-data(*.pmd) on XML
8 License : The MIT License
9 Copyright(c) 2010 MikuToga Partners
11 SYSTEM ID: http://mikutoga.sourceforge.jp/xml/dtd/pmdxml-101009.dtd
17 i18nName*, description+, license*, credits*, meta*,
32 xmlns:xsi CDATA #IMPLIED
33 xsi:schemaLocation CDATA #IMPLIED
34 schemaVersion CDATA #FIXED "100923"
39 <!-- Multilingual name. -->
40 <!ELEMENT i18nName EMPTY>
51 <!-- Description note about model. -->
52 <!ELEMENT description (#PCDATA | br)* >
55 xml:space CDATA #FIXED "preserve"
59 <!-- License term of usage. -->
60 <!ELEMENT license (#PCDATA | br)* >
63 xml:space CDATA #FIXED "preserve"
67 <!-- Credits for someone. -->
68 <!ELEMENT credits (#PCDATA | br)* >
71 xml:space CDATA #FIXED "preserve"
76 Meta-information of model.
78 but, some meta-name has recommended usage.
79 + "generator" (Generator application name)
80 + "siteURL" (Website URL)
81 + "imageURL" (Thumbnail image URL)
86 content CDATA #REQUIRED
92 All visual things can be tracked from here.
94 <!ELEMENT materialList (material)* >
99 Colors, shading, any other definitions.
112 showEdge CDATA #REQUIRED
113 surfaceGroupIdRef CDATA #REQUIRED
117 <!-- Diffuse color definition. -->
118 <!ELEMENT diffuse EMPTY>
123 alpha CDATA #REQUIRED
127 <!-- Specular color definition. -->
128 <!ELEMENT specular EMPTY>
133 shininess CDATA #REQUIRED
137 <!-- Ambient color definition. -->
138 <!ELEMENT ambient EMPTY>
146 <!-- Reference for Toon-image. -->
147 <!ELEMENT toon EMPTY>
149 toonFileIdRef CDATA #REQUIRED
153 <!-- Texture file information. -->
154 <!ELEMENT textureFile EMPTY>
155 <!ATTLIST textureFile
156 winFileName CDATA #REQUIRED
160 <!-- Sphere-map file information. -->
161 <!ELEMENT spheremapFile EMPTY>
162 <!ATTLIST spheremapFile
163 winFileName CDATA #REQUIRED
167 <!-- Toon-file mappings. -->
168 <!ELEMENT toonMap (toonDef)* >
171 <!-- Toon-file information. -->
172 <!ELEMENT toonDef EMPTY>
174 toonFileId CDATA #REQUIRED
175 index CDATA #REQUIRED
176 winFileName CDATA #REQUIRED
180 <!-- List of bone information. -->
181 <!ELEMENT boneList (bone)* >
184 <!-- Bone definition. -->
188 (rotationRatio | ikBone)?,
193 boneId CDATA #REQUIRED
209 <!-- position information. -->
210 <!ELEMENT position EMPTY>
218 <!-- Relationship-info between bones. -->
219 <!ELEMENT boneChain EMPTY>
221 prevBoneIdRef CDATA #IMPLIED
222 nextBoneIdRef CDATA #IMPLIED
226 <!-- Rotation ratio between Linked-rotationed bones. -->
227 <!ELEMENT rotationRatio EMPTY>
228 <!ATTLIST rotationRatio
229 ratio CDATA #REQUIRED
233 <!-- Reference to IK-Bone. -->
234 <!ELEMENT ikBone EMPTY>
236 boneIdRef CDATA #REQUIRED
240 <!-- List of Bone-group. -->
241 <!ELEMENT boneGroupList (boneGroup)* >
245 <!ELEMENT boneGroup (i18nName*, boneGroupMember*) >
251 <!-- Member of Bone-group. -->
252 <!ELEMENT boneGroupMember EMPTY>
253 <!ATTLIST boneGroupMember
254 boneIdRef CDATA #REQUIRED
258 <!-- List of IK chain. -->
259 <!ELEMENT ikChainList (ikChain)* >
262 <!-- IK chained bones definition. -->
263 <!ELEMENT ikChain (chainOrder)+ >
265 ikBoneIdRef CDATA #REQUIRED
266 recursiveDepth CDATA #REQUIRED
267 weight CDATA #REQUIRED
271 <!-- Part of IK chained bones. -->
272 <!ELEMENT chainOrder EMPTY>
274 boneIdRef CDATA #REQUIRED
278 <!-- List of morphing definition. -->
279 <!ELEMENT morphList (morph)* >
282 <!-- Morphing definition. -->
283 <!ELEMENT morph (i18nName*, morphVertex*) >
295 <!-- Morphing vertex information. -->
296 <!ELEMENT morphVertex EMPTY>
297 <!ATTLIST morphVertex
298 vtxIdRef CDATA #REQUIRED
305 <!-- list of Rigid-body definition. -->
306 <!ELEMENT rigidList (rigid)* >
309 <!-- Rigid-body definition. -->
313 (rigidShapeSphere | rigidShapeBox | rigidShapeCapsule),
321 rigidId CDATA #REQUIRED
330 <!-- Referenced Bone from Rigid-body. -->
331 <!ELEMENT linkedBone EMPTY>
333 boneIdRef CDATA #REQUIRED
337 <!-- Sphere shape of Rigid-body. -->
338 <!ELEMENT rigidShapeSphere EMPTY>
339 <!ATTLIST rigidShapeSphere
340 radius CDATA #REQUIRED
344 <!-- Box shape of Rigid-body. -->
345 <!ELEMENT rigidShapeBox EMPTY>
346 <!ATTLIST rigidShapeBox
347 width CDATA #REQUIRED
348 height CDATA #REQUIRED
349 depth CDATA #REQUIRED
353 <!-- Capsule shape of Rigid-body. -->
354 <!ELEMENT rigidShapeCapsule EMPTY>
355 <!ATTLIST rigidShapeCapsule
356 height CDATA #REQUIRED
357 radius CDATA #REQUIRED
361 <!-- Rotaion information by radian. -->
362 <!ELEMENT radRotation EMPTY>
363 <!ATTLIST radRotation
370 <!-- Dynamics parameters. -->
371 <!ELEMENT dynamics EMPTY>
374 dampingPosition CDATA #REQUIRED
375 dampingRotation CDATA #REQUIRED
376 restitution CDATA #REQUIRED
377 friction CDATA #REQUIRED
381 <!-- Reference for non-collision rigid-group. -->
382 <!ELEMENT throughRigidGroup EMPTY>
383 <!ATTLIST throughRigidGroup
384 rigidGroupIdRef CDATA #REQUIRED
388 <!-- List of Rigid-body group. -->
389 <!ELEMENT rigidGroupList (rigidGroup)* >
392 <!-- Rigid-body group. -->
393 <!ELEMENT rigidGroup (rigidGroupMember)* >
395 rigidGroupId CDATA #REQUIRED
399 <!-- Member of Rigid-body group. -->
400 <!ELEMENT rigidGroupMember EMPTY>
401 <!ATTLIST rigidGroupMember
402 rigidIdRef CDATA #REQUIRED
406 <!-- List of joint definition. -->
407 <!ELEMENT jointList (joint)* >
410 <!-- Joint definition. -->
414 position, limitPosition,
415 radRotation, limitRotation,
424 <!-- Jointed-bones information. -->
425 <!ELEMENT jointedRigidPair EMPTY>
426 <!ATTLIST jointedRigidPair
427 rigidIdRef2 CDATA #REQUIRED
428 rigidIdRef1 CDATA #REQUIRED
432 <!-- Limit of Position. -->
433 <!ELEMENT limitPosition EMPTY>
434 <!ATTLIST limitPosition
435 xFrom CDATA #REQUIRED
437 yFrom CDATA #REQUIRED
439 zFrom CDATA #REQUIRED
444 <!-- Limit of Rotation. -->
445 <!ELEMENT limitRotation EMPTY>
446 <!ATTLIST limitRotation
447 xFrom CDATA #REQUIRED
449 yFrom CDATA #REQUIRED
451 zFrom CDATA #REQUIRED
456 <!-- Elastic position of joint. -->
457 <!ELEMENT elasticPosition EMPTY>
458 <!ATTLIST elasticPosition
465 <!-- Elastic rotation of joint by degree. -->
466 <!ELEMENT elasticRotation EMPTY>
467 <!ATTLIST elasticRotation
474 <!-- List of surface group. -->
475 <!ELEMENT surfaceGroupList (surfaceGroup)* >
478 <!-- Surface group. -->
479 <!ELEMENT surfaceGroup (surface)* >
480 <!ATTLIST surfaceGroup
481 surfaceGroupId CDATA #REQUIRED
485 <!-- Each surface with Triangle. -->
486 <!ELEMENT surface EMPTY>
488 vtxIdRef1 CDATA #REQUIRED
489 vtxIdRef2 CDATA #REQUIRED
490 vtxIdRef3 CDATA #REQUIRED
494 <!-- List of vertex. -->
495 <!ELEMENT vertexList (vertex)* >
498 <!-- Vertex definition. -->
499 <!ELEMENT vertex (position, normal, uvMap, skinning) >
501 vtxId CDATA #REQUIRED
502 showEdge CDATA #REQUIRED
506 <!-- Normal vector definition. -->
507 <!ELEMENT normal EMPTY>
515 <!-- UV-mapping information. -->
516 <!ELEMENT uvMap EMPTY>
523 <!-- Skinning definition from vertex to bone. -->
524 <!ELEMENT skinning EMPTY>
526 boneIdRef1 CDATA #REQUIRED
527 boneIdRef2 CDATA #REQUIRED
528 weightBalance CDATA #REQUIRED