Jump to content

Fixing the dotXSI 3.0 Exporter for 3ds Max...


Recommended Posts

Well, this is my first post here... and it's been a few years since I was active on the older JK2/JKA forums... ( I still have several models to finish! Hah!) A couple of years ago DT and I tried to fix the exporter but could not get the BASEPOSE transforms exported correctly... so we gave up, I took a C++ class... time went by (2 years!), my C++ skills got very rusty... but I decided to knock the rust off and get this exporter fixed-- so I tracked DT down and we started up again.

 

So hopefully this WIP thread is going to be good news to those of you out there that have 3ds Max and desire to make new animations (...and NOT just compile a model). As you may or may not know, the Softimage|XSI exporter for 3ds Max 6 (which also works for v7, v8) is broken and doesn't export out a valid .xsi file that carcass.exe would compile. There were a number of issues (which have now been fixed):

  • The Scene Root Node was exported as "MAXSceneRoot" and the game expects the root node to be "model_root" -- FIXED!
  • Not only is the name of the scene root fixed, but today (and yes, it took me awhile because my C++ skills are quite rusty!) I added a text field called "Scene Root" where you can enter any root name you desire (useful for other game mods or anyone that has different scene root name requirements) -- Bonus Fix!!!
  • We finally have the BASEPOSE transforms being exported correctly -- FIXED!
  • The export dialog window that pops up does not have an easy cancel button (it did have a keyboard ESC feature-- but it's not obvious it exists) so today I got a Cancel button implemented -- Bonus Fix!!!
  • The orientation of the root node (model_root) is the one last issue we need to fix. The softimage code orients it 90 degrees out-of-phase with the skeleton in transforming from 3ds Max to the XSI coordinate system. I feel confident we'll have this solved shortly.
  • DT has been helping me solve the BASEPOSE transform and model_root issue (two heads are better than one, right?), and he has been working solo on compiling a version of our changes for 3ds Max 2011... we're hopeful we can get it to work for later versions of 3ds Max but the priorities are for Max 6, 7, 8, and 9 (I have the SDK for Max 9 but don't have it installed).
  • DT has been testing out the Max6 compiled plugin and has verified that is also supports Character Studio Biped (not that you'd want to use the Biped directly... but I guess one could if they took the time to make the Biped match the JKA bones exactly-- easier to just link the Nulls to the Biped IMO). Thankfully the last version Softimage released (v1.7) added "Export Selected" support and that's a huge deal.
  • DT also verified that the plugin output also works properly with the GLAmerge tool (which isn't affected by the model_root orientation issue)
So we'll keep you posted on our progress... are there any Max users still out there???
Link to comment

I'm still working to fix the orientation of the model_root pivot relative to the skeleton and mesh. I've also added some error trapping to cat h if the user leaves the new "Scene Root Name" option blank. Also added this to the original "Max Action" text field.

 

What versions of 3dsMax are being used?

Link to comment

Is anyone even running a 32 bit OS anymore? 64 is becomming more standardized these days, mainly because the max amount of RAM in 32 bit is so low by todays standards.

 

I am

only got 32 bit windows 7 atm , could swap to 64 bit VISTA but I'd rather jump off a cliff

Link to comment

Hey Michael!, you are a tenacious man (also credits to DT), i thought you would've given up by now :P

 

i use 9 x64 and 2010 x64.

Well, I did give up for a couple of years... but I'm determined to get this fixed. Just this one last issue is giving me fits... there are not any real tutorials on coding with the XSIFTK. So I'm struggling to grasp some of its principles. Maybe I'll breakdown and write Dominic LaFlamme an email.

Psyk0Sith likes this
Link to comment

Aha. Well either way, Raven never had the source code to it, just the .dfil (or whatever extension it is). Sorry that I can't be too much help on the subject. :(

Maybe, maybe not... the Softimage exporter plugin code on sourceforge is entirely different from the one that Raven released with their assets. So if that is what they used... they modified it completely.

 

The Raven plugin is both an importer and an exporter, the user dialogs are completely different. And if you open up the .dli file in a text editor you will see amongst the garbage that it says: "Raven Software" "Copyright 2001 Activision" (who knows... maybe Activision wrote the plugin for them???).

 

The Raven plugin exports both SRT transforms and BASEPOSE transform data-- which is needed by carcass.exe to properly compile the model into a .glm/.gla. Without this BASEPOSE data the mesh is garbage... and the Softimage Sourceforge code does not export out BASEPOSE data; and it also rotates the root node "model_root" which is why we have to compile the WIP plugin with -ignorebasedeviations to use with the JKA .gla file. DT has verified that GLAmerge works properly and doesnt care about model_root being rotated. That's the last issue I'm trying to clean up.

 

I've looked at the source code for all the Softimage released versions and it never exported out BASEPOSE data... and thus the original exported dotXSI file is garbage as far as carcass.exe is concerned-- we can post a screenshot of this original output later.

 

This is why this tool has been broken for all 3dsMax versions after Max5.

 

Perhaps the Raven importer/exporter source code goes back to SOF2 or an earlier game??? Could you ask your little birdie to look thru their SOF2 archives, etc.? It would be awesome if the source code is there... because then we'd have a good importer as well. Please let me know.

Link to comment

Whatever modification is done is done so that it will export from Max correctly of course since you can use any version of Softimage from 2.x up to 2013 and get a proper dotXSI file.

 

Seems that any source you can find on the crosswalk converter would be probably the most useful since looking at a dotXSI 3.x and 6.x in notepad there really aren't a whole lot of differences. I of course have tried to see if carcass would accept a 6.x file edited so the header said 0035 and it wouldn't take. Skimming through the file though in notepad only really showed small differences though so perhaps knowing how max handles the dotXSI 6.0 export could help with exporting dotXSI 3.x.

Link to comment

Whatever modification is done is done so that it will export from Max correctly of course since you can use any version of Softimage from 2.x up to 2013 and get a proper dotXSI file.

 

Seems that any source you can find on the crosswalk converter would be probably the most useful since looking at a dotXSI 3.x and 6.x in notepad there really aren't a whole lot of differences. I of course have tried to see if carcass would accept a 6.x file edited so the header said 0035 and it wouldn't take. Skimming through the file though in notepad only really showed small differences though so perhaps knowing how max handles the dotXSI 6.0 export could help with exporting dotXSI 3.x.

 

 

Thanks... I have the XSI FTK (File Transfer Kit) v3.6.3 along with its .chm help file for the FTK Developer's Kit... it's everything you need to build XSI plugins for any 3D software-- even make new plugins/features for Softimage (well the old Avid versions anyway...).  Unfortunately it lacks in examples or tutorials...  this XSIFTK supports the XSI 3.0, 3.5, and 3.6 file formats.  I also have the Crosswalk SDK 3.3 (last version compatible with Max8)... and in looking at the files, indeed the Crosswalk SDK appears to be made from the XSIFTK... (makes sense) probably the differences with 6.0 are in the template names/formats-- with some templates being new (and thus not backwards compatible).  One of the first problems we ran into a couple of years ago when we first tackled attempting to fix this Max exporter was a memory allocation issue that was causing Visual Studio compile errors... and we looked into the Crosswalk SDK and saw they had modified the particular XSIFTK file... we incorporated their change and eliminated that problem.  I'm confident we can overcome this last remaining issue.  Then it'll be just a matter of recompiling for later versions of Max.  There may be other issues with later versions of Max but we'll take 'em one at a time.  I'll register on the SI-Community forums as you suggested.

Link to comment

Ok... plugin update: The exporter has a dialog checkbox option for reorienting the model/skeleton from 3dsMax to Softimage|XSI coordinates.

 

Today I got the plugin fixed for the case when Reorient is checked-- this fixes the plugin and generates a proper dotXSI file that Carcass.exe compiles into a proper Ghoul2 model/animation.

 

I still need to tweak the code to get the mesh objects properly aligned to the skeleton if "Reorient" is unchecked. (I.e., leave character face down in 3dsMax coordinates).

 

I also still need to fix the "Export Selected" feature... but we'll have a beta version soon for folks to test.

Tempust85 likes this
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...