Jump to content

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


Recommended Posts

All I want is to figure out why the .skin file isn't being written. The new dotXSI 3.0 exporters work fine for 3dsMax... and I should have it compiled for all the latest 3dsMax versions soon. If .ASE files can be compiled by Carcass (like they use to be...)-- I haven't tried this yet. But the .ASK file carcass asks for is just a renamed .ASE... (from looking at ST:EF2 .ASK files).

 

 

@@Xycaleth could add his FBX->Ghoul2 converter under the "Assimilate Hood" and sit next to Carcass.exe

Link to comment

Assimilate creates a .car file from the ASE/XSI, and Carcass compiles it (the .car) into a .glm(/.gla?)

This is the contents of a .CAR text file:

$aseanimgrabinit

$scale 0.64

$keepmotion

$pcj upper_lumbar

$pcj lower_lumbar

$pcj cranium

$pcj cervical

$pcj thoracic

$pcj pelvis

$pcj face_always_

$pcj Motion

$pcj rradius

$pcj lradius

$pcj rtibia

$pcj ltibia

$pcj rhumerus

$pcj lhumerus

$pcj lfemurYZ

$pcj rfemurYZ

$pcj $flatten

$aseanimgrab models/players/jedi_malak/both_walk2.xsi -loop -1

$aseanimgrab models/players/jedi_malak/both_run2.xsi -loop -1

$aseanimgrab models/players/jedi_malak/both_attack2.xsi -loop -1

$aseanimgrab models/players/jedi_malak/both_death2.xsi -loop -1 -qdskipstart -additional 28 1 -1 20 BOTH_DEAD2 -qdskipstop

$aseanimgrab models/players/jedi_malak/root.xsi -loop -1

$aseanimgrabfinalize

$aseanimconvertmdx_noask models/players/jedi_malak/root -makeskin -smooth -losedupverts -makeskel models/players/jedi_malak/jedi_malak -origin 0 0 24

This is only the input to Carcass... which actually compiles the .xsi (or .ase) files. At least that's how it seems to me... :) Carcass doesn't need Assimilate (...given someone intimately familiar with Carcass commands that could write the above manually... yeah, right ;) )

 

...and this is the Carcass command input to build the Ghoul2 model:

carcass.exe -keypress model.car

Link to comment

@@Psyk0Sith, @@DT85 and everybody else-- why is it not creating the .SKIN file? Is it something to do with the SI_Texture2D template names for the textures themselves within the dotXSI file?

 

The current dotXSI exporter gives you the option of full file path or just the texture file name... does it need to be a relative path???

 

E.g.-- models/players/jedi_malak/*.tga

 

It had to have worked as some point in the past, no?

Link to comment

It should be creating a skin with -makeskin added. Works fine for Kyle's root.xsi

 

Doesn't matter if new formats are added to assimilate, carcass still won't be able to process them into ghoul2.

 

 

 

EDIT:

 

Need the following for every mesh object at the very end:

    XSI_CustomPSet head {
     	"NODE",     
	1,
	"Shader","Text","models/players/head.tga",
    }

in the place of:

     SI_GlobalMaterial {
     	"models/players/head.tga",
      	"NODE",
     }





Link to comment

ok... digging around, I found this on the Void from Hapslash regarding .surf files:

 

Question: I'm moving some of my skins over to JA, and for the most part they all work out fine. Except for those where I've turned off certain parts, IE Jan's vest and hip_chap. The old .surf files no longer work. What do I change to make them work?

 

Answer: when you use the JA model, the surf file is no longer necessary. All the parts are on by default. To turn them off, simply replace the texture name/pathway in the .skin file with *off.So the altered line would appear similar to this:torsob_vest,*off

 

 

But then I found @@Inyri 's webpage with this mod: 

 

http://www.inyri.info/mods/jaskins/rodian/

 

... which shows you how to use .SURF files in JKA-- so now I'm confused!  :unsure:

Link to comment

@@DT85, so when you have a model like my Darth Maul and Cyber Maul that will definitely need .skin *off'ing...is there no automatic tool to do this? Wouldn't the model_default.skin file have everything turned on, and thus require manual editing???

 

Seems like it might be simpler to write a Maxscript file that generates all of your .skin files by using mesh & layer info, no?

Link to comment

Yeah that would make it easier, but I don't see manual editing a .skin file is that much of a problem to warrant an automation script/tool. :P

Maybe not for a single mesh character... but if you want to have several skins with miscellaneous meshes ( think jedi_hm) that will require various .skin files then that seems a bit tedious-- especially if you already have the meshes on different layers in 3dsMax already.

Link to comment

@@Psyk0Sith, @@DT85, @@eezstreet -- ok, so I'm looking at the dotXSI exporter code, .skin files for JO_Kyle, JA_Luke, and JA_jedi_hm... and it shouldn't be a problem to add the necessary custom game data in the XSI_CustomPSet template that is used by Carcass.exe to generate the .skin file.

 

However, in my implementation I have a couple of choices, as I see it, on how to code it and so I'd like to take your opinions under consideration.

 

For JO_Kyle and JA_Luke, It seems the model_default.skin file only lists the mesh objects for the default skin (yes, that makes sense)... but in the JA_jedi_hm skin file (because there are so many different outfits/meshes) they appear to list ALL mesh objects and simply use the *off flag to turn off these surfaces in the default .skin file.

 

It seems to me that Carcass can only create one skin file (model_default)... but to make manual editing easier, I think it would be best to modify the dotXSI exporter code so that it follows the jedi_hm example-- listing all surfaces and using the *off as necessary. 

 

The outline for how I would code this is as follows:

  1. For each mesh object, check if it has "bolt" in it's name, or has no material assigned (i.e., = undefined) and if so skip/do nothing, else
  2. Create the XSI_CustomPSet template for the mesh object (using mesh name and applied texture name**[see below] )
  3. If the mesh object is hidden (i.e., not visible in the scene) at time of exporting, then append the *off flag to the text string.

In this way, all mesh objects with materials will be written to the .skin file (like the jedi_hm) and should allow for easier manual editing later.

 

**Regarding the material name... it seems the simplest solution for this would be to name the 3ds Max Material Editor slot with the relative path.

For example:

models/players/kyle/kyle_torso.tga

 

and use that for the XSI_CustomPSet parameter value... what say you all?

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...