Jump to content
Hash, Inc. Forums
nemyax

Choreography plugin: Export Transforms

Recommended Posts

Export Transforms
This plugin exports the transformations of all bones in a model over the time range you specify. It works in a WYSIWYG fashion: you record only the final state of the animation from the current choreography, and you don't have to pre-bake anything.

This is useful for bringing animation from A:M to render it elsewhere.
The transform data is written to a custom binary format with the .xform extension. Import of this format is supported for Blender by this importer plugin. The format is also trivial to support in other software if you write the necessary import code (or get someone else to do it) for your program of choice. The format's data structures are documented in the export-xforms.h file.

Last updated: April 12, 2017.

Download
For 64-bit A:M (Windows)
For 32-bit A:M (Windows)
These builds should work with version 19.0. If the Visual C++ 2015 redistributable is installed, it will also work with version 18.0.

Static MFC build for 64-bit A:M (Windows)
Static MFC build for 32-bit A:M (Windows)
These builds should work with version 18.0 even if the Visual C++ 2015 redistributable is not installed.

Source code (Visual Studio 2015 solution)

To install the plugin, put the correct (either 32-bit or 64-bit) .hxt file in the \HXT folder.
There won’t be a MacOS X build. If you want to try and create one, fiddle with the source code.

How to use

  1. In a choreography, right-click the model for which you want to export animation, and click Plugins | Export | Export Transforms (*.xform)
    da29fc4ef8bd1a320876aae6b99bbb4a.png
  2. Specify the file to write and the time range to export, and click OK.
    4f9b16ee3e69dd0573b013ba925f55d6.png

Credits
Special thanks to Hellraiser for advice on the workings of MFC.

Share this post


Link to post
Share on other sites

Hi!

 

Cool thing. Little question off topic: What is "3-Point Reroute" in your plugin list on the screenshot?

Share this post


Link to post
Share on other sites

Tried several times- several ways- several characters and rigs... I know this is a programmers worst response scenario... tried removing dynamics... images... materials...

Share this post


Link to post
Share on other sites

I know this is a programmers worst response scenario

Nope, this is a programmer's bread and butter. Can you give me the project?

Share this post


Link to post
Share on other sites

might want to warn anyone on the forum who may of grabbed it...

Yeah, everyone who downloaded this earlier, please get the latest update. If the smaller binaries don't work for you, try the larger static MFC ones.

Share this post


Link to post
Share on other sites

From post one..... I can't get that Blender importer plugin to "Unizip"....Gives me an error message. Any ideas how to get that done?

Share this post


Link to post
Share on other sites

From post one..... I can't get that Blender importer plugin to "Unizip"....Gives me an error message. Any ideas how to get that done?

 

The only one that is a zip up there is the source code. You don't want that, do you?

 

You just want the hxt

Share this post


Link to post
Share on other sites

detbear

I've just tried it, and it unpacks fine. Mind that you don't have to unpack it to install it in Blender.

Share this post


Link to post
Share on other sites

I'm talking about the "Importer Plugin" for Blender. You said in the above text that the .X form files are imported into Blender by "This Importer Plugin."

 

When I follow that link and attempt to unpack the downloaded file, it gives me an error for some reason.

Share this post


Link to post
Share on other sites

zip error.jpgHey nemyax,

 

I still get an error. Could be on my end somehow because others don't seem to be having a problem.

 

Here is the error message I get.

 

 

Share this post


Link to post
Share on other sites

Nemyax...

 

That works Amazingly!! I tried to smooth the imported character and it didn't give such good results.

 

I'm attempting to use the Lego Minifig character. Since the spline rings are so low in number, the subdivider modifier

makes the head smaller. I wonder if there is a way to do that without having to remodel anything in A:M

 

That certainly allows you to animate in A:M and transfer to Blender for sure.

Share this post


Link to post
Share on other sites

On a more complex animation, things don't seem to transfer.

 

I'm using AM V.18. I tried both versions of the importer, but both seem to have similar results.

Share this post


Link to post
Share on other sites

On a more complex animation, things don't seem to transfer.

Can you give me the project so I can test it?

Share this post


Link to post
Share on other sites

I think I have it figured out.

 

Question:

Can you hide the bones in Blender so that they don't show up in the renders or FBX exports??

 

This is awesome Nemyax. Thanks for working on this.

 

Detbear

Share this post


Link to post
Share on other sites

detbear

Good to know the thing's working for you.

I think we should switch to PM for Blender discussions.

Share this post


Link to post
Share on other sites
I think we should switch to PM for Blender discussions.

 

 

You can certainly do that but you don't have to.

Especially where it is in context of A:M workflow such as converting A:M formats to FBX.

 

In other news... I am at a loss to explain why I don't recall ever seeing this topic before.

How in the heck did I miss it when it was posted back in April.

Regardless, I'm glad you guys bumped the topic back up.

And... and very belated "Thank You" for the plugin.

 

Added: I should have asked... Is there a way to bring these transform files back into A:M?

Share this post


Link to post
Share on other sites
Is there a way to bring these transform files back into A:M?

 

Not at this time. But come to think of it, there's no point. If you want to share animation data with A:M users, you can share your original project or actions from it.

Share this post


Link to post
Share on other sites

Not at this time. But come to think of it, there's no point. If you want to share animation data with A:M users, you can share your original project or actions from it.

 

Agreed. I anticipated that would be the case.

As a general rule I do like having the ability to reimport anything I have exported because that forms a rock solid data loop.

When something goes out only... it's harder to troubleshoot and nigh impossible to use that data for other purposes.

There is also the possibility that because some other program can ingest that data formatting it can also export that data.

In which case that data that wasn't created in A:M can be used in A:M.

I recognize that there will always be cases where there is very little reason to reimport that data.

Not to belabor the point but the underlying principle is that roads built to be traveled in one direction only seldom see travelers come back.

 

Aside: I'm mostly thinking of another program at this exact moment which has a very useful feature to export any curve from it's timeline and then later reimport that (applied to other objects). It works great as long as you save immediately before export and immediately after import. Otherwise the program will crash.

Share this post


Link to post
Share on other sites

Hey nemyax,

 

would it be all right with you if Steffen would include this plugin in the official distribution of A:M?

Currently it will crash A:M v19 because it uses some v18 SDK-function which have been changed and are not backward compatible.

Since the source code is available it could be updated but Steffen asked if it would be okay for you to put it in the distribution so he could do that.

Best regards

*Fuchur*

 

PS: Here is the bug report for the crash with the plugin when using v19:

https://www.hash.com/reports/view.php?id=6882

Share this post


Link to post
Share on other sites

would it be all right with you if Steffen would include this plugin in the official distribution of A:M?

Certainly!

Share this post


Link to post
Share on other sites

Hey nemyax,

 

thank you very much. :)

I'll give the info to Steffen.

Best regards

*Fuchur*

Share this post


Link to post
Share on other sites

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

×