Jump to content

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


Recommended Posts

Posted

Press numpad 5, voila depth. :D It's default is actually the depth / 3d perspective, but what you saw in whatever form of media or trying it or whatever was Orthographic perspective, which I actually prefer because it's more mathematically accurate while designing scale. 

 

edit: interface? terrible? :( 

 

It's all a matter of preference. I used Gmax first and got used to it, I guess. Then I moved to blender and instantly fell in love with the super fast keystroke based UI.

Posted

^I don't have it installed anymore, was pointless, couldn't find any reason to keep it since Archangel took the time to help me find a way to get md3 models from Softimage.

 

We shouldn't clutter his thread anymore though, it's here for people who prefer 3ds Max and want to use it for JA, just because Blender has a exporter doesn't mean it's the end all be all program to use.

Psyk0Sith and Tempust85 like this
Posted

A GUI shouldn't be based around keystrokes. That doesn't make any sense to my mind. GUIs should be based on what is easiest to use with a mouse and a keyboard (keyboard being optional in some cases). But that's just me.

Posted

By based on keystrokes, I mean the end-goal of learning Blender's interface is to be able to hide it all and do everything using the mouse. And it excels, really really really well at that. That said, the windows or menus which you are not using keystrokes to access are easily and very customizably layed out. It also has a super-fast search (press space, type any part of a function) so for example, instead of going to the context menu which contains remove doubles, since  the keyword 'remove' is so seldom used, I just press space then type remove d (this is still faster than moving the mouse) and press enter or click.

Anyway, topic derailing, sorry.

Posted

To all the users of the new dotXSI exporter for 3dsMax... how many of you ever open these dotXSI ASCII files in a text editor to look at them?

 

If you have, then you will recall at the top of the file in the "SI_FILEINFO" template section there is a field for Project Name. Would it be useful to put the original 3dsMax Scene File Name here?

Posted

hm might be useful when checking for fileversion or something but otherwise I odnt think there'd be much use for it

Posted

hm might be useful when checking for fileversion or something but otherwise I odnt think there'd be much use for it

I was thinking it might be useful for keeping track of the original 3ds max file from which the dotXSI file was made.

Posted

I'd rather just have what software was used with the version number.

 

I did run some tests with Mod Tool and it does output the exact same SRT & Basepose data as an original xsi file from Raven. While this exporter (and Raven's for that matter) does output good basepose data, it still doesn't EXACTLY match up to what Mod Tool would output. Mod Tool I know grabs its basepose from weighted objects.

Posted

^It outputs the same because all Raven assets were exported from Softimage|XSI 2.x.

 

There is absolutely no difference in how Mod Tool handles dotXSI files than any other version of Softimage other than the triangulate function being capped, just triangulate models before export so that you don't have errors.

Posted

I'd rather just have what software was used with the version number.

 

I did run some tests with Mod Tool and it does output the exact same SRT & Basepose data as an original xsi file from Raven. While this exporter (and Raven's for that matter) does output good basepose data, it still doesn't EXACTLY match up to what Mod Tool would output. Mod Tool I know grabs its basepose from weighted objects.

The error is introduced during the coordinate transformation due to truncation from double to float on the rotation part of the matrix. There's an alternative method I can use to do the coordinate transformation that should not introduce any errors. I'll try that for the next Beta version. But on the current exporter, the error is so small it is within the tolerance allowance and does not require the -ignorebaseposedeviation switch. So if I do nothing it's still good as-is. ;)

Posted

As I mentioned in another thread, I'm having no position keys written out for my jiggling breast bones. I have collapsed the bone to turn the jiggling into keys, but it still won't export out position keys. The breast bones are Max bones (tried with dummies and still no go) linked to the biped's spine 2 bone. Rotations work.

Posted

As I mentioned in another thread, I'm having no position keys written out for my jiggling breast bones. I have collapsed the bone to turn the jiggling into keys, but it still won't export out position keys. The breast bones are Max bones (tried with dummies and still no go) linked to the biped's spine 2 bone. Rotations work.

First, are you using the Beta R1 exporter? If not, then please try that first. Otherwise, so these additional bones you've added to the biped hierarchy... what is their transform controller? Is it the standard PRS? Or do they have biped controllers?

 

Edit: Also, please explain your flex modifier setup.

Posted

Trying the R1 now, thanks. :)

 

Flex didn't work for what I wanted, so I'm using spring. Doesn't matter though, as I collapse everything before export.

 

 

EDIT:

 

Nice work Archangel! I don't even need to collapse anything, it exports as-is! Brilliant, all fixed now! :D

Psyk0Sith and Archangel35757 like this
Posted

The flex modifier should also work... but it has some particulars in setting it up. So the spring controllers are achieving the results you want?

 

I look forward to your next video... I'm sure you can find plenty of reference material online. ;)

Posted

Yeah, alot better than the flex. Speaking of which, the flex for the ponytail has now decided to swing violently to one side and jolt (inside Max). :\ The run animation has been cleaned up alot though. :P

 

I have loads of reference for various animations that I've been collecting over the years since I started animations for Star Wars The New Era. ;)

Posted

@@Archangel35757 Regarding floating point errors in the animations, I came across this particular link recently which illustrates how the effects of floating point errors can be minimised (not removed): http://www.seas.upenn.edu/~cis568/presentations/Reducing_Cumulative_Errors_in_Skeletal_Animations.pdf You might find it useful. Catch me on IRC if you need help with understanding any of it.

Thanks, I'll take a look at it... but in this situation I'm talking about the floating point errors due to the coordinate transformation from 3ds Max to XSI. What @@DT85 was saying is that on export the dotXSI matrix values for the bones are slightly off out in the 5th or 6th decimal place or so... the reason for this is because in the matrix transormation from 3dsMax to XSI coordinates the value of PI/2 in the XSIFTK is defined as a double and yet the matrix data type is a float. So this type casting from Double-to-Float for the value of PI/2 is causing some round-off error in the matrix math. And it is possible to do this coordinate transformation while avoiding this specific truncation problem. Below is a depiction of World Space as defined in both 3dsMax and Softimage|XSI.

 

max2xsicoordsys.png

 

As you can see... the two coordinate systems differ only by a 90 degree rotation about the X-axis. In my exporter fixes... I did the following 3 matrix multiplications for the coordinate transformation from 3dsMax to XSI (shown below using MathCAD symbolic math). But you will notice that the same can be achieved purely by row/column manipulations-- preserving exact values.

 

max2xsi.png

So in my next Beta version, I will try the row/column manipulation and avoid the truncation errors from Double-to-Float casting. ;)

Tempust85 likes this
Posted

Ok, now my facial biped bones won't output position keys.

That doesn't make sense... position & rotation should be exported for all Max Bones and Helpers. Are your facial bones biped objects with biped controllers? Or are they Max Bones/Helpers? What transform controller are they using?

Posted

They are actual biped Xtra bones, not Max bones or dummies. I wanted them to be part of the biped so I can easily save out the animations to a .bip file for others, rather than having to save each and every max file. ;)

