I think I figured out what the problem is, but I don't know how to fix it. I actually ended up getting the
Bones rotating correctly. However, the vertices go off in weird directions. I spent a couple hours last night trying to get it working, but eventually I was too tired to keep trying, so I went to bed. Today, I was trying it again, and just now I had the realization that I
think the vertices are rotating around the correct Bone locations, but using global rotations instead of local ones. For example, I have a bone rotating on
its x axis as it also spins on
its z axis . The vertices, on the other hand, instead orbit the bone around the
global x axis, then orbit on the
global z axis, giving the
completely wrong location.
If you guys know how to fix this, it would be awesome, because this is practically the only thing that isn't working in the smd loader. I read something about "quarternions" maybe being related to rotating correctly, but then I searched it on wikipedia, and I was like, "huuuuh?"
Edit: I just realized that I don't think that even the bone movement is right. The bone that looks like it's working is only working because the parent bone's "tip" location is only moving over one axis, so in that case, global rotation is practically equal to local rotation.