Importing animated Milkshape models via .x ??

Hello all.

Since this is my first posting on these forums, let me say an enormous THANK YOU to everyone who has worked on Panda3D: the combination of sophisticated gaming/VR engine with a strong Python focus is truly an irresistable one. :slight_smile:

And now to my question. I am trying to get a MilkShape 3D model into a form usable by pview. The Panda3D documentation recommends the DirectX ‘x’ format as the input format, so that’s what I’ve tried. If I export from MS3D to .x, without animation, the .x file displays correctly in pview.

However, done of my attempts at getting animation working have succeeded. I say attempts, as there are lots of possible options on the export to .x format: there are two exporters, different DirectX formats, options for DirectX templates, etc.

My two specific questions are:

a) Has anyone successfully converted a MS3D model into a .x format file, correctly viewable by pview, including animations ?

b) If (a) == ‘yes’, in MS3D what settings did you use for the export?

Thanks for your time,

Not me… it should theoretically work, but I haven’t actually tried it.

If you can’t solve it in the next 10 minutes, then make a very small X file. For example, make a simple cube and animate it moving left-to-right. View it in the DirectX viewer to see if it’s okay. If so, but it still doesn’t work in panda, then post the entire thing here. We can then stare at the file and figure out what the trouble is.

  • Josh

Our user Manakel reported successfully using Milkshape to convert the animations he was doing in Poser. He would export the animations from Poser and import them into Milkshape, and then export them from Milkshape to .x, and he said it worked perfectly. The thread is here:

If Manakel is still browsing these forums, perhaps he can shed some more light on the proper way to export animations from Milkshape.


Hello All, sorry if i didn’t answer sooner. I didn’ have internet access for the last few weeks.

actually to export animation to .X i do the following:
use Direct 8.0 file export. (not JT one)
Warning: does not export in animation mode. also no null texture or material is allowed (you won’t be blocked but MS3D crashes)
check all needed boxes.
export (this can be very long depending on vertices number)

if you selected less than all checboxes (material animations…) you will have to edit manually the x files to remove the last 1 or 2 “}” of the file .
before using X2egg to convert .

Warning:if you run X2egg without special args, you will need to have your textures also in the same directory than the x files.

TIPS: depending if you make your models fully in MS3D or import it from Poser, you may find an issue : all animations applied to root bone instead of correct bone.
You can solve it in MS3D by regrouping all materials, export to HL SMD (1 or 2 ) then import again and export to .X.

Thanks for the replies guys. :slight_smile:

On my work PC I have one fully animated MS3D model now playing successfully in Panda3D. As Manakel suggested, the key was doing the HL SMD export/inport cycle, before doing the final export to .x format.

Will do some further testing with some other models on my home PC (when I can get it to talk to Panda3D - a separate problem :slight_smile: ), but see no reason why the above procedure shouldn’t work.

Thanks again,

drw ,

Maybe i should write a small tutorial on this topic.(with screenshot and so on)… Do you know if it can be hosted at panda3D or if ishould put it on my site and provide a link? (this could be done this evening in this case)

Manakel: thank you very much for doing this! We really need some help.

The instructions should be added directly to the relevant page in the manual. Do you know how to use a wiki? The panda3d manual is actually a wiki. Beneath each page is a tiny dot. That’s the login button. Go ahead and edit the milkshape page directly. There are some formatting conventions, there’s a link to them on the login page.

We really appreciate the backup. We’re seriously overloaded.

  • Josh