Posted

They are actual biped Xtra bones, not Max bones or dummies. I wanted them to be part of the biped so I can easily save out the animations to a .bip file for others, rather than having to save each and every max file. ;)

 

Ok... that's the issue.  They are Biped Objects, and by default only the Biped root object gets its position transforms exported, whereas all of its child bones are rotations only.  I've not really worked much with Bipeds... will you explain how you added these extra biped bones to the head?  They don't seem to be in 3ds Max 8.  What version of 3ds Max are you using?  What version of 3ds Max added these "new" Xtras biped objects?  We need to come up with a method for distinguishing these Biped Xtra objects versus the standard biped objects... so as to enable position keys only for them.

 

Edit:  I think I have a simple solution... would it negatively impact your biped facial setup if you turn on the Max Bone property for these Biped Xtra facial objects?  This would make the xtra biped objects act like Max Bones.  In the plugin code I could then test the biped objects to see if the bone property is true or false and if true then export out position keys.  By default Biped Objects would test false unless this property is specifically set to ON for a biped object (just like any other non-bone object).  So please go into the "Animation>BoneTools" menu and turn on the bone property for these facial xtras.  Then do a 3dsMax test animation and save to .BIP and see if this causes you any problems.  If not, then I think this is the cleanest solution-- but I'm open to other ideas.

Posted

Using 2011 with your latest 2010 plugin (R1). I add the new bones under the 'Xtras' tab when in 'structure mode;, then set the face_always_ as the parent.

 

Checking biped bones as Max bones can make the biped bones not behave as they should. I'll try it on the face (xtra) bones, as I've only tried it on the arms & legs in the past. I'll get back to you on this. ;)

Posted

If turning on the bone property causes problems, then we could just as easily create a custom property. We just need a distinct method for distinguishing these Xtra biped objects from standard ones.

Posted

Ok, it causes no problems but doesn't give me any position data. :\

 

You should be able to access the Xtra bones individually, they are grouped as 'Xtras' even after you leave structure mode. Btw what is wrong with making all biped bones have position data? I never understood that.

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