Adverti horiz upsell

"Rapid Rig: Modular" - Procedural Auto Rig 2.4.8 for Maya (maya script)

"Rapid Rig: Modular" frees you from the confines of bipedal autorigs! So get creative!

License
$99.00
(qty: 1)

  • Check 16 Future Updates Included
  • Check 16 Highend3d Quality Checked
  • Check 16 Purchase Guarantee
  • Check 16 Support Included

Compatibility

  • 2019, 2018, 2017, 2016, 2015, 2014

Operating Systems

  • Linux
  • Mac
  • Windows

History

Created:10/02/2013
Last Modified:03/25/2023
File Size: 323 KB

Feature Request

Optimisation

Status:pending
Date:01/29/2016
Submitted by:eallin eallin
I know it is hard to work with MEL and any change there is very painful but even that I have to ask: is it possible to get rid of these zillions of constraints and optimise the RRM? It is useful rig BUT if you you want to use it in the pipeline with several characters referenced into one scene it starts to be very very slow. What I mean exactly is to replace constraining method with direct parenting of control nodes in tree hierarchies. The modularity will remain because, correct me if I am wrong, it can be changed just when you have active(not deleted) proxy rig of current character. In other words: whole process of connecting, disconnecting modules works just in proxy mode of the rig. In my opinion it is possible to make it with warning about loosing modularity. Just as the option. When I list all constraints in the rig there is over 900 of them so it is very heavy portion of math for evaluation. Thank you.

Comments on this feature request:

  • eallin

    eallin said almost 9 years ago:

    Forgot one thing to mention. when you move with root of rig hierarchy you get max. 19 fps on last Intel i7 cpu with just rig itself without any bound objects, etc. ... I think it really needs some love with optimisation. Thanks again. :)
  • Dustin Nelson

    Dustin Nelson said almost 9 years ago:

    Hi Ealin, Performance is certainly important. It's one of the issues I struggle with when adding new features. In v1.7.1 I have set up the Arm, Leg and FK modules so that they use hierarchies for the FK controls instead of constraints and connections. The modules themselves cannot be parented in my current system for a few reasons. The "Parent Orient" option to control how the module orients to the joint it is attached to cannot be done with hierarchies. Also, the modules are constrained to joints because not every joint has a control that it always follows precisely and obviously it is a bad idea to parent controls into a skeleton hierarchy. Here are some of the numbers I was getting under different scenarios in Maya 2016. This might help you in determining how to set up your rigs. These are rough averages of framerates on my lousy machine: Preset biped v1.7.0: 7.6 fps - 999 constraints Preset biped v 1.7.1 with newly optimized hierarchy: 7.8 fps - 885 constraints ~2% improvement Preset biped without IK enabled on the FK chains: 10.5 fps - 783 constraints ~38% improvement Custom biped with FK chains (IK not enabled) for the spine and neck instead of Ribbon Splines 11.5 fps - 703 constraints ~51% increase Again, these are rough estimates, but the biggest performance hogs are the FK chains with IK enabled, followed by the ribbon splines. Roll joints on Arms and Legs will also add a performance hit. These features add a lot of robust control but may not be worth it depending on your project. Also, if you are using Maya 2016 (and newer), you should check out the new parallel rig evaluation. It can have drastic improvements on rig performance. -Dustin
  • eallin

    eallin said almost 9 years ago:

    Hi Dustin, thanks for soon response. We are using parallel evaluator but it has many disadvantages because it doesn't support all of Maya's features. About roll features: it is absolutelly neccessary for each character. Thanks to surface representation of common polygonal geometry in current 3D packages you have to keep the volume in problematic areas. For example shoulder part needs at least two roll joints. By the way: you have very good unbreakable functionality here! Here in roll problematic area would maybe good to use sunk hierarchy of roll joints. Just simple parenting under certain joints(for example shoulder ..). By the way: constraints are the heaviest feature of Maya on performance thanks to DAG method of evaluation. Thank you ...
  • Dustin Nelson

    Dustin Nelson said almost 9 years ago:

    Hi Ealin, In version 1.7.2, the user now has an option on the arm/leg modules to disable the toon functionality on roll joints. By default this is turned on so that the tools maintain the same functionality as previous versions. If you disable the option, the following is different: -joints are simply parented in to the joint hierarchies -roll joints do not have controls -cartoony bendy arm functionality is gone This reduces the number of constraints in a pair of arms/legs by up to 125 constraints (depending on the number of roll joints) as well as getting rid of all the curve functionality, extra controls, connections, etc. I did a test and my frame rate on a preset biped with roll joints in the arms and legs and performance went from ~6.3 fps with toons to ~8.4 fps which is about a 33% improvement on the entire rig. So as long as you do not need the cartoony arms, you should see a performance increase. -Dustin
  • eallin

    eallin said almost 9 years ago:

    Hi Dustin, in case of cartoony bendy limbs it is possible to make it with just connections from local handles. It needs hierarchical groupping but it really speeds up the final result. In common point of view constraints in Maya is very dirty method(especially parent constraint is very performance hefty feature) and it needs to be used just if it is absolute neccessary. And at the end the parallel evaluator produces different results on different OS. For example on linux it is useless(tried out our characters based on rapid rig modular and the oldest evaluation method[DG] produced the best results). Thanks again.
  • Dustin Nelson

    Dustin Nelson said almost 9 years ago:

    Which nodes of the toon arms are you referring to? The controls for the toon arms are for the most part driven by motion paths on curves. Those curves are driven by clusters attached to either controls or joints, and obviously I don't want to parent non joints into the skeleton hierarchy. Constraints are used in a lot of places to avoid sheering that can occur when scaling controls. I have actually had to bring some back that were once hierarchies because of this. It's possible to reduce the constraints on the toon joints, but that would require adding additional group nodes to each joint which are then attached to the curves creating twice as many motion path nodes and then adding connections from the toon micro controls to the joints. This would add a lot more nodes and connections than having one parentConstraint. For the time being, I am going to leave this as is and focus on adding more features and bug fixes because there is an alternative to getting better performance with only wanting twist joints.
  • eallin

    eallin said over 8 years ago:

    I think direct parenting is the way how to optimise it well. Of course without solution of sheering(I agree with you in this problem). It needs constraint or just locator with using its worldPosition attribute from the shape node of locator or world matrix? It depends what you preffer. :)

Post a comment: