Poikilos / io_import_x

Import/export .x files in Blender 3.0 (and some earlier versions). The *Poikilos fork* attempts to maintain compatibility with the latest stable Blender and allows install via GUI (Click "Code", "Download ZIP"--See "Install" in readme for the rest of the steps). Related project (also recently updated): https://github.com/ldo/blender-addons-orphaned
GNU General Public License v3.0
32 stars 9 forks source link

Support for Binary .x? #14

Open VaelophisNyx opened 1 year ago

VaelophisNyx commented 1 year ago

Currently frustrated and struggling to work with an old game's .x files, as they were binary encoded and nothing I can find online actually lets you reencode as text; short of ancient 3DS Max plugins. Even the 2008 DXSDK does not have the program that would have let me change the encoding

could support for this be added?

Poikilos commented 1 year ago

Sorry, not likely.

The ASCII format itself is a bizarre template language so its amazing even that works. I've updated certain code to work with modern versions of Blender but I didn't make the add-on and the format itself is complicated. It is a self-defining template language from what I've seen. An importer supporting binary is not likely to happen due to the added complexity and necessity to start from square one, plus being harder to decode than ASCII. I suggest you try:

  1. trueSpace free: It has export (or did at one time), but I'm not sure about import.
  2. Assimp claims to support "ASCII, Binary and compressed binary." but, like io_import_x, libassimp does not import animations as far as I know. The easiest way to use libassimp seems to be to use the CLI (Command-line Interface), the assimp command. I could not find a GUI. Finding a good guide on it is difficult but you can use the export subcommand as shown in the following discussion (even if not using PHP, you can use them in a command line): https://stackoverflow.com/questions/33091864/assimp-command-line-to-convert-obj-file-to-slt

You generally do not have to compile it to use it, unlike what the discussion says. There is a binary version for Windows and binary packages for various Linux distributions and for homebrew on macOS.

If you are trying to get x files into a specific program, maybe get an importer that uses assimp for that program. Assimp is widely used but usually by graphics programs and game engines, so if you need conversion or import for something specific, you will have to do a web search or maybe search GitHub: