Code Monkey home page Code Monkey logo

mgear_legacy's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mgear_legacy's Issues

Shifter: arm_2jnt_freeTangents_01 no attribute 'rollRef'

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.

Difficulty with duplicate names

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

Shifter: New components window:

  • Folder organization and project component repository
  • drag and drop
  • duplicate component + edit in external editor
  • Guides templates tab
  • quick search
    • tags ?

Synoptic: Replace script jobs by callbacks

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

Simple Rig: Revision

-Custom sets
-Bug with stack user pivots
-user pivot animation channels control
-optional control shape?

Synoptic update:

-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

rigbits:createCTL function issue

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'.

mGear Skinning Export Bug

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.

3 point leg IK inverted when generating rig.

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.

Global scale and size of controllers

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.

image

Maybe there is a scale parameter someplace I'm not seeing, otherwise maybe it's a bug.

Synoptic: Match IK/FK without split ctl for trans and rot.

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?

Export FBX unity/Unreal

-Check limits tool: Max influence limit for game engine export
-half bake tool (local rigs to blendshape bake)

Rigbits: export skin pack error with crvs

# 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' # 

mGear getSkinCluster issue

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.

Request to add leg_3jnt Full IK parameter to the component settings

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

Chain_01 IK refs not being connected

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.

Shifter: Close settings Exception on Maya 2018

Exception RuntimeError: 'Internal C++ object (componentSettings) already deleted.' in <bound method componentSettings.del of <mgear.maya.shifter.component.arm_2jnt_freeTangents_01.guide.componentSettings object at 0x000001BBB9D8C0C8>> ignored

IK/FK Switch from synoptic

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.