Download

Animation and Rigging Tools: FAQ, Known Issues and Feature Roadmap

Hello!

Thanks to everyone out there that has tried out the included animation and rigging toolkit! Your feedback has been valuable and I’ll be continuing to make improvements to the tools weekly! Currently, we don’t have a good system of getting fixes out to users as they happen, so I’ve setup a Dropbox public folder here that will always contain the latest and greatest code fixes:

https://www.dropbox.com/sh/e49zvu9btm55o3t/Ietd28dXEJ

*NOTE: The above link does not contain the complete toolkit. It only has the latest scripts and icons. Please copy the contents to the original install location on your machine!

F.A.Q:

  • Will this tool work with Maya LT?
    Until Maya LT accepts python scripting support, this tool will not work with LT licenses.

  • What versions of Maya does this tool support?
    Maya 2012 -2014 have been officially tested on Windows operating systems. Support for Mac OS is coming. Maya 2015 should work as well, but has not been officially tested.

  • Will this tool be available for Max/Blender/etc?
    There are no plans to release this tool for anything other than Maya, which is what we use in house here at Epic for rigging and animation.

  • What is the difference between the export file and the rig file?
    The export file contains your geometry and skeleton, as well as all of the joint mover tools. It’s the foundation of your character rig that everything gets built from.
    The rig file starts out as a new file that then references in your export file, then the rig code executes to build the rig on top of that. If you’ve added a post rig build script in the publish UI, that also gets executed at this time.

When a user adds a character for animation from the menu, they are referencing in the rig file. There are a couple reasons for the separation of files. By having the export file be separated out, you can polish and update weighting without the need to rebuild the rig, and the animator still gets those updates. The only time you really need to rebuild is if you’ve added joints, or changed the positions of existing joints. By having the rig in a separate file, you can also go in and do any custom work you may want to, like hook up morph targets, or add new controls, etc.

Recent Fixes:

  • Tools will now work with student licenses

  • Users should no longer receive the following error:
    IOError: file C:\Program Files\Unreal Engine\4.0\Engine\Extras\Maya_AnimationRiggingTools/MayaTools/General/Scripts\customMayaMenu.py line 249: 2

  • Fixed issue with users being unable to bind mesh to newly created skeleton the first time

Known Issues:

  • Running a resolution under 1920 x 1080 will result in UI elements being cut off
  • Supplied hand poses in the pose editor do not work

MAC VERSION!:
4.8 now comes with a Mac version. Thanks to Alex Widener for the port!
You can also grab it on github: https://github.com/EpicGames/UnrealEngine/tree/master/Engine/Extras/Maya_AnimationRiggingTools/ArtToolsOSX

MAYA 2015:

Check out this thread if you’re having crashes in 2015: Maya 2015 Animation and Rigging Toolkit crashing when building control rig with no error? - UE4 AnswerHub
Turns out just opening the jointMover file and resaving will set you straight!

Student Version Issues:

If you run into an issue with saving your file in a student version of Maya, run the following python code:


if type(newName) is list:
    newName = newName[0]
    cmds.file( rename=newName )
    cmds.file(save = True, type = "mayaBinary", force = True, prompt = True)
    print "File Saved as:", newName

Getting Unknown Nodes Errors/Warnings?

try running this (python):



print cmds.ls(type = "unknown")

unknownNodes = cmds.ls(type = "unknown")

for node in unknownNodes:
    if node != "SkeletonSettings_Cache":
        try:
            cmds.delete(node)
        except:
            pass
    else:
        orig = 'SkeletonSettings_Cache'
        if cmds.objExists(orig):
            if cmds.nodeType(orig) == 'unknown':
                new = cmds.createNode('network')
                for att in cmds.listAttr(orig):
                    if not cmds.attributeQuery(att, node=new, exists=1):
                        typ = cmds.attributeQuery(att, node=orig, at=1)
                        if typ == 'typed':
                            cmds.addAttr(new, longName=att, dt='string')
                            if cmds.getAttr(orig + '.' + att):
                                cmds.setAttr(new + '.' + att, cmds.getAttr(orig + '.' + att), type='string')
                        elif typ == 'enum':
                            cmds.addAttr(new, longName=att, at='enum', enumName=cmds.attributeQuery(att, node=orig, listEnum=1)[0])   
        cmds.delete(orig)
        cmds.rename(new, orig)
        
