Jump to content
Hash, Inc. Forums

How to export from A:M to a game-engine...


Recommended Posts

Hi guys,

 

I just wanted to let you guys know that there is a new tutorial on how to export from A:M to Unity (a gameengine using the FBX-format) on my website.

Video-Tutorial: A:M2Unity3d.

 

Another tutorial can be found here about how to export from A:M to Quest3d. (a 3d engine using the directX-format)

Video-Tutorial: A:M2Quest3d.

 

Hope you find them useful!

 

See you

*Fuchur*

Link to comment
Share on other sites

No Problem guys :). Go on and show us what you can do with it ;).

 

What version of A:M did you use, Fuchur? I have not been able to export from A:M16. It just crashes when I try to export an Action. I'll go back to A:M 14 and see if that works. :(

 

v16... it depends on what you are trying to export. I think that it can be trouble-some if you try to export a model with certain properties, poses or smartskins which are not supported by the exporter...

could you upload your project-file so I could have a look at the file and see where the problem may be?

 

See you

*Fuchur*

Link to comment
Share on other sites

I tried it on another PC and received an error message about no vertex weighting on the eyeballs of my model. I haven't used any smartskin and I have baked all dynamic motion and I have turned off any SSS that was enabled. I do have some "mutation" poses that I will remove, on a new version of the model, and see if that was the problem.

Thanks.

Link to comment
Share on other sites

Paul, I assume you are trying to export actions made with the TSM2 rig?

 

Try this, bake the action and delete all bone data, from the action, other than the geometry bones. You will need a version of your model before running the TSM2 rigger. Open the model (geometry bones only) and the baked action into a new project. Test the action to make sure the action works. If it does, try exporting the model and action, to see if it still crashes.

 

I assume A:M is crashing because of the control rig.

Link to comment
Share on other sites

  • Hash Fellow
Paul, I assume you are trying to export actions made with the TSM2 rig?

 

Try this, bake the action and delete all bone data, from the action, other than the geometry bones.

 

And I'll note that if this is something you should end up doing frequently, you can make a Selection Filter of the bones you are about to delete, making it easy to select them in future instances.

Link to comment
Share on other sites

For all the export-data to a game-engine I would recommend to use your own rig without any constraints. Just plain FK without much more.

Not that easy to animate, but that should help anyway. I will have to test it again, but I think it could be the constraints, especially the InverseKinemativConstraints...

 

See you

*Fuchur*

Link to comment
Share on other sites

Paul, I assume you are trying to export actions made with the TSM2 rig?

 

No. I am using my own very light rig, (about 60 bones including a face rig and control rig). My rig does use IK but I was intending to bake my Actions and then delete all but geometry bones. Unfortunately the only option to bake in an Action that I can see is for dynamic bones. Baking Actions from within a Choreography doesn't create a key on every frame for every bone.

Link to comment
Share on other sites

Baking Actions from within a Choreography doesn't create a key on every frame for every bone.

 

 

It doesn't ? I thought there was a 'Reduce Channels' option box that popped up and if you set it to '1' (default) it would make a key on every frame--- or do I have this wrong?

Link to comment
Share on other sites

  • Hash Fellow

I tried this...

 

I exported my Chor action as an action, loaded the action, deleted my original chor action and dropped the exported action back onto the character, then Baked all Actions with a tolerance of 0 and I got a key on every frame on every bone.

Link to comment
Share on other sites

I tried this...

 

I exported my Chor action as an action, loaded the action, deleted my original chor action and dropped the exported action back onto the character, then Baked all Actions with a tolerance of 0 and I got a key on every frame on every bone.

 

A little bit of a indirection, but however you want and what works ;)

Every frame on every bone is normal. The exporter works like that to prevent problems with interpolation-differences between programs.

 

Deleting all the bones is of course no option so... the exporter can't handle cp-animation! Only cp-weightening and bone-animation. (I dont think that the directX-format supports anything else).

So baking and deleting all the constraints may work, but baking and deleting all the bones will very likely not work. (I didnt test this, but I dont see how it should work).

 

See you

*Fuchur*

Link to comment
Share on other sites

so coming back to my question from above:

 

It would be interesting to know, if some of the most common riggs are better suited for gameexport then others.

