View Full Version : Importing PSA's give wrong animations

20th Jan 2004, 05:24 PM
Hi there,

I'm working on my one-man-mod and I wanted to import my custom modeled and animated weapon for 1st person view (a crossbow if you're interested). I used Milkshape 1.7.0 for this, because I'm not very skilled in 3DS Max. Anyhow, I rotated the model inside Milkshape to make it correspond with the rotation of the AssaultRifle_1st in the animation browser after importing the psk's (only to find out that the other guns have different rotations as well). And after that I imported my psa's. Well it immediately went wrong with the first one. The import went all right, but the result was frightening. My weapon was flipped upside down, and the movement was somehow twisted. Although I think that the rotation y,x,z's have been swapped, I lack the spatial capabilities or the expertize to confirm it. I was wondering if anybody else came across the problem and how he/she fixed this. I checked udn and this problem wasn't mentioned. I also browsed through previous threads, but it hasn't been brought up yet.

Help would be greatly appreciated.

21st Jan 2004, 11:06 AM
this has been mentioned, but not very often -- the MS3D 1.7 PSA/PSK exporter seems to have a bug that affects custom skeletons and their models. Mete Ciragan has been informed, but has apparently chosen not to document this problem. Check the ChumablumSoft (MilkShape) forums for any possible breaking news, or drop Mete a line reporting your experience. It really should be fixed.

21st Jan 2004, 12:10 PM
Don't forget that the rotation of the bones themselves has a bearing on the rotation of the weapon. So if your Bone_weapon bone is rotated 90, the weapon will be too (meaning before you rig the model to the skeleton). And you can always change the rotations through your weapon script of course :)

21st Jan 2004, 12:55 PM
@ Elite6: At least one modeller had success by first importing the player model skeleton in milkshape, then deleting everything he did not want and adding the bones he needed for weapon models. I think the key may be to have only a single joint connected to the root joint, and having that directly above the root joint. Go to the milkshape website forums and look under bugreports for the thread dealing with this.

21st Jan 2004, 02:32 PM
meowcat, this seems like a possible workaround, though a bit clumsy, as the player skeletons (some of them, at least) seem to work OK, according to what i've read on the ChumbalumSoft forum, and according to Mete's tutorial on the subject.

but you should be able to build a boneset & model from scratch and have it work properly.

21st Jan 2004, 07:40 PM
chip, it is a bit clumsy, but i think i found a method that works and the main key for succeess seems to be to have the root bone stationary at the origin (or at least not rotated at all) with only a single other joint connected to it. Then have all other branches off this second joint, just so long as the root bone does not get rotated once it is placed (if you place the second joint connected to the root off to a side and not directly above or below it, then it seems to screw up the rotations since the root joint get rotated).

21st Jan 2004, 08:52 PM
OK, sounds reasonable. snap the root to the origin, and the next joint snapped at 6 o'clock or 12 o'clock, then anything goes from that joint on.

sounds like maybe the root rotations are being applied to the mesh in some fashion that skews the positioning of the mesh when exported, relative to the skeleton, but isn't apparent in MS3D. as i recall, in my tests i didn't maintain any specific root bone orientation, so that could have led to the screwy results i got.

thanks for clarifying this, meowcat. next time i fire up MilkShape 1.7 i'll give your suggestion a workout :)

22nd Jan 2004, 04:29 PM
thanks for the suggestion meowcat. I asked at the milkshape boards, and Mete completely ignored my thread (posting everywhere except in mine). I found that the imported psa's had the correct bone rotation, but the original psk was screwed up. I'm gonna try what you suggested.