print cmds.ls(type = "unknown")


Upcoming Features:

  • Facial Rigging Toolkit

In case you haven’t seen it, there is also a Youtube playlist covering the Animation and Rigging Tools. I’ll be adding on more videos with time as well!

https://www.youtube.com/playlist?list=PLZlv_N0_O1gb2ZoKzTApbv3LvhaXJ9elg

There is also a quick video here covering exporting your ART character to UE4:
https://dl.dropboxusercontent.com/u/10939513/ART_to_UE4.wmv

I know this is probably way too much to ask, but do you guys plan to port this over to other 3D packages as well? i.e., Blender? :wink: I know it would probably require the whole thing to be re-written, so I’m not too optimistic about this. But it would be awesome :slight_smile:

Thank you Jeremy!

Already thanked you in my question in the answer hub, but can’t hurt to say it again. Thank you! I can finally create new rigs. I still get some error about missing reference files when trying to load in the existing mannequin rig but that could just be me. Still, I am very glad that things work now and I am also very glad that I switched to Maya after using 3ds Max for a long time.

Thanks for the updates!

Still having some troubles with the skinning step when using a custom mesh (using the latest build from dropbox).

Error: RuntimeError: file D:/UE4 Rigging Tools/MayaTools/General/Scripts\ART_skeletonBuilder_UI.py line 8714: Problems occurred with dependency graph setup.

A mel script fix posted by SwitchNZ on the Answer Hub, lets you get past the skinning stage successfully (mesh deforms fine with the ART skeleton).

string $gffu] = ls -sl;
for ($rfo in $gffu)
{
lockNode -lock off $rfo;
}

https://answers.unrealengine.com/questions/17113/maya-animation-and-rigging-toolset-cannot-bind-ski.html

Unfortunately, once you try to build the control rig, you get the error “File contains unkown nodes or data. To preserve this information, the current file type cannot be changed.”

You hit OK, and then a Publish error dialog pops up: “Could not save Export file. File may exist already and be marked as read only.”

There is no file in the location it’s trying to save to, and manually saving the file in that location and trying again presents the same errors.

Also, I have tried bringing in several different meshes (both fbx and obj imports), as well as doing a scene optimization to remove unknown nodes prior to starting the ART process. All with the same results. Building out a rig using just the ART proxy geometry is working fine.

I applied the latest folder and updated the userSetup.py in Maya 2014. These are the two big errors that are causing issues for me still:

https://www.dropbox.com/s/vqufm6j7vd2p7hn/shot_482014_112856_pm.png

https://www.dropbox.com/s/5kjnd2pj2grwmgw/shot_482014_112934_pm.png

Konshu > you should disable the Source Control if you don’t need it. ( maya top menu > epic game > settings > then uncheck “Use source Control”)

save in maya binary, cause the ascii one can’t to save unknow dag objects.

Hi Jeremy,

You made one tiny mistake with the folder.
When browsing to the “mayatools” folder an error is thrown up saying, "this is not a valid “MayaTools” folder! So to fix this I changed the folder name from “mayatools” to “MayaTools” and it works :wink:

There’s now a new error though,
"# Error: file: C:/Program Files/Autodesk/Maya2014/scripts/others/performGpuCacheExport.mel line 561: ImportError: file C:/Users/Dave/Documents/maya/MayaTools/General/Scripts\P4.py line 211: DLL load failed: The specified module could not be found. # "

Hello, I have a some bugs with maya rig tool aswell…

0th. - Wrong path by loading mannequin d/:build/unreal4~ and when I use browse and use the real path, it does not save though I check it to save… and the next time I try to open mannequin it gives wrong path again…

another problem is with exporting fbx file with some character created with rig… when I use export selected from file list it gives me 2 warnings

1st - complex animation baked. 47 attributes had complex animation. Complex animation was exported as baked curves. (4747 evaluations done)