Maybe, that`s were the simple rig or 2008 rig have great advantages compared to the TSM and squetch rigg?

 

 

if I understand that right, the fewer bones and constraints a rigg has the (ligther) better it will be suited for export to

a gameengine, right?

For humans, that would favor the light rigg, I guess?

Link to comment
Share on other sites

I have been using my own simple rig for all of my recent tests.

 

I have created two versions of the same model. One has a geometry rig, control rig, constraints and poses. The second is a copy of the first but with all constraints, control bones and poses removed.

 

I create three Actions with the fully rigged model and place them in sequence on the fully rigged model in a Choreography. I then bake any dynamics, bake all actions and save the choreography as a new Action.

 

The new Action is imported and assigned to the simple geometry rigged model in a new choreography. The results are disappointing as the legs are distorted and the eyes roll up into the head. This seems to indicate that the geometry bones are not assigned all of the transformation data when baking.

 

(I did make a screen cap video to demonstrate but the file size is too large to post at about 18MB)

Link to comment
Share on other sites

That method should work- and I would think it should be the preferred method no matter which rig you start with. The 'bake' should make a keyframe for each CP on every frame with distinct XYZ placement values, I wonder if you missed a step or what... did you employ the 'Gormezano Method' which is to save and close A:M before you do the 2nd part, or even after is all said and done and you have the weird results... save as... close A:M... reopen all to see if your fate has changed...

Link to comment
Share on other sites

  • 2 weeks later...

Hi guys...

 

I just created a small Test-Game using Unity and A:M.

It is really nothing special - I just wanted to test the workflow. You can navigate a small character created with A:M with different animations applied through a terrain and shoot hammers (although created with A:M) on EnemyTowers (although created with A:M). They are all more or less just testobjects, but I think you will see the potential in this example. It has been created in about 3 days with learning to script in Unity.

 

For this, I used another workflow, which is even a little easier and less expensive than the other one.

> A:M with DirectX-Export > Ultimate Unwrap with FBX-Export > Unity.

 

It worked very well and is very straight forward...

I will create a video-tutorial on the workflow and very likely offer my working- and project-data to you, so you should be ready to go for yourself.

 

See you

*Fuchur*

 

PS: Game is till now only available to windows-users... (*.exe)

 

PPSS: Please extract the files to your harddisk in one folder.

Now includes the data-folder as well.

hitboy_01.zip

Link to comment
Share on other sites

  • Hash Fellow
Hi guys...

 

I just created a small Test-Game using Unity and A:M.

 

when I run the exe I get

 

There should be 'hitboy_01_Data'

folder next to the executable

 

 

something is missing from the zip?

Link to comment
Share on other sites

Hi Robert,

 

thanks for letting me know... I uploaded the file again with the data-folder.

Unity is very new to me (started dealing with it just yesterday) so I was not sure what I had to pack into the zip.

 

Please extract the files to your harddrive in one folder.

 

See you

*Fuchur*

Link to comment
Share on other sites

Excellent work, Fuchur! That looks like a much better pipeline. :)

Did you have to bake your Actions before exporting the .X file?

 

As far as I understand it, you dont need to do that. The directx-exporter automatically exports the actions baked and does it when exporting without the help of the user.

 

The free version of Unity doesnt support realtime shadows (so there is nothing that holds you back from faking some using models), if I am not wrong. Just the Pro version supports realtime shadows so. But lightening is already used. I just used a Sunlight to get the game going, but you can use all the basic light-types that are available in A:M too - just without shadows.

 

@largento: No problem ;) That is what they are there for :)

 

See you

*Fuchur*

Link to comment
Share on other sites

Great! I have ordered Ultimate Unwrap Pro. :)

Thanks again for your investigations.

 

------------

Edit:

My registration code arrived so now I am playing around with Ultimate Unwrap and have imported some exports from A:M with 100% success! This is brilliant! However on trying to export a 1 second animation from A:M16 I encounter this problem:

post-183-1309775407_thumb.jpg

I've never seen that message before. Yes, I did export the model first.

Any ideas? :)

Link to comment
Share on other sites

Unity comes with some scripts to get you up and running immediately. There is also a large community and an online shop where you can purchase, and sell, assets. The scriopting language, java I think, doesn't look like it would be too difficult to pick up.

 

Actually it is JavaScript-based (Java is something totally different)... but you can code in different languages like JavaScript (a few difference are there, but they are small), C# and Pyton and possible some more.

 

I will upload my tutorial this evening and you will get some infos on good tutorials for learning Unity and Beginnertutorials for Scripting in Unity too.

 

See you

*Fuchur*

Link to comment
Share on other sites

Great! I have ordered Ultimate Unwrap Pro. :)

Thanks again for your investigations.

 

------------

Edit:

My registration code arrived so now I am playing around with Ultimate Unwrap and have imported some exports from A:M with 100% success! This is brilliant! However on trying to export a 1 second animation from A:M16 I encounter this problem:

XporterError01.jpg

I've never seen that message before. Yes, I did export the model first.

Any ideas? :)

 

Seams like A:M has not yet associated the action correctly to the model.

-> You are asked before you create an action in A:M to which object it should belong. Maybe somewhere there is the problem, so in general there should be no problems with that...

 

See you

*Fuchur*

Link to comment
Share on other sites

Hi guys,

 

as promised, here is the video-tutorial on the even easier pipeline from A:M to Unity using Ultimate Unwrap 3d (about 50-60 Dollars).

 

I provided the project-data of my A:M project, the video-tutorial, links to the programms and a link to the tutorial I used to learn enough from Unity3d and scripting to produce the game you can see at the first post of this thread.

 

A:M2Unity3d - Using Unwrap3d to export to FBX

 

Have fun with it and let us know about your creations!

 

See you

*Fuchur*

Link to comment
Share on other sites

  • 2 weeks later...

Hi Gerald,

 

In coming back from my summervacation to Denmarck ( a very nice country indeed with very nice people and so near to my place!!!) I am finding your very, very interesting experiments.

 

I will try out your game tomorrow at my workcomputer.

 

All this is very promising.

I read an article in 3D world mag about the future of 3D in about 10 years and they stated, that moviemaking by then would be most probably realtimebased, so that moviemakers could do their projects in realtime, meaning that the gameengines will be the pacemakers for this development.

AM could be probably good for that also, so its a pity that Hash doesn`t have enough resources to spread into that field, but maybe

