Home Technical Talk

Maya - freeze related to animation layers and shape editor

insane polycounter
Online / Send Message
Alex Javor insane polycounter
Hi, I've made a post at the autodesk forums as well but maybe somebody here has some experience too:

im using maya 2018

problem is after adding blendshape nodes (created from shape editor) to an animation layer, whenever I select the associated mesh or animation layer I have a freeze up of several minutes. Same on deselection. Also FBX export freezes up during the "exporting geometry" stage. It did eventually go but only after about 5 minutes.

I believe its related directly to something with the blendshapes interaction with animation layers as there was no performance issues whatsoever before adding this. The simple workaround is revert to before I did this, but I'd rather solve directly if possible.

Other factors may be immportant - I am using an advanced skeleton rig with blendshape face setup, so there is quite a bit of blend layers already. Maybe in adding the blendshape node to animation layer i inadvertantly am sampling all the nodes or something? I tried optimizing the scene and deleting static channels but it has made no difference.

Any troubleshooting advice is appreciated. I search and search but can't find anything that seems related at all.

Replies

  • throttlekitty
    Offline / Send Message
    throttlekitty Polycount Sponsor
    Are you using ngSkinTools as well? Even a modest amount of layers gives a hiccup for me, but not several minutes (probably not the case, just mentioning it). I'm not sure if you're aware or if it's important to you, but recent versions of advanced skeleton can swap to a joint-based face rig. IIRC previously there was a full and 'game ready' blendshape-based setup, the full one can be a bit heavy.

    I guess I would try removing animation layers from the equation otherwise. You say that there wen't issues before adding them, are you using them in some way in your rig scene or animation scene?
  • Alex Javor
    Online / Send Message
    Alex Javor insane polycounter

    i have deleted ng skin tools custom nodes before exporting the rig, so i dont think that should be an issue.

    I believe I narrowed it down and the issue may be pretty simple:  basically if i key frame too many corrective blendshapes it really starts to bog down. I think I am just asking too much from my machine with pretty high poly character plus maybe dual quaternion skinning isn't helping? TBH I don't know what the difference is except it's more expensive and retains volume a bit better on deformations. Since I am not using a game engine I figured why not.

    I also wonder if I was adding all skin clusters to the layer and then maybe it is getting stuck because it has to sample them all or something, but I don't really know how to test that and it's such a pain to troubleshoot when every click makes me wait several minutes...

    I prefer to use the default blendshape facial setup because it already has the voice phenonems setup, so that gives me a big jumpstart - with a joint base rig i would have to do all of that myself, and with mutliple characters on the roster with different rigs the workload is too big for that I think.


    I am using corrective shapes for some animations for a visual novel. For now I just work around by reverting to before I keyframed the blendshapes, but this means I have to compromise a bit and maybe not show the areas I was fixing with corrective shapes as much. To actually fix the issue I think I have to reconsider my mesh - it probably is way higher poly than it really needs to be so maybe I can test with something lower and see if its not just a matter of too much resources.


  • throttlekitty
    Offline / Send Message
    throttlekitty Polycount Sponsor
    It could be the number of blendshapes, or perhaps *which* ones? Advanced Skeleton's layer system runs duplicates of the head mesh with different weights and deformations on them, piping their outputs to your real mesh as a single blendshape. I couldn't tell you the performance of each of these sub systems though. So if you're very high poly and the head and body are a single mesh, you could split them up and possibly get some performance back.  Still strange that selecting the mesh or anim layer freezes for you.

    I also don't know how dual quat weights compare for performance, I don't use them since they tend to flip poorly and still need correctives on top anyway. But you could run Maya's profiler to compare. If number of blendshapes are an issue, maybe consider using joints for correctives instead?
  • Alex Javor
    Online / Send Message
    Alex Javor insane polycounter
    I am going to experiment with a different mesh so that's a good time to see if using joints for correctives will be a better idea as well. I have a feeling it will, that's a good idea.

    I also wondered if there was something to the order that I was adding the additional blendshapes also. I know maya is a little fussy about the ordering of those sorts of things so I may have done something wrong there as well. But for now I make some assumption that my mesh was higher poly than it really needed to be and see if simplifying the mesh a bit will be the biggest factor.
  • oglu
    Offline / Send Message
    oglu ngon master
    A lot of Maya2020 crashes are reladet to nvidia drivers. Have you tried one of those new Studio drivers?
  • Alex Javor
    Online / Send Message
    Alex Javor insane polycounter
    i am using 2018.7.  I am not getting any crashes though, just long freezes.

    my driver is nvidia 451.48. 
  • oglu
    Offline / Send Message
    oglu ngon master
    I had some freezes with mGear but they are gone with 442.92
    Also closing other GPU hungry Software does help. Substance and Nuke in the Background + rendering in Vray on GPU isnt a good idea.
  • throttlekitty
    Offline / Send Message
    throttlekitty Polycount Sponsor
    Alex, I can test your scene on my end if you'd like, I didn't think to offer that before. (I can't seem to @ anyone right now. )
  • Alex Javor
    Online / Send Message
    Alex Javor insane polycounter
    @throttlekitty , that would be awesome, but before i use any of your time i'll finish up the work I am doing with new mesh and rig and then test with it. i needed to standardize my whole pipeline anyway so i'll be continuing with the new model and rig, it's not only just for troubleshooting.

    Once I get this ready to be tested, probably tonight or tomorrow, if i still hit that same bottleneck i'll send you a pm if you don't mind.
  • Alex Javor
    Online / Send Message
    Alex Javor insane polycounter

    I've rigged a new lower poly mesh and recreated the original scenario. I've added dozens of blendshapes and went crazy keying them on several different animation layers. So far I cannot recreate the problem. I do notice a small slowdown when adding the blendshape node to a new animation layer, and I imagine that is where the problem was coming from. With a much higher poly mesh, that must have been just too much data for the layer to read. I am guessing that each time I selected the mesh or the animation layer it must be considering all the data or something, hence the freeze?

    In any case, problem seems solved just by working with a more reasonable mesh.
  • throttlekitty
    Offline / Send Message
    throttlekitty Polycount Sponsor
    @Alex Javor I'm glad it works, but ehhh, doubt that's the case. The anim layer should only be seeing the keys, not parsing the full contents of the blendshape node. I'm fairly sure that loads of others (and myself) have had high poly characters with a load of blendshapes firing off all over the place.
  • Alex Javor
    Online / Send Message
    Alex Javor insane polycounter
    @Alex Javor I'm glad it works, but ehhh, doubt that's the case. The anim layer should only be seeing the keys, not parsing the full contents of the blendshape node. I'm fairly sure that loads of others (and myself) have had high poly characters with a load of blendshapes firing off all over the place.

    yeah, more likely I had things loaded in a weird order or something. I'm not very experienced with this sort of thing so I probably funking up the workflow.  Seems to be in order now though.
Sign In or Register to comment.