2nd. - The fbx plug-in does not support assets created by advanced asset menu. The following container(s) will be ignored: irvelnaujas:JointMover. (at the end I get a fbx file that can’t be used… even after importing back I get only some foot wireframes or so…) and it does not load in ue4…

3rd. - Error: ValueError: file C:/Program Files/Unreal Engine/4.0/Engine/Extras/Maya_AnimationRiggingTools/MayaTools/General/Scripts\ART_poseEditor.py line 944: could not convert string to float # when I try to use hand poses.

At the end rigging tool becomes pretty useless… ;(

Would be glad to know if these errors could be fixed. Thx in advance. (wrote on other thread too but dunno which is main so sry is repeating)

Where are you finding the mayatools folder? The dropbox link has the same casing as the engine/extras location. I’m unable to see anything named mayatools:

Engine/Extras/Maya_AnimationRiggingTools/MayaTools/
Dropbox\Maya_AnimationRiggingTools\MayaTools

The DLL error you receive is due to the P4 plugin not being valid with 2014 yet. I need to wait on those guys for the new version unfortunately.

Most of the “issues” you have listed are simple FBX warnings and nothing to do with the tool or to be concerned about. The only actual issue I see is the 3rd one you posted which I’ll look into. Not sure how that invalidates the entire tool :confused:

LexLuthor1 I had the same error, copying the contents from the download and pasted them in to the corresponding folders in the original MayaTools that came with Unreal4 seems to have fixed things for me.

Ah, I see. Yes, I’ll update the main post with instructions. The dropbox link only has scripts and icons and not the complete toolset to cut down on size. You’ll need to copy the contents to your original install location. Thanks!

Well, thx for quick reply, I can manage to live with doing browse to mannequin manually, I’m sure baking animation is not serious issue either, but not sure abt JointMover, I guess it says I won’t be able to use joints on ue4 right? + as I said before, when I export fbx file and try to import it again into maya, it shows only few wires around the bottom of the leg… and can’t import to ue4, if thats not serious issue I guess I do not know what serious is :wink: rig tool gets pretty useless if I cannot export chars…

Still running into this, refreshed the files from the launcher, then copied over the dropbox folder. Id love to try out the ART tool on my new model but may just go the long way if the tool isn’t working yet.

https://www.dropbox.com/s/ynocaz8z1ak0rbx/shot_492014_35316_pm.png

I’ll add a video soon to the youtube playlist, but I think you must be exporting your mesh incorrectly. You need to go to the export file that is created (you can easily get there by going to epic games->edit existing character, and choosing your character and selecting edit export file).
From there, select your geometry and the root joint and use export selected.

For exporting animation, you can just use the built in export motion tool.

Aha, thanks Jeremy :slight_smile:

Unfortunately, that doesn’t help much :frowning: At what point in the process do you get that fatal error?

Right when I click Skeleton Placement button after pulling in a model.

https://www.dropbox.com/s/4kxmv36jpkcc302/shot_492014_42458_pm.png

The last crash report shows this at the head:

//=====================================================
Maya Crash Report
//=====================================================

Exception code: C0000005: ACCESS_VIOLATION - illegal read at address 0x3C4F1E04
Fault address: 72A4C131 in C:\Windows\system32\MSVCR100.dll
0001:0003B131 Logical offset (see .map file for location)

BLAHBLAHBLAHBLAH
BLAHBLAHBLAHBLAH
BLAHBLAHBLAHBLAH

//current scene = unDisclosed
//last tool: renderWindowSelectContextItem
//====================================================
//panel with focus: modelPanel4
//visible panels:
// modelPanel4
//====================================================
//Memory usage:
// 8762.660 Mb Free Memory
// 24423.188 Mb Free Swap
// 1338.273 Mb Current
// 67.031 Mb MEL
// 0.135 Mb arguments
// 11.789 Mb Arrays
// 0.190 Mb Object Arrays
// 5.920 Mb POLY_DRAW_CACHE_DATA
// 0.461 Mb POLY_DRAW_CACHE_STATIC_DATA
// 0.328 Mb Data Blocks
// 0.124 Mb Transforms
//====================================================