just make the AM formats export directly into unity would help also?

 

There once was some contact about this to some guys from unity, if I remember correctly....

 

(>("although" created with A:M)

Don`t take me wrong, I would like to be corrected, too, in order to learn the better....;>) )

 

 

see you

 

Jost

Link to comment
Share on other sites

Hi Gerald,

 

In coming back from my summervacation to Denmarck ( a very nice country indeed with very nice people and so near to my place!!!) I am finding your very, very interesting experiments.

 

I will try out your game tomorrow at my workcomputer.

 

All this is very promising.

I read an article in 3D world mag about the future of 3D in about 10 years and they stated, that moviemaking by then would be most probably realtimebased, so that moviemakers could do their projects in realtime, meaning that the gameengines will be the pacemakers for this development.

AM could be probably good for that also, so its a pity that Hash doesn`t have enough resources to spread into that field, but maybe

just make the AM formats export directly into unity would help also?

 

There once was some contact about this to some guys from unity, if I remember correctly....

 

(>(although created with A:M)

Don`t take me wrong, I would like to be corrected, too, in order to learn the better....;>) )

 

 

see you

 

Jost

 

I think about the realtime-stuff you are totally right, so I don't think that a game-engine is the most easy way to create movies with it. A little too hard to create different motions which are not predefined with it... Steffen is currently working on OpenCL-integration (graphiccard based calculations, which can speed up some operations mainly connected to rendering) which is a very promising technology. It can speed up calculations in certain areas with a single graphiccard compared to a multi-core-computer (4x for example) for about 1000%. That would be a huge performanceboost and would make it easier to use even very advanced techniques like AO or Radiosity in a much faster way.

 

And dont forget: We already gained much performance with the release of v16.

 

Gameengines are very well suited for games and 3d-applications. Movies need a little more of preperation and while rendering and previewing your output will very likely become realtime, the creation-part will not be like that. It is one of the best things about 3d-animations: You can always go back again, move the hand a little closer to the body because it looks a little better etc. That is the stuff that game-engines can not do too easily. Playing predefined actions is their strength. Not altering them.

 

See you

*Fuchur*

Link to comment
Share on other sites

You are completly right, its just that much of the developmentpower will come from the gameengines and their specific needs and the rest of the 3D-software will profit from that boost.

 

Yes, I think you are right... it is just one of the biggest industries in the 3d area and like that will very likely output more innovations than other stuff..

 

See you

*Fuchur*

 

PS: Just to let you know: In another thread I posted another small Unity3d-example showing of some infos about my new audiointerface Roland VS-100. Hope you enjoy it!

LINK

Link to comment
Share on other sites

  • 2 weeks later...

>If the obj importer could identify a single vertex on an edge and create a hook and interpret a 5 point n-gon and create a 5 point patch I think this would solve most of the issues.

 

 

This was the main reason, why Hash retracted from cg talk, because he was fed about about these endless discussions and lack of understanding, why A:M doesn`t fit into the polygon world workflow.

 

I don`t know of the status of today.

Maybe we could ask Yoda and Fuchur, if some featurerequests in that direction would make sense.

 

It seems to me, if a bridge could be build (and the new mdd is promising), there could be a pipeline for building gameassets in that form: model highpoly models in one of these specialised sculpting apps>retopology that to lowpoly> bake and transfer all the highpolymaps to the lwopolymodel> import that into A:M > ANIMATE ALL GAMEMOVEMENTS EASILY IN A:M >and export as FBX to the gameengine.

 

As I said, its possibly out of the range to achieve this, but why not ask?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...