mgear-dev / mgear_legacy Goto Github PK
View Code? Open in Web Editor NEWmGear v2.x.x series : Rigging and Animation framework for Autodesk Maya
Home Page: http://www.mgear-framework.com/
License: Other
mGear v2.x.x series : Rigging and Animation framework for Autodesk Maya
Home Page: http://www.mgear-framework.com/
License: Other
the quadruped guide loads, but I can't create the rig when I click Build form Selection. Please help!
We need an optional mirror behavior on L and R side. Now we have some mirror but not correct in all axis
bake spring animation function. Bake and unBake
I have a major problem when making rig that has guides for arm with free tangets.
Everything works fine if I use arm_2jnt_01 however as soon as I use free tangent arm when building a rig I get an error "arm_2jnt_freeTangents_01_init_.py line 692: 'Component' object has no attribute 'rollRef' # " and in rig group (after building it) everything seems to be unperented.
It seems that I'm missing something.
Hi, Miguel.
I'm using leg_2jnts_freeTangents_01.
Compared with leg_2jnts_01, there is no ikFoot in upvref attribute.
Option to set the IK ctl with mirror behaviour
Clean the empty nodes under jnt_org when we finalize rig build
-IO to json files .shifter Template (.st)
-import partial guides
-json file guide explorer
-build from file
When we rotate the global control 180 so the character is upside down right at 180 the Polevectors on legs flip
-if the host is an internal object the names can be the same to make possible to edit in multi selection.
Control channels naming options.
Hi, Miguel.
I found a issue about exportSkin function in skin module.
If overwrite the existing file and getSkinCluster is failed, the file is broken.
I think it's dangerous.
It has to avoid to write file.
Add the option to cancel the process for the following steps after one step fail
Option/Tool to control versioning on custom steps
Hi, we're having some difficulty with the feature that extracts the control shapes for reapplication during building
The problem is that the names of the objects are exactly the same as the actual controls built so when we try to write scripts after that get a control by name we have trouble because there are two objects with exactly the same name but in two different hierarchies.
E.G. More than one Global Ctrl found, rig|global_C0_ctl and controllers_org|global_C0_ctl
Perhaps we could put the copies of the controls in their own namespace? E.G. controllers_org:global_C0_ctl
Thanks,
Remi
Tool to rename multiple guides at the same time
custom step with class inheritance
EDIT: implement after: mGear: Callback Manager #165
Replace the scriptjobs for visual feedback with callbacks, for a more robust management with several synoptic window open.
Right now only the latest synoptic view has visual feedback for selected controls.
The call back manager should be independent from synoptic
Now with the parent ctl lock by default in all the controls. The bake animation command doesn't work with spring chain.
We should keep this unlock or create a custom command to handle this situation.
The controls mid and upvector needs to work in mirror behaviour
-Custom sets
-Bug with stack user pivots
-user pivot animation channels control
-optional control shape?
The connection on the channel self.tws2_loc.attr("rz") and self.tws1_loc.attr("rz")) is duplicated becasue rotation is also connected to the composed plug.
Remove the composed plug and connect by separated channels.
-IK/FK Animation transfer
-Support for leg_3jnt
-Mirror and flip support for custom attr and update LR mapping logic
-Update keyall y select all widget to use any set
I found misspelling in rigbits's init.py
Line 113, 117:
(F)rig_controlers_grp
(T)rig_controllers_grp
I think it's better to define special global object.
It's too hard coding.
Not only 'rig_controllers_grp', but also 'dagPose1'.
Hi!
We ran into an interesting problem, in which the skinning export tool was intermittently failing to find the skinClusters on character geometry. It would give the error: "Skiped because don't have Skin Cluster"
I was able to narrow down the cause:
When geometry is skinned, the geo gets a new shape node. When referenced geometry is skinned, the shape node's name has "Deformed" added onto the end. The getSkinCluster() definition in mgear.skin.py takes this into account. However, when referenced geometry is skinned, and then the reference is imported, the "Deformed" suffix remains on the shape node, but the geo itself is no longer referenced. This is when the export problem would arise. Since the code checks whether the geo is referenced before taking the "Deformed" suffix into account, it would fail.
I was able to get around it by simply checking whether the geometry's shape node has the "Deformed" suffix, regardless of whether it is referenced or not.
I'm trying to fit the IK leg to a horse leg and when I generate the controllers the Ik seems to generate backwards and the foot control is oriented incorrectly and go a little insane when trying to move it.
As a side to this it would be nice to be able to have a 4 point leg option for animals that have 4 leg joints and create a curved IK to match skeletal structures better.
Hi @miquelcampos, first of all, great work with mGear. I'm taking it for a spin right now, and think it looks fantastic!
I ran into an issue with the default "Import Biped Guide" when scaling local_C0_root
to small values, such as 0.1
, and then "Build From Selection" where some of the controllers scale well, but others stay at their original size.
Maybe there is a scale parameter someplace I'm not seeing, otherwise maybe it's a bug.
It looks like if I try to put in something lower than 3 in the spine divisions on my guide settings the UI will hang for a period of time.
Match IK/FK doest work on arms with combined ctl for rotation and translation.
The components affected are:
arm_2jnt_01
arm_2jnt_freeTangents_01
Can't` find object : arm_L0_ikRot_ctl
Can't find object : arm_L0_ikRot_mth
# Traceback (most recent call last):
# File "C:\Users\mhanny\Documents\maya\2017\modules\mgear\scripts\mgear\maya\synoptic\widgets.py", line 136, in mousePressEvent
# syn_uti.ikFkMatch(model, ikfk_attr, uiHost_name, fks, ik, upv, ikRot)
# File "C:\Users\mhanny\Documents\maya\2017\modules\mgear\scripts\mgear\maya\synoptic\utils.py", line 463, in ikFkMatch
# tra.matchWorldTransform(ikRotTarget, ikRotNode)
# File "C:\Users\mhanny\Documents\maya\2017\modules\mgear\scripts\mgear\maya\transform.py", line 531, in matchWorldTransform
# sWM = source.getMatrix(worldSpace=True)
# AttributeError: 'NoneType' object has no attribute 'getMatrix'
If I comment out lines 129, 130 of \mgear\scripts\mgear\maya\synoptic\widgets.py it works as expected, but then that clearly breaks iK arms with split controls. Would this be an issue with the component then?
-Check limits tool: Max influence limit for game engine export
-half bake tool (local rigs to blendshape bake)
If we undo build from selection crash maya.
As a workaround I always delete the rig if I need to rebuild.
Create a new connector function for better roll reference to the shoulder component
Improve the rig build speed.
-get component parenting loop is very slow
-find component recursive is very slow
Create a build logging popup window
unify build from selection command. Now we have 2 (gui button and menu command)
# Exported skinCluster skinCluster1 (32 influences, 7 vertices) |coatFlap_L0_crv
# Error: 22
# Traceback (most recent call last):
# File "C:\Program Files\Autodesk\Maya2015\Python\lib\site-packages\pymel\internal\factories.py", line 779, in callback
# res = origCallback( *newargs )
# File "XXXXX\mGear\2.2.4\mgear\scripts\mgear\maya\skin.py", line 251, in exportSkinPack
# if exportSkin(filePath, [obj]):
# File "XXXXX\mGear\2.2.4\mgear\scripts\mgear\maya\skin.py", line 216, in exportSkin
# fh = open(filePath, 'wb')
# IOError: [Errno 22] invalid mode ('wb') or filename: u'XXXXXXXXXX/coatFlap_crvs\\|coatFlap_L0_crv.gSkin' #
There are cases to return wrong skinCluster node if using getSkinCluster function in skin module.
Currently, getSkinCluster function always returns skinCluster node which it was first found.
I think It's better to check which geometry name is right.
Hi Miquel, we're using the 3 joint leg and we are wanting our rig to have only the two joints of the IK chain to be active when the rig is built.
Currently we can change this after it has been built with the full 3 bone attribute, but we would like to be able to set this so that the character is always built this way. The full IK works pretty well for a dog, but doesn't work very well for a horse for instance.
It may also be something to think about an additional option for the leg if not using the full IK to perhaps have the last segment aim at the root of the leg, so that it follows the body forward and backward, but as the body lowers it will not bend downward as a full IK chain would.
An additional possibility would be to add a 'clavicle' for the back leg like how the front leg has the shoulder. This isn't anatomically correct but can often help avoid having the back quarters be too rigid
We will add global_C0_ctl in the guide. This way we can add global_C0_ctl as a space refence.
Chain components, when built, do create an IK ref enum attribute on the specified host, but that attribute isn't connected to anything. The problem is the addConnection() definition in chain_01.py. I found a way around it by stealing code from the leg component's code.
Avoid listing .svn folder or other folders starting with "." on the available synoptic tabs list
Match IK/FK doest work on arms with separated ctl for rotation and translation.
The components affected are:
arm_2jnt_01
arm_2jnt_freeTangents_01
-export import jnt connections
-Decouple for easy FBX export of deformation joints and geometry
Hi Miquel!
So, if you remember, when you spoke last time, i told you i will take a closer look at mGear while considering it as the main Rigger for a new very cool series im going to supervise on?
Anyways, im on it right now, and will probably call you very soon :), but before that i'm trying to learn as much as i can from the documentation and from the vimeo channel.
A small thing i encountered while testing the synoptic with the basic biped rig is:
when trying to IK/FK switch:
# Traceback (most recent call last):
# File "C:/Users/liorbh/Documents/maya/2015-x64/scripts\mgear\maya\synoptic\widgets.py", line 102, in mousePressEvent
# syn_uti.ikFkMatch(model, ikfk_attr, uiHost_name, fk0, fk1, fk2, ik, upv)
# AttributeError: 'module' object has no attribute 'ikFkMatch'
which was solved by adding this to line 281
def ikFkMatch(model, ikfk_attr, uiHost_name, fk0, fk1, fk2, ik, upv):
and then declaring: (What is the use of ikRot, the caller dose not send it)
ikRot = None
at the first line.
The other thing
When attempting to use the SpaceSwitcher, i got:
# Traceback (most recent call last):
# File "C:/Users/liorbh/Documents/maya/2015-x64/scripts\mgear\maya\synoptic\utils.py", line 621, in doSpaceTransfer
# for c in maya_main_window().children():
# NameError: global name 'maya_main_window' is not defined
Whic was solved by changing line 627
from
for c in .maya_main_window().children():
to
for c in gqt.maya_main_window().children():
Am i getting it all wrong? :)
Best,
Talk soon,
Lior
Add a checker to avoid guide creation on to of the sizeRef node from the Control_01. This will break the build
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.