• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • ✅ Time to vote for the top 3 models! The POLL for Hive's 6th HD Modeling Contest: Mechanical is now open! 📅 Poll close on July 16, 2024! 🔗 Cast your vote now!

[3D Art] How to Fix Sanity Issues



Model Reviewer
Level 29
May 8, 2012
So, you wanna know how to get rid of those pesky Sanity Issues? Well now, with some time and patience, you can finally squash them by yourself!

Here's some tips.

I. Sanity Issues and Where to Find Them

There are two ways to access Sanity Checker.
Click on Utility.

Launch it.
Find a model in a resource section, or head to yours if you've already uploaded.

Drag and drop your model into the page, and then your Sanity Checker should load your model file and look like this. During the optimization process of your model, you can always leave the Sanity Checker page open for you to later drag and drop the model again to the page for another test.
Now, there are a lot of kinds of warnings and issues. Here are one of the frequent ones and how to fix them:

Texture - Not usedDelete the texture.
Material - Not usedDelete the material.
Track " " at frame " " has exactly the same value as tracks " " and " "Step by step instructions below.
(Usually taken care by MDLX Optimizer)
Track " " at frame " " has roughly exactly the same value as tracks " " and " "Step by step instructions below.
(Usually taken care by MDLX Optimizer)
"sequence" is not a standard nameRename the sequence into an in-game one, such as "Stand", "Walk". Otherwise, you may delete the sequence if unwanted, as it is bloating the model.
Number of sequence extents does not match the number of sequencesRecalculate the extents (Use Retera's Model Studio or Magos Model Editor)
There are no vertices attached to this boneDelete the bone.
Missing opening track for sequence " " at frame " " where it is neededAdd a keyframe at the mentioned frame.

II. Using an Automatic Model Optimizer

Usually, putting your model file straight into a model optimizer fixes most of the job for you. I'd recommend you send them into the optimizer before tweaking the rest of the issues yourself. The one I'd recommend and pick for this tutorial is the MDLX Optimizer: MDLX Optimizer
To use it, simply Drag and Drop your model file straight into the blank white page. You will automatically download the optimized version.

There are also other optimizers worth mentioning, such as Retera's Model Studio, loktar's MOP

III. Fixing Same Value Tracks (Manual Optimizing)

This is a special step-by-step instruction on how to fix roughly and exactly same value tracks. There are two ways to get this done, either by using a model editor like Retera's Model Studio or Magos Model Editor, or edit it in .MDL format using a text editor like Notepad++.
Here's an example issue.

To fix this, go to your model, and find the Helper node named "Bone_Arm1_R", and edit the node.

Then, a dialog will open containing the node's properties. Click on "Rotation" since the issue is on the Rotation segment.

A sequence editor will open. Find frame 12832 in the editor.

You can see that it has the same value with above and below. Delete it and save the model.
Here's an example issue.

First, you should convert your model from .MDX format to -> .MDL if you haven't. You may use this tool.

Right click the .MDL file, click Open With..., and find your text editor. I'd use Notepad++

It should look like this.

Now, click Ctrl + F to find the helper node name "Bone_Arm1_R".

In the "Rotation" section, find frame 12832.

And delete it.

Scroll up, change the number of rotation sequences. Reduce it by 1. In this case, from 101-

-to 100.

Save the .MDL file. And then drag and drop it (the .MDL file, not .MDX) to Sanity Tester page as it can read .MDL format too.
If the result is ok, you can convert it back to .MDX for compression.

I guess that's all. If your model has passed the Sanity Checker it will read as "Passed".

Feel free to ask questions, add more tips, or correct me if I'm wrong.