-
Notifications
You must be signed in to change notification settings - Fork 277
PMX error checker quick reference
To run the PMX error checker, open a PMX model in PMX editor and click File(F), PMX info(F).
OR
Open a PMX model in PMD editor and click File(F), State verification of PMX data(F).
(There is also a PMD error checker, which is not included in this quick reference tutorial. The output of the PMD error checker is not exactly the same as the output from the PMX error checker.)
System 1 error (category 1 of 10)
Model Information 2 errors (category 2 of 10)
Vertexes 5 errors (category 3 of 10)
Faces 3 errors (category 4 of 10)
Materials 8 errors (category 5 of 10)
Bones 10 errors (category 6 of 10)
Morphs 3 errors (category 7 of 10)
Display panel 10 errors (category 8 of 10)
Rigid bodies 3 errors (category 9 of 10)
Joints 4 errors (category 10 of 10)
- More than 4 additional UV maps
Fix: Delete additional UV maps in excess of 4.
-
No model name
Fix: Add a model name. -
No model comment
Fix: Add a model comment.
-
Vertexes which have invalid normals
Fix: In the PMX editor information window, click Edit(E), Vertex(V), Repair invalid normals(R). (PMD editor: Unauthorized modification of normal(R)). -
Vertexes which have invalid vertex weights
Fix: In the PMX editor information window, click Edit(E), Vertex(V), Normalize(N) (PMD editor: Weight normalization(N) -
Vertexes which are missing an SDEF weight value
Fix: In PMX editor information window, click Edit(E), Vertex(V), Bad SDEF values to BDEF2 values(D). (PMD editor: The BDEF2 of(D)a bad SDEF vertex) -
Vertexes whose SDEF bone indexes refer to a bone which does not exist
Fix: In the PMX editor information window, click Edit(E), Vertex(V), Repair bone(B), (PMD editor: Fix unreferenced bone(B). -
Vertexes which have no face (i.e. isolated vertices, Blender: loose geometry)
Fix: In PMX editor information window, click Edit(E), Vertex(V), Select non-reference faces(s)(F). (PMD editor: Select alone (non-reference plane) vertex(F)). Then in the PMXView window press Delete (or Shift+Delete) to delete them.
-
The vertex index of a face's vertex does not exist in the model
Fix: No automatic fix for this error. -
Invalid faces (faces which are not triangles, the same vertex is listed twice, causing the face to be an edge).
Fix: Select all the faces in the PMXView window, then click Edit(E), Selected faces(F), Delete invalid faces(N). (PMD editor: Delete the wrong side(N)).
- Duplicate faces (Blender: Doubles, Remove Doubles)
Fix: Delete the duplicate faces. Select all the faces in the PMXView window, then click Edit(E), Selected faces(F), Delete same(P). (PMD editor: Delete duplicate surface(P)).
-
Materials with no name
Fix: Give these materials a name. -
Materials with duplicate names
Fix: Rename the materials which have duplicate names. -
Materials which have no faces
Fix: Delete the material OR assign the faces to a new material. To assign the faces to a new material, select the relevant faces in the PMXView window, then click Edit(E), Selected faces(F), Truncate(T). (PMD editor: Is taken to a new material(T)). OR to separate vertices to a new material, select the relevant faces in PMXView, then click Edit(E), Selected faces(F), Truncate separate vertex(K). (PMD editor: Removed to a new material by separating vertex(K)). -
Texture name refers to an image file which does not exist
Fix: Add a texture image file with the correct name into the model folder, or rename one of the texture image files in the model folder to the correct name, or delete the incorrect texture image name in the PMX model. -
Sphere texture name refers to an image file which does not exist
Fix: Add a sphere texture image file with the correct name into the model folder, or rename one of the sphere texture image files in the model folder to the correct name, or delete the incorrect sphere texture image name in the PMX model. -
Sphere texture is named but it is disabled
Fix: Either enable the sphere texture in the PMX model, or delete the name of the disabled sphere texture in the PMX model. -
Toon texture name refers to an image file which does not exist
Fix: Add a toon texture image file with the correct name into the model folder, or rename one of the toon texture image files in the model folder to the correct name, or delete the incorrect toon texture image name in the PMX model. -
Counting faces which have materials. Each face should be assigned to exactly one material.
-
Number of bones (too many bones)
Fix: Delete bones, presumably. How many bones is too many? Sorry, I don't know. -
Bones which have no name
Fix: Give them names. -
Bones which have duplicate names
Fix: Either rename or delete the bones which have duplicate names. -
Circular reference
(Bone A is parent of bone B, but bone B is also parent of bone A, for example.)
Fix: Edit the bone parent and child references in PMX editor. -
Incorrect order of bones
Fix: The parent bone should always be listed before its child bone. Re-order bones to fix this error. Note that a parent-child pair of bones should be in the same deformation tier to correct this error. -
Index of parent bone refers to a bone which does not exist
Fix: Give this bone the index of a parent bone which does exist, or no parent bone(-1). -
The index of a child or destination bone refers to a bone which does not exist
Fix: Give this bone the index of a child or destination bone which does exist, or no child/destination bone. -
"Bone hierarchy order check failed". Errors related to "Grant parent" aka "Gr parent" bones. (A bone copies the rotation and/or movement of its "Gr parent" bone.)
Fix: A Gr parent bone must be listed before its Gr child bone. Also check that the index of the Gr parent bone refers to a bone which exists. Other Gr parent conflicts may also cause this error. Note that a parent-child pair of bones should be in the same deformation tier to correct this error. -
The index of the IK target bone refers to a bone which does not exist
Fix: Give the bone the index of an IK target bone which does exist. -
The name of an IK linked bone, refers to a bone which does not exist
Fix: Give the bone the index of an IK linked bone which does exist.
-
Morphs with no name
Fix: Give them names. -
Morphs which have duplicate names
Fix: Rename morphs which have duplicate names. -
Morph invalid offset reference
(Vertex index in a vertex morph or UV morph is out of range. The vertex index is higher than any index of a vertex in the model OR the material index of a material in a material morph does not exist OR a morph name in a group morph refers to a morph which does not exist.)
-
Display panel groups with no name
Fix: Give them names. -
Display panel groups with duplicate names
Fix: Rename display panel groups which have duplicate names. -
Bones not assigned to a Display Panel Group
Fix: Add all names of bones to display panel groups. -
Morphs not assigned to a Display Panel Groups
Fix: Add all names of morphs to display panel groups. -
duplicate listing of a bone name
Fix: Delete the duplicate bone names listed in Display panel groups. -
Duplicate listing of a morph name
Fix: Delete the duplicated morph names listed in Display panel groups. -
Display panel bone name refers to a bone which does not exist
Fix: Delete these names of non-existent bones in display panel groups. -
Display panel morph name refers to a morph which does not exist
Fix: Delete these names of non-existent morphs in display panel groups. -
Zero display panel groups
Fix: Add display panel groups to the model. -
Root and/or Expressions (System) Display Panel Groups (the two "System" Display Panel Groups) do not exist
Fix: Add these 2 display panel groups to the model.
-
Rigid bodies which have no name
Fix: Give them names. -
Rigid bodies which have duplicate names
Fix: Rename the rigid bodies which have duplicate names. -
Rigid body bone name refers to a bone which does not exist
Fix: Input a different bone name for this rigid body, which is the name of a bone that does exist.
-
Joints which have no name
Fix: Give them names. -
Joints which have duplicate names
Fix: Rename joints which have duplicate names. -
Name of rigid body A of a joint refers to a rigid body which does not exist
Fix: Input a different rigid body A name for this joint, which is the name of a rigid body that does exist. -
Name of rigid body B of a joint refers to a rigid body which does not exist
Fix: Input a different rigid body B name for this joint, which is the name of a rigid body that does exist.
The mmd_tools_helper add-on can be used to automatically fix IK errors and Display Panel errors of an MMD model:
https://github.com/Hogarth-MMD/mmd_tools_helper/archive/master.zip
When correcting invalid faces, or duplicate faces or materials with no faces. you need to select faces, not just select vertices. This image shows how to select faces:
Disclaimer: I have not exhaustively tested all of these fixes. Some of the fixes are copied from these 2 tutorials:
PMX Validation: Every modeler should know and do
https://permayuyuko.deviantart.com/journal/PMX-Validation-Every-modeler-should-know-and-do-469367980
PMD info guide to fixing models [tutorial]
https://likeabaka.deviantart.com/journal/PMD-info-guide-to-fixing-models-tutorial-615658649
We are migrating the documentation: MMD & Blender Wiki in English / MMD & Blender Wiki in 日本語