diff --git a/.codeclimate.yml b/.codeclimate.yml
new file mode 100644
index 0000000..dd2ab95
--- /dev/null
+++ b/.codeclimate.yml
@@ -0,0 +1,20 @@
+engines:
+ pep8:
+ enabled: true
+
+ratings:
+ paths:
+ - "**.py"
+
+exclude_paths:
+ - "*/**/widget.py"
+ - "scripts/mgear/maya/shifter/component/**"
+ - "**UI.py"
+
+checks:
+ file-lines:
+ config:
+ threshold: 1000
+ method-lines:
+ config:
+ threshold: 100
diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000..72d0440
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,5 @@
+[run]
+source = scripts
+
+[report]
+include = scripts/*
diff --git a/.gitignore b/.gitignore
index b023134..cd00bb1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,6 +48,6 @@ excons.cache
/mgear.env.tmp
/mgear.config
/mGear_cmd.cmd
-/mGear.mod
+cover/
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
index 955d252..a089f4a 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,3 +4,6 @@
[submodule "cvwrap"]
path = cvwrap
url = https://github.com/miquelcampos/cvwrap.git
+[submodule "Qtdotpy"]
+ path = Qtdotpy
+ url = https://github.com/mottosso/Qt.py
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..3ed47d0
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,14 @@
+language: python
+
+python:
+ - 2.7
+
+services:
+ - docker
+
+install:
+ - docker build -t mgear .
+
+script:
+ - docker run -ti --rm -v $(pwd):/workspace mgear
+
diff --git a/BUILD.md b/BUILD.md
new file mode 100644
index 0000000..744fae2
--- /dev/null
+++ b/BUILD.md
@@ -0,0 +1,62 @@
+# How to build mGear
+
+## Prerequisites
+
+Git (of course)
+
+Python 2.7
+
+SCons
+
+Maya 2014 ~ 2018 (*)
+
+A C++ compiler: (*)
+- gcc on linux
+- clang on OSX
+- Visual Studio on windows (**)
+
+(*) Only when building the plugins
+
+(**) The version should match the one used by the target Maya version
+
+## Step by step process
+
+1. Clone the repository and initialize it
+
+```
+$ git clone https://github.com/miquelcampos/mgear.git
+$ git submodule update --init
+```
+
+2. Checkout the desired branch or tag
+
+- **develop** : latest developments
+- **master** : latest official release
+- **RB-x.x** : latest version in x.x series (i.e. 2.2.5 in RB-2.2)
+
+```
+$ git checkout develop
+$ git submodule update
+```
+
+3. Compile
+
+The available targets are:
+- **mgear_core** : Only mgear python module.
+- **mgear_solvers** : Solvers maya plugin.
+- **cvwrap** : cvwrap maya plugin.
+- **mgear** : everything (*default*)
+
+```
+$ scons with-maya=2017
+...
+(let it cook)
+```
+
+To show all available build options:
+
+```$ scons -h```
+
+
+
+
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..8c5de0f
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,252 @@
+## Contributing to mGear
+
+### Argument shorthands
+
+In Maya, some arguments have a short equivalent. Don't use it.
+
+**Wrong**
+
+```python
+pm.workspace(q=True, rd=True)
+```
+
+**Right**
+
+```python
+pm.workspace(query=True, rootDirectory=True)
+```
+
+The reason is readability. The second reason is that these shorthands are provided not to make *your* code shorter, but to reduce the filesize of Maya's own internal scene format, the `.ma` files. It's not Pythonic, it's an optimisation.
+
+
+
+### Members & `__init__`
+
+Always declare all members of a class in the `__init__` method.
+
+**Wrong**
+
+```python
+class MyClass(object):
+ def __init__(self):
+ super(MyClass, self).__init__()
+
+ self.height = 5
+
+ def resize(self, width, height):
+ self.height = height
+ self.width = width
+```
+
+**Right**
+
+```python
+class MyClass(object):
+ def __init__(self):
+ super(MyClass, self).__init__()
+
+ self.height = 5
+ self.width = 5
+
+ def resize(self, width, height):
+ self.height = height
+ self.width = width
+```
+
+The reason is discoverability. When members are attached to `self` in any subsequent method, it becomes difficult to tell whether it is being created, or modified. More importantly, it becomes impossible to tell which member is used externally.
+
+```python
+from mymodule import MyClass
+
+myclass = MyClass()
+myclass.width = 5
+print(myclass.other_member)
+```
+
+And at that point, impossible to maintain backwards compatibility should any of the methods creating new members be removed or refactored.
+
+
+
+### Relative imports
+
+Where possible, relatively reference the root mgear package.
+
+**Wrong**
+
+```python
+from mgear.maya import rigbits
+```
+
+**Right**
+
+```python
+from .maya import rigbits
+```
+
+This enables mgear to be bundled together with another library, e.g. `from .vendor.mgear import maya` and also avoids mgear being picked up from another location on a user's machine and PYTHONPATH. It also shortens the import line, which is always nice.
+
+
+
+### Avoid `import as`
+
+Where possible, avoid the use of `import ... as ...`.
+
+```python
+from mgear.maya import rigbits as rb
+```
+
+This makes it more difficult to understand where a particular call is coming from, when read by someone who didn't initially make that import.
+
+```python
+swg.run_important_function()
+# What does this do? :O
+```
+
+
+
+### Tuple versus List
+
+Use List when mutability is required or intended, tuple otherwise.
+
+```python
+for item in ("good", "use", "of", "tuple"):
+ pass
+```
+
+Tuples will tell you and the user when used them in an unintended way.
+
+```python
+# You
+immutable = (1, 2, 3)
+
+# User
+immutable.append(4)
+# ERROR
+```
+
+Whereas a list would not, and cause a difficult-to-debug error. The fabled "Works on my machine (tm)".
+
+
+
+### Mutable arguments
+
+Never use a mutable object in an argument signature.
+
+```python
+def function(wrong=[]):
+ wrong.append(1)
+ print(wrong)
+
+
+function()
+# [1]
+function()
+# [1, 1]
+function()
+# [1, 1, 1]
+```
+
+The same goes for `{}`. Instead, pass `None` and convert internally.
+
+```python
+def function(wrong=None):
+ wrong = wrong or []
+ wrong.append(1)
+ print(wrong)
+
+function()
+# [1]
+function()
+# [1]
+function()
+# [1]
+```
+
+
+
+### Docstrings
+
+All docstrings are written in Google Napoleon format.
+
+```python
+def function(a, b=True):
+ """Summary here, no line breaks
+
+ Long description here.
+
+ Arguments:
+ a (str): A first argument, mandatory
+ b (bool, optional): A second argument
+
+ Example:
+ >>> print("A doctest")
+ 'A doctest'
+
+ """
+```
+
+
+
+### Quotation Marks
+
+Default to double-ticks, fallback to single-tick.
+
+```python
+# Right
+side = "Right"
+
+# Wrong
+side = 'Left'
+
+# Right
+def function():
+ """It's a single tick"""
+
+# Wrong
+def function():
+ '''It's a single tick"""
+```
+
+
+
+### Code Style
+
+We are refactoring all the code to [PEP8](https://www.python.org/dev/peps/pep-0008/)
+If you want to contribute please follow the PEP8 standard
+
+
+
+#### Ignore PEP8 Errors
+
+"W503": [Break bfore or after binary operator](https://www.python.org/dev/peps/pep-0008/#should-a-line-break-before-or-after-a-binary-operator)
+
+#### Line break for long arguments
+
+```python
+
+# No
+function(arg1, arg2,
+ kwarg=False, kwarg2=True)
+
+# No
+function(
+ arg1, arg2,
+ kwarg=False, kwarg2=True)
+
+# Yes
+function(arg1,
+ arg2,
+ kwarg=False,
+ kwarg2=True)
+# Yes
+function(
+ arg1, arg2, kwarg=False, kwarg2=True)
+
+# OK
+function(
+ arg1,
+ arg2,
+ kwarg=False,
+ kwarg2=True)
+
+```
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..82bf01c
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,33 @@
+FROM mottosso/maya:2016sp1
+
+RUN wget https://bootstrap.pypa.io/get-pip.py && \
+ mayapy get-pip.py && \
+ mayapy -m pip install \
+ nose \
+ nose-exclude \
+ coverage \
+ sphinx \
+ six \
+ sphinxcontrib-napoleon \
+ python-coveralls
+
+# Support building of Maya plug-ins
+RUN yum groupinstall -y 'Development Tools' && \
+ yum install -y scons
+
+RUN git clone https://github.com/autodesk-adn/Maya-devkit.git /devkit && \
+ rm -rf /usr/autodesk/maya/devkit \
+ /usr/autodesk/maya/mkspecs \
+ /usr/autodesk/maya/include && \
+ ln -s /devkit/linux/devkit /usr/autodesk/maya/devkit && \
+ ln -s /devkit/linux/mkspecs /usr/autodesk/maya/mkspecs && \
+ ln -s /devkit/linux/include /usr/autodesk/maya/include
+
+# Avoid creation of auxilliary files
+ENV PYTHONDONTWRITEBYTECODE=1
+
+WORKDIR /workspace
+
+ENTRYPOINT \
+ scons no-cache=1 with-maya=2016 with-mayadevkit=/usr/autodesk/maya/devkit && \
+ mayapy -u run_tests.py
diff --git a/Qtdotpy b/Qtdotpy
new file mode 160000
index 0000000..ebf8493
--- /dev/null
+++ b/Qtdotpy
@@ -0,0 +1 @@
+Subproject commit ebf8493636b3d1b16bebbb22781dd7dfc9435233
diff --git a/README.md b/README.md
index 349c0d4..5b8bcf0 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ Originally mGear was design and develope by Jeremie Passerin , since 2013 Miquel
MGEAR is under the terms of the MIT License
-*Latest release: 2.2.4 ( Release Log: https://miquelcampos.github.io/mgear/releaseLog.html)
+*Latest release: 2.3.0 ( Release Log: https://miquelcampos.github.io/mgear/releaseLog.html)
For the official release, with compiled solvers and example data please download mGear from: https://gumroad.com/l/mgear
@@ -14,4 +14,4 @@ Official Documentation: https://miquelcampos.github.io/mgear/
mGear Goggle group: https://groups.google.com/forum/#!forum/mgearusergroup
-Youtube channel: https://www.youtube.com/channel/UCJsN2KCAD7qkA6-fOeB2fOw
+Youtube channel: https://www.youtube.com/c/mgearriggingframework
diff --git a/SConstruct b/SConstruct
index 5aeda06..1514480 100644
--- a/SConstruct
+++ b/SConstruct
@@ -9,7 +9,7 @@ maya.SetupMscver()
env = excons.MakeBaseEnv()
-version = (2, 2, 4)
+version = (2, 3, 0)
versionstr = "%d.%d.%d" % version
platname = {"win32": "windows", "darwin": "osx"}.get(sys.platform, "linux")
outprefix = "platforms/%s/%s/%s/plug-ins" % (maya.Version(nice=True), platname, excons.arch_dir)
@@ -19,8 +19,11 @@ outdir = excons.OutputBaseDirectory()
gen = excons.config.AddGenerator(env, "mgear", {"MGEAR_VERSION": "[%d, %d, %d]" % version,
"MGEAR_MAJMIN_VERSION": "%d.%d" % (version[0], version[1])})
-mgearinit = gen(outdir + "/scripts/mgear/__init__.py", "scripts/mgear/__init__.py.in")
+mgearinit = gen("scripts/mgear/__init__.py", "scripts/mgear/__init__.py.in")
mgearmod = gen("mGear.mod", "mGear.mod.in")
+mgearpy = filter(lambda x: not os.path.basename(x).startswith("__init__.py"), excons.glob("scripts/mgear/*"))
+qtpy = ["Qtdotpy/Qt.py"]
+NoClean(mgearinit + mgearmod)
defines = []
if sys.platform == "win32":
@@ -33,6 +36,16 @@ def CVWrapSetup(env):
env.Append(CCFLAGS=["-mavx"])
targets = [
+ {
+ "name": "mgear_core",
+ "type": "install",
+ "desc": "mgear core python modules",
+ "install": {"scripts": excons.glob("scripts/*.py"),
+ "scripts/mgear": mgearpy + mgearinit,
+ "scripts/mgear/vendor": qtpy,
+ "tests": excons.glob("tests/*.py"),
+ "": mgearmod}
+ },
{
"name": "mgear_solvers",
"type": "dynamicmodule",
@@ -43,12 +56,7 @@ targets = [
"defs": defines,
"incdirs": ["src"],
"srcs": excons.glob("src/*.cpp"),
- "custom": [maya.Require],
- "install": {"scripts": excons.glob("scripts/*.py"),
- "scripts/mgear": filter(lambda x: not x.endswith(".py.in"), excons.glob("scripts/mgear/*")),
- "tests": excons.glob("tests/*.py"),
- "": mgearmod},
- "deps": mgearinit
+ "custom": [maya.Require]
},
{
"name": "cvwrap",
@@ -66,11 +74,11 @@ targets = [
}
]
-excons.AddHelpTargets(mgear="mgear maya framework")
+excons.AddHelpTargets(mgear="mgear maya framework (mgear_core, mgear_solvers, cvwrap)")
td = excons.DeclareTargets(env, targets)
-env.Alias("mgear", mgearinit + [td["mgear_solvers"], td["cvwrap"]])
+env.Alias("mgear", [td["mgear_core"], td["mgear_solvers"], td["cvwrap"]])
td["python"] = filter(lambda x: os.path.splitext(str(x))[1] != ".mel", Glob(outdir + "/scripts/*"))
td["scripts"] = Glob(outdir + "/scripts/*.mel")
diff --git a/cvwrap b/cvwrap
index c7b447a..5822afc 160000
--- a/cvwrap
+++ b/cvwrap
@@ -1 +1 @@
-Subproject commit c7b447aaf29d69ec92ff43ae349955538122b71b
+Subproject commit 5822afc50cafd6805ab40ee0010a57de430ca415
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 7f7eb11..ce5a2d6 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -19,8 +19,8 @@
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
# sys.path.insert(0, os.path.abspath('.'))
-sys.path.insert(0, os.path.abspath('C:\\datawork\\repo\\mgear\\scripts'))
-
+# sys.path.insert(0, os.path.abspath('C:\\datawork\\repo\\mgear\\scripts'))
+sys.path.insert(0, os.path.abspath('../'))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
@@ -29,7 +29,7 @@
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
-extensions = ['sphinx.ext.autodoc', 'sphinxcontrib.napoleon', 'sphinx.ext.autosummary']
+extensions = ['sphinx.ext.autodoc', 'sphinxcontrib.napoleon', 'sphinx.ext.autosummary', 'sphinx.ext.changelog_links']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -55,9 +55,9 @@
# built documents.
#
# The short X.Y version.
-version = u'2.2'
+version = u'2.3'
# The full version, including alpha/beta/rc tags.
-release = u'2.2.0'
+release = u'2.3.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -289,5 +289,6 @@
autosummary_generate = True
# autodoc_default_flags = ['special-members']
autoclass_content = "both"
+github_issues_url = 'https://github.com/miquelcampos/mgear/issues/'
# exclude_patterns = ['mgear/maya/*']
diff --git a/docs/source/generated/mgear.maya.applyop.rst b/docs/source/generated/mgear.maya.applyop.rst
index 62eabc1..e8a52e5 100644
--- a/docs/source/generated/mgear.maya.applyop.rst
+++ b/docs/source/generated/mgear.maya.applyop.rst
@@ -1,5 +1,5 @@
-mgear.maya.applyop
-==================
+mgear\.maya\.applyop
+====================
.. automodule:: mgear.maya.applyop
@@ -10,6 +10,7 @@ mgear.maya.applyop
.. autosummary::
aimCns
+ curvecns_op
gear_curvecns_op
gear_curveslide2_op
gear_ikfk2bone_op
diff --git a/docs/source/generated/mgear.maya.attribute.rst b/docs/source/generated/mgear.maya.attribute.rst
index 166d798..dac940a 100644
--- a/docs/source/generated/mgear.maya.attribute.rst
+++ b/docs/source/generated/mgear.maya.attribute.rst
@@ -1,5 +1,5 @@
-mgear.maya.attribute
-====================
+mgear\.maya\.attribute
+======================
.. automodule:: mgear.maya.attribute
@@ -13,10 +13,22 @@ mgear.maya.attribute
addColorAttribute
addEnumAttribute
addFCurve
+ addProxyAttribute
+ connectSet
+ getSelectedChannels
+ getSelectedObjectChannels
+ get_default_value
lockAttribute
+ moveChannel
+ reset_SRT
+ reset_selected_channels_value
setInvertMirror
setKeyableAttributes
+ setNotKeyableAttributes
setRotOrder
+ set_default_value
+ smart_reset
+ unlockAttribute
diff --git a/docs/source/generated/mgear.maya.curve.rst b/docs/source/generated/mgear.maya.curve.rst
index d714ae3..4175676 100644
--- a/docs/source/generated/mgear.maya.curve.rst
+++ b/docs/source/generated/mgear.maya.curve.rst
@@ -1,5 +1,5 @@
-mgear.maya.curve
-================
+mgear\.maya\.curve
+==================
.. automodule:: mgear.maya.curve
@@ -12,6 +12,7 @@ mgear.maya.curve
addCnsCurve
addCurve
createCurveFromCurve
+ createCurveFromOrderedEdges
createCuveFromEdges
findLenghtFromParam
getCurveParamAtPosition
diff --git a/docs/source/generated/mgear.maya.dag.rst b/docs/source/generated/mgear.maya.dag.rst
index 21c726c..11a49a6 100644
--- a/docs/source/generated/mgear.maya.dag.rst
+++ b/docs/source/generated/mgear.maya.dag.rst
@@ -1,5 +1,5 @@
-mgear.maya.dag
-==============
+mgear\.maya\.dag
+================
.. automodule:: mgear.maya.dag
@@ -13,6 +13,7 @@ mgear.maya.dag
findChildren
findChildrenPartial
findComponentChildren
+ findComponentChildren2
getShapes
getTopParent
diff --git a/docs/source/generated/mgear.maya.fcurve.rst b/docs/source/generated/mgear.maya.fcurve.rst
index a295283..87be5ab 100644
--- a/docs/source/generated/mgear.maya.fcurve.rst
+++ b/docs/source/generated/mgear.maya.fcurve.rst
@@ -1,5 +1,5 @@
-mgear.maya.fcurve
-=================
+mgear\.maya\.fcurve
+===================
.. automodule:: mgear.maya.fcurve
diff --git a/docs/source/generated/mgear.maya.icon.rst b/docs/source/generated/mgear.maya.icon.rst
index e621358..426cb84 100644
--- a/docs/source/generated/mgear.maya.icon.rst
+++ b/docs/source/generated/mgear.maya.icon.rst
@@ -1,5 +1,5 @@
-mgear.maya.icon
-===============
+mgear\.maya\.icon
+=================
.. automodule:: mgear.maya.icon
diff --git a/docs/source/generated/mgear.maya.log.rst b/docs/source/generated/mgear.maya.log.rst
index f2c2e1a..73db35b 100644
--- a/docs/source/generated/mgear.maya.log.rst
+++ b/docs/source/generated/mgear.maya.log.rst
@@ -1,5 +1,5 @@
-mgear.maya.log
-==============
+mgear\.maya\.log
+================
.. automodule:: mgear.maya.log
diff --git a/docs/source/generated/mgear.maya.meshNavigation.rst b/docs/source/generated/mgear.maya.meshNavigation.rst
index 1c90c13..2d033fe 100644
--- a/docs/source/generated/mgear.maya.meshNavigation.rst
+++ b/docs/source/generated/mgear.maya.meshNavigation.rst
@@ -1,5 +1,5 @@
-mgear.maya.meshNavigation
-=========================
+mgear\.maya\.meshNavigation
+===========================
.. automodule:: mgear.maya.meshNavigation
diff --git a/docs/source/generated/mgear.maya.node.rst b/docs/source/generated/mgear.maya.node.rst
index 3edb9a0..6d21093 100644
--- a/docs/source/generated/mgear.maya.node.rst
+++ b/docs/source/generated/mgear.maya.node.rst
@@ -1,5 +1,5 @@
-mgear.maya.node
-===============
+mgear\.maya\.node
+=================
.. automodule:: mgear.maya.node
@@ -23,10 +23,15 @@ mgear.maya.node
createMulDivNode
createMulNode
createMulNodeMulti
+ createMultMatrixNode
createNegateNodeMulti
createPairBlend
+ createPlusMinusAverage1D
+ createPowNode
createReverseNode
+ createSetRangeNode
createSubNode
+ createVertexPositionNode
diff --git a/docs/source/generated/mgear.maya.primitive.rst b/docs/source/generated/mgear.maya.primitive.rst
index a53fec5..c0cfc61 100644
--- a/docs/source/generated/mgear.maya.primitive.rst
+++ b/docs/source/generated/mgear.maya.primitive.rst
@@ -1,5 +1,5 @@
-mgear.maya.primitive
-====================
+mgear\.maya\.primitive
+======================
.. automodule:: mgear.maya.primitive
diff --git a/docs/source/generated/mgear.maya.rst b/docs/source/generated/mgear.maya.rst
index d15bc36..ffa8039 100644
--- a/docs/source/generated/mgear.maya.rst
+++ b/docs/source/generated/mgear.maya.rst
@@ -1,5 +1,5 @@
-mgear.maya
-==========
+mgear\.maya
+===========
.. automodule:: mgear.maya
@@ -9,6 +9,7 @@ mgear.maya
.. autosummary::
+ aboutMgear
getMayaVer
diff --git a/docs/source/generated/mgear.maya.shifter.component.guide.rst b/docs/source/generated/mgear.maya.shifter.component.guide.rst
index d19b17b..b1f3909 100644
--- a/docs/source/generated/mgear.maya.shifter.component.guide.rst
+++ b/docs/source/generated/mgear.maya.shifter.component.guide.rst
@@ -1,5 +1,5 @@
-mgear.maya.shifter.component.guide
-==================================
+mgear\.maya\.shifter\.component\.guide
+======================================
.. automodule:: mgear.maya.shifter.component.guide
@@ -14,9 +14,9 @@ mgear.maya.shifter.component.guide
.. autosummary::
ComponentGuide
- MainGuide
MinMax
- partial
+ componentMainSettings
+ mainSettingsTab
diff --git a/docs/source/generated/mgear.maya.shifter.component.rst b/docs/source/generated/mgear.maya.shifter.component.rst
index 8b11afc..57005af 100644
--- a/docs/source/generated/mgear.maya.shifter.component.rst
+++ b/docs/source/generated/mgear.maya.shifter.component.rst
@@ -1,5 +1,5 @@
-mgear.maya.shifter.component
-============================
+mgear\.maya\.shifter\.component
+===============================
.. automodule:: mgear.maya.shifter.component
@@ -13,6 +13,7 @@ mgear.maya.shifter.component
.. autosummary::
+ Main
MainComponent
diff --git a/docs/source/generated/mgear.maya.shifter.gui.rst b/docs/source/generated/mgear.maya.shifter.gui.rst
index 00c6db9..99194ec 100644
--- a/docs/source/generated/mgear.maya.shifter.gui.rst
+++ b/docs/source/generated/mgear.maya.shifter.gui.rst
@@ -1,5 +1,5 @@
-mgear.maya.shifter.gui
-======================
+mgear\.maya\.shifter\.gui
+=========================
.. automodule:: mgear.maya.shifter.gui
@@ -14,7 +14,6 @@ mgear.maya.shifter.gui
.. autosummary::
Guide_UI
- partial
diff --git a/docs/source/generated/mgear.maya.shifter.guide.rst b/docs/source/generated/mgear.maya.shifter.guide.rst
index f1d5f9c..a60331e 100644
--- a/docs/source/generated/mgear.maya.shifter.guide.rst
+++ b/docs/source/generated/mgear.maya.shifter.guide.rst
@@ -1,5 +1,5 @@
-mgear.maya.shifter.guide
-========================
+mgear\.maya\.shifter\.guide
+===========================
.. automodule:: mgear.maya.shifter.guide
@@ -13,8 +13,18 @@ mgear.maya.shifter.guide
.. autosummary::
+ CustomStepTab
+ GuideSettings
+ GuideSettingsTab
+ HelperSlots
+ Main
MainGuide
+ Rig
RigGuide
+ customStepTab
+ guideSettings
+ guideSettingsTab
+ helperSlots
diff --git a/docs/source/generated/mgear.maya.shifter.rst b/docs/source/generated/mgear.maya.shifter.rst
index 2994782..e4c76e8 100644
--- a/docs/source/generated/mgear.maya.shifter.rst
+++ b/docs/source/generated/mgear.maya.shifter.rst
@@ -1,10 +1,18 @@
-mgear.maya.shifter
-==================
+mgear\.maya\.shifter
+====================
.. automodule:: mgear.maya.shifter
+ .. rubric:: Functions
+
+ .. autosummary::
+
+ getComponentDirectories
+ importComponent
+ importComponentGuide
+
@@ -13,9 +21,7 @@ mgear.maya.shifter
.. autosummary::
- MainComponent
Rig
- RigGuide
diff --git a/docs/source/generated/mgear.maya.skin.rst b/docs/source/generated/mgear.maya.skin.rst
index c455c7d..7b0dd04 100644
--- a/docs/source/generated/mgear.maya.skin.rst
+++ b/docs/source/generated/mgear.maya.skin.rst
@@ -1,5 +1,5 @@
-mgear.maya.skin
-===============
+mgear\.maya\.skin
+=================
.. automodule:: mgear.maya.skin
@@ -13,11 +13,13 @@ mgear.maya.skin
collectData
collectInfluenceWeights
exportSkin
+ exportSkinPack
getCurrentWeights
getGeometryComponents
getObjsFromSkinFile
getSkinCluster
importSkin
+ importSkinPack
selectDeformers
setBlendWeights
setData
diff --git a/docs/source/generated/mgear.maya.synoptic.rst b/docs/source/generated/mgear.maya.synoptic.rst
index 663bba9..afe5063 100644
--- a/docs/source/generated/mgear.maya.synoptic.rst
+++ b/docs/source/generated/mgear.maya.synoptic.rst
@@ -1,5 +1,5 @@
-mgear.maya.synoptic
-===================
+mgear\.maya\.synoptic
+=====================
.. automodule:: mgear.maya.synoptic
@@ -9,10 +9,8 @@ mgear.maya.synoptic
.. autosummary::
- getMayaWindow
+ importTab
open
- wrapInstance
- wrapinstance2
@@ -23,6 +21,7 @@ mgear.maya.synoptic
.. autosummary::
Synoptic
+ SynopticTabWrapper
diff --git a/docs/source/generated/mgear.maya.synoptic.utils.rst b/docs/source/generated/mgear.maya.synoptic.utils.rst
index 2e6ab81..a0bf06a 100644
--- a/docs/source/generated/mgear.maya.synoptic.utils.rst
+++ b/docs/source/generated/mgear.maya.synoptic.utils.rst
@@ -1,5 +1,5 @@
-mgear.maya.synoptic.utils
-=========================
+mgear\.maya\.synoptic\.utils
+============================
.. automodule:: mgear.maya.synoptic.utils
@@ -9,28 +9,51 @@ mgear.maya.synoptic.utils
.. autosummary::
+ applyMirror
+ bakeSprings
bindPose
+ calculateMirrorData
changeSpace
+ clearSprings
+ gatherMirrorData
getComboIndex
getComboKeys
getControlers
+ getInvertCheckButtonAttrName
getModel
+ getNamespace
+ getNode
getSynopticWidget
ikFkMatch
+ isSideElement
keyAll
+ keyGroup
keyObj
keySel
+ listAttrForMirror
mirrorPose
+ mirrorPoseOld
quickSel
resetSelTrans
selAll
+ selGroup
selectObj
+ stripNamespace
+ swapSideLabel
toggleAttr
+ .. rubric:: Classes
+
+ .. autosummary::
+
+ AbstractAnimationTransfer
+ IkFkTransfer
+ ParentSpaceTransfer
+
diff --git a/docs/source/generated/mgear.maya.synoptic.widgets.rst b/docs/source/generated/mgear.maya.synoptic.widgets.rst
index ad88960..5094651 100644
--- a/docs/source/generated/mgear.maya.synoptic.widgets.rst
+++ b/docs/source/generated/mgear.maya.synoptic.widgets.rst
@@ -1,5 +1,5 @@
-mgear.maya.synoptic.widgets
-===========================
+mgear\.maya\.synoptic\.widgets
+==============================
.. automodule:: mgear.maya.synoptic.widgets
@@ -20,34 +20,74 @@ mgear.maya.synoptic.widgets
SelectBtn_CFk
SelectBtn_CFkBox
SelectBtn_CFkCircle
+ SelectBtn_CFkOutlineBox
+ SelectBtn_CFkOutlineCircle
SelectBtn_CIk
SelectBtn_CIkBox
SelectBtn_CIkCircle
+ SelectBtn_CIkOutlineBox
+ SelectBtn_CIkOutlineCircle
SelectBtn_Circle
SelectBtn_LFk
SelectBtn_LFkBox
SelectBtn_LFkCircle
+ SelectBtn_LFkOutlineBox
+ SelectBtn_LFkOutlineCircle
+ SelectBtn_LFkTriangleLeft
SelectBtn_LIk
SelectBtn_LIkBox
SelectBtn_LIkCircle
+ SelectBtn_LIkOutlineBox
+ SelectBtn_LIkOutlineCircle
+ SelectBtn_LIkTriangleLeft
+ SelectBtn_OutlineBox
+ SelectBtn_OutlineCircle
+ SelectBtn_OutlineTriangleLeft
+ SelectBtn_OutlineTriangleRight
SelectBtn_RFk
SelectBtn_RFkBox
SelectBtn_RFkCircle
+ SelectBtn_RFkOutlineBox
+ SelectBtn_RFkOutlineCircle
+ SelectBtn_RFkTriangleRight
SelectBtn_RIk
SelectBtn_RIkBox
SelectBtn_RIkCircle
+ SelectBtn_RIkOutlineBox
+ SelectBtn_RIkOutlineCircle
+ SelectBtn_RIkTriangleRight
+ SelectBtn_TriangleLeft
+ SelectBtn_TriangleRight
+ SelectBtn_blueBox
+ SelectBtn_blueCircle
+ SelectBtn_blueOutlineCircle
SelectBtn_darkGreen
SelectBtn_darkGreenBox
+ SelectBtn_darkGreenOutlineBox
SelectBtn_green
SelectBtn_greenBox
SelectBtn_greenCircle
+ SelectBtn_greenOutlineBox
+ SelectBtn_greenOutlineCircle
+ SelectBtn_greenTriangleLeft
+ SelectBtn_greenTriangleRight
+ SelectBtn_redBox
+ SelectBtn_redCircle
+ SelectBtn_redOutlineCircle
SelectBtn_yellow
SelectBtn_yellowBox
+ SelectBtn_yellowCircle
+ SelectBtn_yellowOutlineBox
+ SelectBtn_yellowOutlineCircle
SelectButton
- bakeMocap
+ bakeSprings
+ clearSprings
ikfkMatchButton
+ keyGroup
+ klass
resetBindPose
resetTransform
+ selGroup
toggleAttrButton
toggleCombo
diff --git a/docs/source/generated/mgear.maya.transform.rst b/docs/source/generated/mgear.maya.transform.rst
index 84b61b2..5d107fd 100644
--- a/docs/source/generated/mgear.maya.transform.rst
+++ b/docs/source/generated/mgear.maya.transform.rst
@@ -1,5 +1,5 @@
-mgear.maya.transform
-====================
+mgear\.maya\.transform
+======================
.. automodule:: mgear.maya.transform
diff --git a/docs/source/generated/mgear.maya.utils.rst b/docs/source/generated/mgear.maya.utils.rst
index 009f8dd..3b6027a 100644
--- a/docs/source/generated/mgear.maya.utils.rst
+++ b/docs/source/generated/mgear.maya.utils.rst
@@ -1,5 +1,5 @@
-mgear.maya.utils
-================
+mgear\.maya\.utils
+==================
.. automodule:: mgear.maya.utils
@@ -9,7 +9,12 @@ mgear.maya.utils
.. autosummary::
+ gatherCustomModuleDirectories
+ getModuleBasePath
+ importFromStandardOrCustomDirectories
is_odd
+ one_undo
+ viewport_off
diff --git a/docs/source/generated/mgear.maya.vector.rst b/docs/source/generated/mgear.maya.vector.rst
index 562f037..1b682df 100644
--- a/docs/source/generated/mgear.maya.vector.rst
+++ b/docs/source/generated/mgear.maya.vector.rst
@@ -1,5 +1,5 @@
-mgear.maya.vector
-=================
+mgear\.maya\.vector
+===================
.. automodule:: mgear.maya.vector
diff --git a/docs/source/generated/mgear.string.rst b/docs/source/generated/mgear.string.rst
index 908d498..80e1caf 100644
--- a/docs/source/generated/mgear.string.rst
+++ b/docs/source/generated/mgear.string.rst
@@ -1,5 +1,5 @@
-mgear.string
-============
+mgear\.string
+=============
.. automodule:: mgear.string
diff --git a/docs/source/mgear/maya/rigbits/channelWrangler.rst b/docs/source/mgear/maya/rigbits/channelWrangler.rst
new file mode 100644
index 0000000..91151d9
--- /dev/null
+++ b/docs/source/mgear/maya/rigbits/channelWrangler.rst
@@ -0,0 +1,6 @@
+mgear.maya.rigbits.channelWrangler
+==================================
+
+.. automodule:: mgear.maya.rigbits.channelWrangler
+ :members:
+ :undoc-members:
diff --git a/docs/source/releaseLog.rst b/docs/source/releaseLog.rst
index 8bd9b48..00b0822 100644
--- a/docs/source/releaseLog.rst
+++ b/docs/source/releaseLog.rst
@@ -1,30 +1,65 @@
Release Log
===========
+2.3.0
+-----
+**Enhancements**
+ * mGear: Attribute: addAttribute not setting default attribute value. [#84]
+ * mGear: Attribute: update with lock and unlock attribute functions [#83]
+ * mGear: PEP8 Style Refactor [#100]
+ * mGear: Refactor all exception handling [#88]
+ * mGear: Vendoring QT [#89]
+ * Shifter: Build command review and log popup window [#73]
+ * Shifter: Change Global_C0_ctl to World_ctl [#66]
+ * Shifter: Control_01: Add option to have mirror behaviour [#68]
+ * Shifter: Improve rig build speed [#65]
+ * Shifter: Leg_2jnts_freeTangents_01:no ikFoot in upvref attribute [#62]
+ * Shifter: Reload components in custom path [#78]
+ * Shifter: Update guide structure in pre custom step [#101]
+ * Simple Rig: Update functionality revision [#71]
+ * Synoptic: spring bake util [#61]
+
+**Bug Fix**
+ * Rigbits: createCTL function issue [#59]
+ * Rigbits: export skin pack error with crvs [#56]
+ * Rigbits: skin: There is a case in exportSkin function breaks the existing file [#58]
+ * Shifter: 3 joint leg: soft Ik range min in graph editor [#82]
+ * Shifter: arm_2jnt_freeTangents_01 no attribute 'rollRef' [#63]
+ * Shifter: Arms auto upvector and shoulder space jump [#85]
+ * Shifter: Chain_spring_01: pop if manipulate FK ctl after Bake [#75]
+ * Shifter: Connect Ctl_vis [#103]
+ * Shifter: Control_01: rotation axis is missing Y lock [#74]
+ * Shifter: Japanese Ascii [#79]
+ * Shifter: Spring chain: lock control parent and bake spring bug [#67]
+ * Shifter: Synoptic: IK/FK Match with arm_ms_2jnt_01 [#80]
+
+**Known Issues**
+ * Shifter: Undo Build from selection crash maya [#74]
+
2.2.4
-----
**Enhancements**
- * Issue #50: Global scale and size of controllers.
+ * Shifter: Global scale and size of controllers. [#50]
2.2.3
-----
**Enhancements**
- * Issue #43: Shifter: Custom Steps: Added Stop Build and Try again option if step fail.
+ * Shifter: Custom Steps: Added Stop Build and Try again option if step fail.[#43]
**Bug Fix**
- * Issue #54: Synoptic: Match IK/FK with split ctl for trans and rot
+ * Synoptic: Match IK/FK with split ctl for trans and rot [#54]
2.2.2
-----
**Enhancements**
- * Issue #47: Shifter: Components: Legs: Mirror axis behavior on upv and mid ctl
- * Issue #48: Shifter: Componets: Arms: IK ctl mirror behaviour
- * Issue #53: Shifter: arm roll new reference connector
+ * Shifter: Components: Legs: Mirror axis behavior on upv and mid ctl [#47]
+ * Shifter: Componets: Arms: IK ctl mirror behaviour [#48]
+ * Shifter: arm roll new reference connector [#53]
**Bug Fix**
- * Issue #42: Shifter: component UI min division hang. Check all components
- * Issue #44: mGear quadruped rig not being created in 2018
- * Issue #49: Shifter: Close settings Exception on Maya 2018: Note: This is a workaround. The issue comes from Maya 2018
+ * Shifter: component UI min division hang. Check all components [#42]
+ * Shifter: quadruped rig not being created in 2018 [ #44]
+ * Shifter: Close settings Exception on Maya 2018: Note: This is a workaround. The issue comes from Maya 2018 [#49]
2.2.1
-----
@@ -40,7 +75,7 @@ Release Log
* Simple autorig This a new rigging sytem for basic props.
* Channel Wrangler: Channel manager with export import options.
-**Improvements**
+**Enhancements**
* Synoptic: key/select all for custom widgets
* Skin IO: IO skin for curves & nurbs
* Skin IO: Now can export with Skin Packs. Every object will be in a separated file.
diff --git a/docs/source/shifterModules.rst b/docs/source/shifterModules.rst
index 8e7665b..5248b30 100644
--- a/docs/source/shifterModules.rst
+++ b/docs/source/shifterModules.rst
@@ -9,7 +9,7 @@ Shifter Rig Builder
Introduction
------------
-Shifter is the default autorigging modular system included with mGear. This system is provided with the hope to solve the majority of your rigging necesities. From a freelancer or small boutique to a big studio.
+Shifter is the default autorigging modular system included with mGear. This system is provided with the hope to solve the majority of your rigging necesities. From a freelancer or small boutique to a big studio.
Shifter can be use in a wide variety of projects. Animated feature films, video games, VR, VFX, TV series, etc... and can build rigs for any kind of asset. i.e: cartoon characters, creatures, robots, props, vehicles, etc...
diff --git a/docs/source/shifterUserDocumentation.rst b/docs/source/shifterUserDocumentation.rst
index aeae029..e2888a1 100644
--- a/docs/source/shifterUserDocumentation.rst
+++ b/docs/source/shifterUserDocumentation.rst
@@ -2,7 +2,7 @@ Shifter User Documentation
==========================
WIP section: Please visit:
-`mGear Youtube channel
mGear: Framework overview from Miquel Campos on Vimeo.
- - \ No newline at end of file +`mGear Youtube channelSet the duplicate channel policy when we use proxy channel operation.
-Merge: If the channel is already in the target object the new channel creationg will be skipped and the output channels will be reconnected to the previous existing channel
-Index: If the channel is already in the target object, the new proxy channel will add an index number to avoid the name clashing.
example:
"ik_fk_blend" will be renamed "ik_fk_blend0", "ik_fk_blend1","ik_fk_blend2", etc...
-Full Name: If the channel is already in the target object, the new channel will be renamed using the source node name as a prefix
", None, -1)) - self.movePolicy_comboBox.setItemText(0, gqt.fakeTranslate("Form", "Merge", None, -1)) - self.movePolicy_comboBox.setItemText(1, gqt.fakeTranslate("Form", "Index", None, -1)) - self.movePolicy_comboBox.setItemText(2, gqt.fakeTranslate("Form", "Full Name", None, -1)) - self.groupBox_4.setTitle(gqt.fakeTranslate("Form", "Proxy Duplicated Channel Policy", None, -1)) - self.proxyPolicy_comboBox.setToolTip(gqt.fakeTranslate("Form", "Set the duplicate channel policy when we use proxy channel operation.
-Index: If the channel is already in the target object, the new proxy channel will add an index number to avoid the name clashing.
example:
"ik_fk_blend" will be renamed "ik_fk_blend0", "ik_fk_blend1","ik_fk_blend2", etc...
-Full Name: If the channel is already in the target object, the new channel will be renamed using the source node name as a prefix
", None, -1)) - self.proxyPolicy_comboBox.setItemText(0, gqt.fakeTranslate("Form", "Index", None, -1)) - self.proxyPolicy_comboBox.setItemText(1, gqt.fakeTranslate("Form", "Full Name", None, -1)) + self.channelMapping_tableWidget.horizontalHeaderItem(0).setText(pyqt.fakeTranslate("Form", "Idx", None, -1)) + self.channelMapping_tableWidget.horizontalHeaderItem(1).setText(pyqt.fakeTranslate("Form", "Channel", None, -1)) + self.channelMapping_tableWidget.horizontalHeaderItem(2).setText(pyqt.fakeTranslate("Form", "Source", None, -1)) + self.channelMapping_tableWidget.horizontalHeaderItem(3).setText(pyqt.fakeTranslate("Form", "Target", None, -1)) + self.channelMapping_tableWidget.horizontalHeaderItem(4).setText(pyqt.fakeTranslate("Form", "operation", None, -1)) + self.export_pushButton.setText(pyqt.fakeTranslate("Form", "Export", None, -1)) + self.import_pushButton.setText(pyqt.fakeTranslate("Form", "Import", None, -1)) + self.apply_pushButton.setText(pyqt.fakeTranslate("Form", "Apply", None, -1)) + self.groupBox.setTitle(pyqt.fakeTranslate("Form", "Channel", None, -1)) + self.channel_pushButton.setText(pyqt.fakeTranslate("Form", "<<<", None, -1)) + self.groupBox_2.setTitle(pyqt.fakeTranslate("Form", "Target", None, -1)) + self.target_pushButton.setText(pyqt.fakeTranslate("Form", "<<<", None, -1)) + self.setRow_pushButton.setText(pyqt.fakeTranslate("Form", "Set Row", None, -1)) + self.setMultiChannel_pushButton.setText(pyqt.fakeTranslate("Form", "Set Multi Channel", None, -1)) + self.setMultiTarget_pushButton.setText(pyqt.fakeTranslate("Form", "Set Multi Target", None, -1)) + self.clearSelectedRows_pushButton.setText(pyqt.fakeTranslate("Form", "Clear Selected Rows", None, -1)) + self.clearAll_pushButton.setText(pyqt.fakeTranslate("Form", "Clear All", None, -1)) + self.setMoveOp_pushButton.setText(pyqt.fakeTranslate("Form", "Set Move Operation", None, -1)) + self.setProxyOp_pushButton.setText(pyqt.fakeTranslate("Form", "Set Proxy Operation", None, -1)) + self.groupBox_3.setTitle(pyqt.fakeTranslate("Form", "Move Duplicated Channel Policy", None, -1)) + self.movePolicy_comboBox.setToolTip(pyqt.fakeTranslate("Form", "Set the duplicate channel policy when we use proxy channel operation.
-Merge: If the channel is already in the target object the new channel creationg will be skipped and the output channels will be reconnected to the previous existing channel
-Index: If the channel is already in the target object, the new proxy channel will add an index number to avoid the name clashing.
example:
"ik_fk_blend" will be renamed "ik_fk_blend0", "ik_fk_blend1","ik_fk_blend2", etc...
-Full Name: If the channel is already in the target object, the new channel will be renamed using the source node name as a prefix
", None, -1)) + self.movePolicy_comboBox.setItemText(0, pyqt.fakeTranslate("Form", "Merge", None, -1)) + self.movePolicy_comboBox.setItemText(1, pyqt.fakeTranslate("Form", "Index", None, -1)) + self.movePolicy_comboBox.setItemText(2, pyqt.fakeTranslate("Form", "Full Name", None, -1)) + self.groupBox_4.setTitle(pyqt.fakeTranslate("Form", "Proxy Duplicated Channel Policy", None, -1)) + self.proxyPolicy_comboBox.setToolTip(pyqt.fakeTranslate("Form", "Set the duplicate channel policy when we use proxy channel operation.
-Index: If the channel is already in the target object, the new proxy channel will add an index number to avoid the name clashing.
example:
"ik_fk_blend" will be renamed "ik_fk_blend0", "ik_fk_blend1","ik_fk_blend2", etc...
-Full Name: If the channel is already in the target object, the new channel will be renamed using the source node name as a prefix
", None, -1)) + self.proxyPolicy_comboBox.setItemText(0, pyqt.fakeTranslate("Form", "Index", None, -1)) + self.proxyPolicy_comboBox.setItemText(1, pyqt.fakeTranslate("Form", "Full Name", None, -1)) from mgear.maya.rigbits.widgets import TableWidgetDragRowsChannelWrangler diff --git a/scripts/mgear/maya/rigbits/cycleTweaks.py b/scripts/mgear/maya/rigbits/cycleTweaks.py index 3b2f4d5..7625c5a 100644 --- a/scripts/mgear/maya/rigbits/cycleTweaks.py +++ b/scripts/mgear/maya/rigbits/cycleTweaks.py @@ -1,40 +1,15 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 +"""Cycle Tweaks module +This module content the tools and procedures to rig tweaks with a benigne cycle +""" import pymel.core as pm -import pymel.core.datatypes as dt +import pymel.core.datatypes as datatypes -import mgear.maya.node as nod -import mgear.maya.skin as ski -import mgear.maya.icon as ico +from mgear.maya import icon, skin, node +from .. import rigbits +from . import rivet, blendShapes -import mgear.maya.rigbits as rigbits -import mgear.maya.rigbits.rivet as rvt -import mgear.maya.rigbits.blendShapes as bshp def inverseTranslateParent(obj): """Invert the parent transformation @@ -45,10 +20,11 @@ def inverseTranslateParent(obj): if not isinstance(obj, list): obj = [obj] for x in obj: - nod.createMulNode([x.attr("tx"), x.attr("ty"), x.attr("tz")], [-1, -1, -1], - [x.getParent().attr("tx"), x.getParent().attr("ty"), x.getParent().attr("tz")]) - - + node.createMulNode([x.attr("tx"), x.attr("ty"), x.attr("tz")], + [-1, -1, -1], + [x.getParent().attr("tx"), + x.getParent().attr("ty"), + x.getParent().attr("tz")]) def initCycleTweakBase(outMesh, baseMesh, rotMesh, transMesh, staticJnt=None): @@ -57,22 +33,48 @@ def initCycleTweakBase(outMesh, baseMesh, rotMesh, transMesh, staticJnt=None): Args: outMesh (Mesh): The output mesh after the tweak deformation baseMesh (Mesh): The base mesh for the cycle tweak. - rotMesh (Mesh): The mesh that will support the rotation transformations for the cycle tweak - transMesh (Mesh): The mesh that will support the translation and scale transformations for the cycle tweak - staticJnt (None or joint, optional): The static joint for the static vertex. + rotMesh (Mesh): The mesh that will support the rotation + transformations for the cycle tweak + transMesh (Mesh): The mesh that will support the translation and + scale transformations for the cycle tweak + staticJnt (None or joint, optional): The static joint for the + static vertex. """ - bshp.connectWithBlendshape(rotMesh, baseMesh ) - bshp.connectWithBlendshape(transMesh, rotMesh) - bshp.connectWithBlendshape(outMesh, transMesh) - - #Init skinClusters - pm.skinCluster(staticJnt, rotMesh, tsb=True, nw=2, n='%s_skinCluster'%rotMesh.name()) - pm.skinCluster(staticJnt, transMesh, tsb=True, nw=2, n='%s_skinCluster'%transMesh.name()) - -def cycleTweak(name, edgePair, mirrorAxis, baseMesh, rotMesh, transMesh, setupParent, ctlParent, jntOrg=None, grp=None, - iconType="square", size=.025, color=13, ro=dt.Vector(1.5708,0,1.5708/2)): + blendShapes.connectWithBlendshape(rotMesh, baseMesh) + blendShapes.connectWithBlendshape(transMesh, rotMesh) + blendShapes.connectWithBlendshape(outMesh, transMesh) + + # Init skinClusters + pm.skinCluster(staticJnt, + rotMesh, + tsb=True, + nw=2, + n='%s_skinCluster' % rotMesh.name()) + pm.skinCluster(staticJnt, + transMesh, + tsb=True, + nw=2, + n='%s_skinCluster' % transMesh.name()) + + +def cycleTweak(name, + edgePair, + mirrorAxis, + baseMesh, + rotMesh, + transMesh, + setupParent, + ctlParent, + jntOrg=None, + grp=None, + iconType="square", + size=.025, + color=13, + ro=datatypes.Vector(1.5708, 0, 1.5708 / 2)): """The command to create a cycle tweak. - A cycle tweak is a tweak that cycles to the parent position but doesn't create a cycle of dependency. This type of tweaks + + A cycle tweak is a tweak that cycles to the parent position but doesn't + create a cycle of dependency. This type of tweaks are very useful to create facial tweakers. Args: @@ -80,8 +82,10 @@ def cycleTweak(name, edgePair, mirrorAxis, baseMesh, rotMesh, transMesh, setupPa edgePair (list): List of edge pair to attach the cycle tweak mirrorAxis (bool): If true, will mirror the x axis behaviour. baseMesh (Mesh): The base mesh for the cycle tweak. - rotMesh (Mesh): The mesh that will support the rotation transformations for the cycle tweak - transMesh (Mesh): The mesh that will support the translation and scale transformations for the cycle tweak + rotMesh (Mesh): The mesh that will support the rotation transformations + for the cycle tweak + transMesh (Mesh): The mesh that will support the translation and scale + transformations for the cycle tweak setupParent (dagNode): The parent for the setup objects ctlParent (dagNode): The parent for the control objects jntOrg (None or dagNode, optional): The parent for the joints @@ -95,43 +99,68 @@ def cycleTweak(name, edgePair, mirrorAxis, baseMesh, rotMesh, transMesh, setupPa multi: the tweak control and the list of related joints. """ # rotation sctructure - rRivet = rvt.rivet() - rBase = rRivet.create(baseMesh, edgePair[0], edgePair[1], setupParent, name + "_rRivet_loc") + rRivet = rivet.rivet() + rBase = rRivet.create( + baseMesh, edgePair[0], edgePair[1], setupParent, name + "_rRivet_loc") pos = rBase.getTranslation(space="world") # translation structure - tRivetParent = pm.createNode("transform", n=name+"_tRivetBase", p=ctlParent) - tRivetParent.setMatrix(dt.Matrix(), worldSpace=True) - tRivet = rvt.rivet() - tBase = tRivet.create(transMesh, edgePair[0], edgePair[1], tRivetParent, name + "_tRivet_loc") - - #create the control - tweakBase = pm.createNode("transform", n=name+"_tweakBase", p=ctlParent) - tweakBase.setMatrix(dt.Matrix(), worldSpace=True) - tweakNpo = pm.createNode("transform", n=name+"_tweakNpo", p=tweakBase) + tRivetParent = pm.createNode("transform", + n=name + "_tRivetBase", + p=ctlParent) + tRivetParent.setMatrix(datatypes.Matrix(), worldSpace=True) + tRivet = rivet.rivet() + tBase = tRivet.create(transMesh, + edgePair[0], + edgePair[1], + tRivetParent, + name + "_tRivet_loc") + + # create the control + tweakBase = pm.createNode("transform", n=name + "_tweakBase", p=ctlParent) + tweakBase.setMatrix(datatypes.Matrix(), worldSpace=True) + tweakNpo = pm.createNode("transform", n=name + "_tweakNpo", p=tweakBase) tweakBase.setTranslation(pos, space="world") - tweakCtl = ico.create(tweakNpo, name+"_ctl", tweakNpo.getMatrix(worldSpace=True), color, iconType, w=size, d=size, ro=ro) + tweakCtl = icon.create(tweakNpo, + name + "_ctl", + tweakNpo.getMatrix(worldSpace=True), + color, + iconType, + w=size, + d=size, + ro=ro) inverseTranslateParent(tweakCtl) - pm.pointConstraint(tBase, tweakBase ) - - #rot - rotBase = pm.createNode("transform", n=name+"_rotBase", p=setupParent) - rotBase.setMatrix(dt.Matrix(), worldSpace=True) - rotNPO = pm.createNode("transform", n=name+"_rot_npo", p=rotBase) - rotJointDriver = pm.createNode("transform", n=name+"_rotJointDriver", p=rotNPO) + pm.pointConstraint(tBase, tweakBase) + + # rot + rotBase = pm.createNode("transform", n=name + "_rotBase", p=setupParent) + rotBase.setMatrix(datatypes.Matrix(), worldSpace=True) + rotNPO = pm.createNode("transform", n=name + "_rot_npo", p=rotBase) + rotJointDriver = pm.createNode("transform", + n=name + "_rotJointDriver", + p=rotNPO) rotBase.setTranslation(pos, space="world") - nod.createMulNode([rotNPO.attr("tx"), rotNPO.attr("ty"), rotNPO.attr("tz")], [-1, -1, -1], - [rotJointDriver.attr("tx"), rotJointDriver.attr("ty"), rotJointDriver.attr("tz")]) - pm.pointConstraint(rBase, rotNPO ) - pm.connectAttr(tweakCtl.r, rotNPO.r ) - pm.connectAttr(tweakCtl.s, rotNPO.s ) - - # tra - posNPO = pm.createNode("transform", n=name+"_pos_npo", p=setupParent) - posJointDriver = pm.createNode("transform", n=name+"_posJointDriver", p=posNPO) + + node.createMulNode([rotNPO.attr("tx"), + rotNPO.attr("ty"), + rotNPO.attr("tz")], + [-1, -1, -1], + [rotJointDriver.attr("tx"), + rotJointDriver.attr("ty"), + rotJointDriver.attr("tz")]) + + pm.pointConstraint(rBase, rotNPO) + pm.connectAttr(tweakCtl.r, rotNPO.r) + pm.connectAttr(tweakCtl.s, rotNPO.s) + + # transform + posNPO = pm.createNode("transform", n=name + "_pos_npo", p=setupParent) + posJointDriver = pm.createNode("transform", + n=name + "_posJointDriver", + p=posNPO) posNPO.setTranslation(pos, space="world") - pm.connectAttr(tweakCtl.t, posJointDriver.t ) + pm.connectAttr(tweakCtl.t, posJointDriver.t) # mirror behaviour if mirrorAxis: @@ -142,18 +171,18 @@ def cycleTweak(name, edgePair, mirrorAxis, baseMesh, rotMesh, transMesh, setupPa rotBase.attr("sz").set(-1) posNPO.attr("sz").set(-1) - #create joints - rJoint = rigbits.addJnt(rotJointDriver, jntOrg, True, grp) - tJoint = rigbits.addJnt(posJointDriver, jntOrg, True, grp) + # create joints + rJoint = rigbits.addJnt(rotJointDriver, jntOrg, True, grp) + tJoint = rigbits.addJnt(posJointDriver, jntOrg, True, grp) # add to rotation skin # TODO: add checker to see if joint is in the skincluster. - rSK = ski.getSkinCluster(rotMesh) - pm.skinCluster(rSK, e=True, ai=rJoint, lw=True, wt=0) + rSK = skin.getSkinCluster(rotMesh) + pm.skinCluster(rSK, e=True, ai=rJoint, lw=True, wt=0) # add to transform skin # TODO: add checker to see if joint is in the skincluster. - tSK = ski.getSkinCluster(transMesh) - pm.skinCluster(tSK, e=True, ai=tJoint, lw=True, wt=0) + tSK = skin.getSkinCluster(transMesh) + pm.skinCluster(tSK, e=True, ai=tJoint, lw=True, wt=0) - return tweakCtl, [rJoint, tJoint ] + return tweakCtl, [rJoint, tJoint] diff --git a/scripts/mgear/maya/rigbits/ghost.py b/scripts/mgear/maya/rigbits/ghost.py index de0da1b..69d07fd 100644 --- a/scripts/mgear/maya/rigbits/ghost.py +++ b/scripts/mgear/maya/rigbits/ghost.py @@ -1,44 +1,20 @@ -# MGEAR is under the terms of the MIT License +"""Rigbits Ghost module -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -#maya +Helper tools to create layered controls rigs +""" import pymel.core as pm -#mgear -import mgear.maya.primitive as pri -import mgear.maya.node as nod -#rigbits -import mgear.maya.rigbits as rigbits +from mgear.maya import node, primitive + +from .. import rigbits def createGhostCtl(ctl, parent=None, connect=True): - """ - Create a duplicate of the control and rename the original with _ghost. Later connect the local transforms and the - Channels. + """Create a duplicated Ghost control + + Create a duplicate of the control and rename the original with _ghost. + Later connect the local transforms and the Channels. This is useful to connect local rig controls with the final rig control. Args: @@ -49,28 +25,31 @@ def createGhostCtl(ctl, parent=None, connect=True): pyNode: The new created control """ - if isinstance(ctl, basestring): + if isinstance(ctl, basestring): ctl = pm.PyNode(ctl) if parent: - if isinstance(parent, basestring): + if isinstance(parent, basestring): parent = pm.PyNode(parent) grps = ctl.listConnections(t="objectSet") for grp in grps: grp.remove(ctl) oName = ctl.name() pm.rename(ctl, oName + "_ghost") - newCtl = pm.duplicate(ctl, po=True)[0] + newCtl = pm.duplicate(ctl, po=True)[0] pm.rename(newCtl, oName) source2 = pm.duplicate(ctl)[0] - for shape in source2.getShapes(): + for shape in source2.getShapes(): pm.parent(shape, newCtl, r=True, s=True) - pm.rename( shape, newCtl.name() + "Shape" ) + pm.rename(shape, newCtl.name() + "Shape") pm.parent(shape, newCtl, r=True, s=True) pm.delete(source2) if parent: pm.parent(newCtl, parent) - oTra = pm.createNode("transform", n= newCtl.name() + "_npo", p=parent, ss=True) - oTra.setMatrix(ctl.getParent().getMatrix(worldSpace=True), worldSpace=True) + oTra = pm.createNode("transform", + n=newCtl.name() + "_npo", + p=parent, ss=True) + oTra.setMatrix(ctl.getParent().getMatrix(worldSpace=True), + worldSpace=True) pm.parent(newCtl, oTra) if connect: rigbits.connectLocalTransform([newCtl, ctl]) @@ -81,9 +60,9 @@ def createGhostCtl(ctl, parent=None, connect=True): def createDoritoGhostCtl(ctl, parent=None): - """ - Create a duplicate of the dorito/tweak and rename the original with _ghost. Later connect the local transforms and the - Channels. + """ Create a duplicated Ghost control for doritos + Create a duplicate of the dorito/tweak and rename the original with _ghost. + Later connect the local transforms and the Channels. This is useful to connect local rig controls with the final rig control. Args: @@ -91,18 +70,25 @@ def createDoritoGhostCtl(ctl, parent=None): parent (dagNode): Parent for the new created control """ - if isinstance(ctl, basestring): + if isinstance(ctl, basestring): ctl = pm.PyNode(ctl) if parent: - if isinstance(parent, basestring): + if isinstance(parent, basestring): parent = pm.PyNode(parent) doritoCtl = createGhostCtl(ctl, parent) doritoParent = doritoCtl.getParent() ghostBaseParent = ctl.getParent(2) - oTra = pm.createNode("transform", n= ghostBaseParent.name() + "_npo", p=ghostBaseParent.getParent(), ss=True) + oTra = pm.createNode("transform", + n=ghostBaseParent.name() + "_npo", + p=ghostBaseParent.getParent(), + ss=True) + oTra.setTransformation(ghostBaseParent.getMatrix()) pm.parent(ghostBaseParent, oTra) - oTra = pm.createNode("transform", n= doritoParent.name() + "_npo", p=doritoParent.getParent(), ss=True) + oTra = pm.createNode("transform", + n=doritoParent.name() + "_npo", + p=doritoParent.getParent(), + ss=True) oTra.setTransformation(doritoParent.getMatrix()) pm.parent(doritoParent, oTra) @@ -118,10 +104,10 @@ def ghostSlider(ghostControls, surface, sliderParent): surface (Surface): The NURBS surface sliderParent (dagNode): The parent for the slider. """ - if not isinstance(ghostControls, list): + if not isinstance(ghostControls, list): ghostControls = [ghostControls] - #Seleccionamos los controles Ghost que queremos mover sobre el surface + # Seleccionamos los controles Ghost que queremos mover sobre el surface surfaceShape = surface.getShape() @@ -129,43 +115,56 @@ def ghostSlider(ghostControls, surface, sliderParent): ctl = pm.listConnections(ctlGhost, t="transform")[-1] t = ctl.getMatrix(worldSpace=True) - gDriver = pri.addTransform(ctlGhost.getParent(), ctl.name()+"_slideDriver", t) + gDriver = primitive.addTransform(ctlGhost.getParent(), + ctl.name() + "_slideDriver", + t) try: pm.connectAttr(ctl + ".translate", gDriver + ".translate") pm.disconnectAttr(ctl + ".translate", ctlGhost + ".translate") - except: + except RuntimeError: pass try: pm.connectAttr(ctl + ".scale", gDriver + ".scale") pm.disconnectAttr(ctl + ".scale", ctlGhost + ".scale") - except: + except RuntimeError: pass try: pm.connectAttr(ctl + ".rotate", gDriver + ".rotate") pm.disconnectAttr(ctl + ".rotate", ctlGhost + ".rotate") - except: + except RuntimeError: pass - oParent = ctlGhost.getParent() - npoName = "_".join(ctlGhost.name().split("_")[:-1]) + "_npo" - oTra = pm.PyNode(pm.createNode("transform", n=npoName, p=oParent, ss=True)) + npoName = "_".join(ctlGhost.name().split("_")[:-1]) + "_npo" + oTra = pm.PyNode(pm.createNode("transform", + n=npoName, + p=oParent, + ss=True)) oTra.setTransformation(ctlGhost.getMatrix()) pm.parent(ctlGhost, oTra) - slider = pri.addTransform(sliderParent, ctl.name()+"_slideDriven", t) + slider = primitive.addTransform(sliderParent, + ctl.name() + "_slideDriven", + t) - #connexion + # connexion - dm_node = nod.createDecomposeMatrixNode(gDriver.attr("worldMatrix[0]")) + dm_node = node.createDecomposeMatrixNode( + gDriver.attr("worldMatrix[0]")) cps_node = pm.createNode("closestPointOnSurface") dm_node.attr("outputTranslate") >> cps_node.attr("inPosition") surfaceShape.attr("worldSpace[0]") >> cps_node.attr("inputSurface") cps_node.attr("position") >> slider.attr("translate") - pm.normalConstraint(surfaceShape, slider, aimVector=[0,0,1] , upVector=[0,1,0], worldUpType="objectrotation", worldUpVector=[0,1,0], worldUpObject=gDriver) + pm.normalConstraint(surfaceShape, + slider, + aimVector=[0, 0, 1], + upVector=[0, 1, 0], + worldUpType="objectrotation", + worldUpVector=[0, 1, 0], + worldUpObject=gDriver) pm.parent(ctlGhost.getParent(), slider) diff --git a/scripts/mgear/maya/rigbits/postSpring.py b/scripts/mgear/maya/rigbits/postSpring.py index 53262b3..c7b02dd 100644 --- a/scripts/mgear/maya/rigbits/postSpring.py +++ b/scripts/mgear/maya/rigbits/postSpring.py @@ -1,42 +1,18 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 +"""Post Spring tool -""" -Post Spring tool, creates a spring dynamic rig on top of a pre-existing FK chain rig. +creates a spring dynamic rig on top of a pre-existing FK chain rig. """ import pymel.core as pm -import mgear.maya.attribute as att -import mgear.maya.applyop as aop +from mgear.maya import applyop, attribute -def postSpring(dist = 5, hostUI = False, hostUI2 = False, invertX=False ): - """ - Create the dynamic spring rig. This spring system use the mgear_spring node. And transfer the position spring +def postSpring(dist=5, hostUI=False, hostUI2=False, invertX=False): + """Create the dynamic spring rig. + + This spring system use the mgear_spring node + And transfer the position spring to rotation spring using an aim constraint. Note: @@ -45,150 +21,204 @@ def postSpring(dist = 5, hostUI = False, hostUI2 = False, invertX=False ): Args: dist (float): The distance of the position spring. hostUI (dagNode): The spring active and intensity channel host. - hostUI2 (dagNode): The daping and stiffness channel host for each object in the chain. + hostUI2 (dagNode): The daping and stiffness channel host for each + object in the chain. invertX (bool): reverse the direction of the x axis. """ oSel = pm.selected() if not hostUI2: - hostUI2 = oSel[0] - - aSpring_active = att.addAttribute(hostUI2, "spring_active_%s"%oSel[0].name(), "double", 1.0, "___spring_active_______%s"%oSel[0].name(), "spring_active_%s"%oSel[0].name(), 0, 1) - aSpring_intensity = att.addAttribute(hostUI2, "spring_intensity_%s"%oSel[0].name(), "double", 1.0, "___spring_intensity_______%s"%oSel[0].name(), "spring_intensity_%s"%oSel[0].name(), 0, 1) + hostUI2 = oSel[0] + + aSpring_active = attribute.addAttribute( + hostUI2, + "spring_active_%s" % oSel[0].name(), + "double", + 1.0, + "___spring_active_______%s" % oSel[0].name(), + "spring_active_%s" % oSel[0].name(), + 0, + 1) + + aSpring_intensity = attribute.addAttribute( + hostUI2, + "spring_intensity_%s" % oSel[0].name(), + "double", + 1.0, + "___spring_intensity_______%s" % oSel[0].name(), + "spring_intensity_%s" % oSel[0].name(), + 0, + 1) if invertX: - dist = dist *-1 - #aim constraint + dist = dist * -1 + # aim constraint aimAxis = "-xy" else: - #aim constraint + # aim constraint aimAxis = "xy" for obj in oSel: oParent = obj.getParent() - - - oNpo = pm.PyNode(pm.createNode("transform", n= obj.name() + "_npo", p=oParent, ss=True)) + oNpo = pm.PyNode(pm.createNode("transform", + n=obj.name() + "_npo", + p=oParent, + ss=True)) oNpo.setTransformation(obj.getMatrix()) pm.parent(obj, oNpo) - oSpring_cns = pm.PyNode(pm.createNode("transform", n= obj.name() + "_spr_cns", p=oNpo, ss=True)) + oSpring_cns = pm.PyNode(pm.createNode("transform", + n=obj.name() + "_spr_cns", + p=oNpo, + ss=True)) oSpring_cns.setTransformation(obj.getMatrix()) pm.parent(obj, oSpring_cns) - - oSpringLvl = pm.PyNode(pm.createNode("transform", n= obj.name() + "_spr_lvl", p=oNpo, ss=True)) + oSpringLvl = pm.PyNode(pm.createNode("transform", + n=obj.name() + "_spr_lvl", + p=oNpo, + ss=True)) oM = obj.getTransformation() - oM.addTranslation([dist, 0,0], "object") + oM.addTranslation([dist, 0, 0], "object") oSpringLvl.setTransformation(oM.asMatrix()) - oSpringDriver = pm.PyNode(pm.createNode("transform", n= obj.name() + "_spr", p=oSpringLvl, ss=True)) - + oSpringDriver = pm.PyNode(pm.createNode("transform", + n=obj.name() + "_spr", + p=oSpringLvl, + ss=True)) try: - defSet = pm.PyNode("rig_PLOT_grp") - pm.sets(defSet, add=oSpring_cns) - except: - defSet = pm.sets(name="rig_PLOT_grp") + defSet = pm.PyNode("rig_PLOT_grp") + pm.sets(defSet, add=oSpring_cns) + except TypeError: + defSet = pm.sets(name="rig_PLOT_grp") pm.sets(defSet, remove=obj) pm.sets(defSet, add=oSpring_cns) - #adding attributes: + # adding attributes: if not hostUI: hostUI = obj - - aSpring_damping = att.addAttribute(hostUI, "spring_damping_%s"%obj.name(), "double", .5, "damping_%s"%obj.name(), "damping_%s"%obj.name(), 0, 1) - aSpring_stiffness_ = att.addAttribute(hostUI, "spring_stiffness_%s"%obj.name(), "double", .5, "stiffness_%s"%obj.name(), "stiffness_%s"%obj.name(), 0, 1) - - - - - cns = aop.aimCns(oSpring_cns, oSpringDriver, aimAxis, 2, [0,1,0], oNpo, False) - - #change from fcurves to spring + aSpring_damping = attribute.addAttribute( + hostUI, + "spring_damping_%s" % obj.name(), + "double", + .5, + "damping_%s" % obj.name(), + "damping_%s" % obj.name(), + 0, + 1) + + aSpring_stiffness_ = attribute.addAttribute( + hostUI, + "spring_stiffness_%s" % obj.name(), + "double", + .5, + "stiffness_%s" % obj.name(), + "stiffness_%s" % obj.name(), + 0, + 1) + + cns = applyop.aimCns(oSpring_cns, + oSpringDriver, + aimAxis, + 2, + [0, 1, 0], + oNpo, + False) + + # change from fcurves to spring pb_node = pm.createNode("pairBlend") - pm.connectAttr(cns+".constraintRotateX", pb_node+".inRotateX2") - pm.connectAttr(cns+".constraintRotateY", pb_node+".inRotateY2") - pm.connectAttr(cns+".constraintRotateZ", pb_node+".inRotateZ2") - pm.setAttr(pb_node+".translateXMode", 2) - pm.setAttr(pb_node+".translateYMode", 2) - pm.setAttr(pb_node+".translateZMode", 2) - - - pm.connectAttr( pb_node+".outRotateX", oSpring_cns+".rotateX", f=True) - pm.connectAttr( pb_node+".outRotateY", oSpring_cns+".rotateY", f=True) - pm.connectAttr( pb_node+".outRotateZ", oSpring_cns+".rotateZ", f=True) - pm.setKeyframe( oSpring_cns, at="rotateX") - pm.setKeyframe( oSpring_cns, at="rotateY") - pm.setKeyframe( oSpring_cns, at="rotateZ") - - #add sprint op - springOP = aop.gear_spring_op(oSpringDriver) - - #connecting attributes - pm.connectAttr(aSpring_active, pb_node+".weight") - pm.connectAttr(aSpring_intensity, springOP+".intensity") - pm.connectAttr(aSpring_damping, springOP+".damping") - pm.connectAttr(aSpring_stiffness_, springOP+".stiffness") + pm.connectAttr(cns + ".constraintRotateX", pb_node + ".inRotateX2") + pm.connectAttr(cns + ".constraintRotateY", pb_node + ".inRotateY2") + pm.connectAttr(cns + ".constraintRotateZ", pb_node + ".inRotateZ2") + pm.setAttr(pb_node + ".translateXMode", 2) + pm.setAttr(pb_node + ".translateYMode", 2) + pm.setAttr(pb_node + ".translateZMode", 2) + + pm.connectAttr(pb_node + ".outRotateX", + oSpring_cns + ".rotateX", + f=True) + pm.connectAttr(pb_node + ".outRotateY", + oSpring_cns + ".rotateY", + f=True) + pm.connectAttr(pb_node + ".outRotateZ", + oSpring_cns + ".rotateZ", + f=True) + + pm.setKeyframe(oSpring_cns, at="rotateX") + pm.setKeyframe(oSpring_cns, at="rotateY") + pm.setKeyframe(oSpring_cns, at="rotateZ") + + # add sprint op + springOP = applyop.gear_spring_op(oSpringDriver) + + # connecting attributes + pm.connectAttr(aSpring_active, pb_node + ".weight") + pm.connectAttr(aSpring_intensity, springOP + ".intensity") + pm.connectAttr(aSpring_damping, springOP + ".damping") + pm.connectAttr(aSpring_stiffness_, springOP + ".stiffness") def spring_UI(*args): - """ - Creates the post tool UI. - """ + """Creates the post tool UI""" - if pm.window("mGear_spring_window", exists = True): + if pm.window("mGear_spring_window", exists=True): pm.deleteUI("mGear_spring_window") - window = pm.window("mGear_spring_window", title="mGear post Spring", w=350, h=200, mxb=False, sizeable=False) - - pm.rowColumnLayout( numberOfColumns=2, columnAttach=(1, 'right', 0), columnWidth=[(1, 100), (2, 250)] ) + window = pm.window("mGear_spring_window", + title="mGear post Spring", + w=350, + h=200, + mxb=False, + sizeable=False) + pm.rowColumnLayout(numberOfColumns=2, + columnAttach=(1, 'right', 0), + columnWidth=[(1, 100), (2, 250)]) pm.text("spring Distance: ") - pm.floatField( "distance", annotation="distane in X local for the spring position", w=50, value= 5) - pm.text(label="Invert X to -X: " ) + pm.floatField("distance", + annotation="distane in X local for the spring position", + w=50, + value=5) + pm.text(label="Invert X to -X: ") pm.checkBox("invertX", label=" Invert X direction to -X ") - pm.text(label="UI Host: " ) + pm.text(label="UI Host: ") pm.textField("hostUI") - - - pm.separator(h=10) - pm.button(label="Spring Me bro!!", w=150, h=50, command=build_spring) + pm.button(label="Spring Me bro!!", w=150, h=50, command=build_spring) pm.separator(h=10) pm.separator(h=10) pm.separator(h=10) - pm.text(label="Instructions: Select controls in order from root to tip", align="left" ) + pm.text(label="Instructions: Select controls in order from root to tip", + align="left") pm.separator(h=10) pm.separator(h=10) pm.separator(h=10) - pm.button(label="Baker", w=50, h=50, command=bake_spring) - + pm.button(label="Baker", w=50, h=50, command=bake_spring) pm.showWindow(window) + def build_spring(*args): - dist = pm.floatField("distance", q=True, v=True) - hostName = pm.textField("hostUI", q=True, text=True) - try: - hostUI = pm.PyNode(hostName) - except: - hostUI = False - invertX = pm.checkBox("invertX", q=True, v=True) + dist = pm.floatField("distance", q=True, v=True) + hostName = pm.textField("hostUI", q=True, text=True) + try: + hostUI = pm.PyNode(hostName) + except TypeError: + hostUI = False + invertX = pm.checkBox("invertX", q=True, v=True) + postSpring(dist, hostUI, hostUI, invertX) - postSpring(dist, hostUI, hostUI, invertX ) def bake_spring(*args): - """ - Shortcut fro the Maya's Bake Simulation Options. - """ + """Shortcut fro the Maya's Bake Simulation Options""" pm.BakeSimulationOptions() diff --git a/scripts/mgear/maya/rigbits/proxySlicer.py b/scripts/mgear/maya/rigbits/proxySlicer.py index 78ca8e1..27065ff 100644 --- a/scripts/mgear/maya/rigbits/proxySlicer.py +++ b/scripts/mgear/maya/rigbits/proxySlicer.py @@ -1,47 +1,17 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - - +"""Rigbits proxy mesh slicer""" import datetime import pymel.core as pm import mgear -import mgear.maya.applyop as aop -import mgear.maya.node as nod -import mgear.maya.transform as tra - +from mgear.maya import applyop, node, transform def slice(parent=False, oSel=False, *args): - """ - Create a proxy geometry from a skinned object. - """ + """Create a proxy geometry from a skinned object""" + startTime = datetime.datetime.now() print oSel if not oSel: @@ -53,7 +23,6 @@ def slice(parent=False, oSel=False, *args): oFaces = oSel.faces nFaces = oSel.numFaces() - faceGroups = [] for x in oColl: faceGroups.append([]) @@ -61,70 +30,102 @@ def slice(parent=False, oSel=False, *args): print sCluster sCName = sCluster[0].name() for iFace in range(nFaces): - faceVtx = oFaces[iFace].getVertices() + faceVtx = oFaces[iFace].getVertices() oSum = False for iVtx in faceVtx: - values = pm.skinPercent(sCName, oSel.vtx[iVtx], q=True, v=True ) + values = pm.skinPercent(sCName, oSel.vtx[iVtx], q=True, v=True) if oSum: - oSum = [L+l for L, l in zip(oSum, values)] + oSum = [L + l for L, l in zip(oSum, values)] else: oSum = values - print "adding face: " + str(iFace) + " to group in: " + str( oColl[ oSum.index(max(oSum))]) + print "adding face: " \ + + str(iFace) \ + + " to group in: " \ + + str(oColl[oSum.index(max(oSum))]) faceGroups[oSum.index(max(oSum))].append(iFace) - original = oSel if not parent: try: parentGroup = pm.PyNode("ProxyGeo") - except: - parentGroup = pm.createNode("transform", n="ProxyGeo" ) + except TypeError: + parentGroup = pm.createNode("transform", n="ProxyGeo") try: proxySet = pm.PyNode("rig_proxyGeo_grp") - except: - proxySet = pm.sets(name="rig_proxyGeo_grp", em=True) + except TypeError: + proxySet = pm.sets(name="rig_proxyGeo_grp", em=True) for boneList in faceGroups: if len(boneList): - newObj = pm.duplicate(original, rr=True, name= oColl[faceGroups.index(boneList)] + "_Proxy") - for trans in ["tx", "ty", "tz", "rx", "ry", "rz", "sx", "sy", "sz"]: + newObj = pm.duplicate( + original, + rr=True, + name=oColl[faceGroups.index(boneList)] + "_Proxy") + + for trans in ["tx", + "ty", + "tz", + "rx", + "ry", + "rz", + "sx", + "sy", + "sz"]: pm.setAttr(newObj[0].name() + "." + trans, lock=0) c = list(newObj[0].faces) - for index in reversed(boneList): c.pop(index) pm.delete(c) if parent: - pm.parent(newObj, pm.PyNode(oColl[faceGroups.index(boneList)]), a=True) + pm.parent(newObj, + pm.PyNode(oColl[faceGroups.index(boneList)]), + a=True) else: pm.parent(newObj, parentGroup, a=True) dummyCopy = pm.duplicate(newObj[0])[0] pm.delete(newObj[0].listRelatives(c=True)) - tra.matchWorldTransform(pm.PyNode(oColl[faceGroups.index(boneList)]), newObj[0]) - pm.parent(dummyCopy.listRelatives(c=True)[0], newObj[0], shape=True) + + transform.matchWorldTransform( + pm.PyNode(oColl[faceGroups.index(boneList)]), newObj[0]) + + pm.parent(dummyCopy.listRelatives(c=True)[0], + newObj[0], + shape=True) + pm.delete(dummyCopy) - pm.rename(newObj[0].listRelatives(c=True)[0],newObj[0].name() + "_offset" ) - mulmat_node = aop.gear_mulmatrix_op( - pm.PyNode(oColl[faceGroups.index(boneList)]).name() + ".worldMatrix", + + pm.rename(newObj[0].listRelatives(c=True)[0], + newObj[0].name() + "_offset") + + o_multiplayer = pm.PyNode(oColl[faceGroups.index(boneList)]) + mulmat_node = applyop.gear_mulmatrix_op( + o_multiplayer.name() + ".worldMatrix", newObj[0].name() + ".parentInverseMatrix") - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") - pm.connectAttr(dm_node+".outputTranslate", newObj[0].name()+".t") - pm.connectAttr(dm_node+".outputRotate", newObj[0].name()+".r") - pm.connectAttr(dm_node+".outputScale", newObj[0].name()+".s") - print "Creating proxy for: " + str(oColl[faceGroups.index(boneList)]) + outPlug = mulmat_node + ".output" + dm_node = node.createDecomposeMatrixNode(outPlug) - pm.sets(proxySet, add=newObj) + pm.connectAttr(dm_node + ".outputTranslate", + newObj[0].name() + ".t") + pm.connectAttr(dm_node + ".outputRotate", + newObj[0].name() + ".r") + pm.connectAttr(dm_node + ".outputScale", + newObj[0].name() + ".s") + print "Creating proxy for: {}".format( + str(oColl[faceGroups.index(boneList)])) + + pm.sets(proxySet, add=newObj) endTime = datetime.datetime.now() finalTime = endTime - startTime - mgear.log("=============== Slicing for: %s finish ======= [ %s ] ======" %(oSel.name(), str(finalTime) )) + mgear.log("=============== Slicing for: %s finish ======= [ %s ] ===" + "===" % (oSel.name(), str(finalTime))) diff --git a/scripts/mgear/maya/rigbits/rivet.py b/scripts/mgear/maya/rigbits/rivet.py index 296e2ae..38199be 100644 --- a/scripts/mgear/maya/rigbits/rivet.py +++ b/scripts/mgear/maya/rigbits/rivet.py @@ -1,103 +1,100 @@ - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 +"""Rigbits rivet creator""" import pymel.core as pm - - class rivet(): - """ - Create a rivet + """Create a rivet + Thanks to http://jinglezzz.tumblr.com for the tutorial :) """ def create(self, mesh, edge1, edge2, parent, name=None): self.sources = { - 'oMesh' : mesh, - 'edgeIndex1' : edge1, - 'edgeIndex2' : edge2 + 'oMesh': mesh, + 'edgeIndex1': edge1, + 'edgeIndex2': edge2 } self.createNodes() self.createConnections() self.setAttributes() if parent: - pm.parent( self.node['locator'].getParent(), parent) + pm.parent(self.o_node['locator'].getParent(), parent) if name: - pm.rename(self.node['locator'].getParent(), name) - - return self.node['locator'].getParent() + pm.rename(self.o_node['locator'].getParent(), name) + return self.o_node['locator'].getParent() def createNodes(self, *args): - self.node = { - 'meshEdgeNode1' : pm.createNode('curveFromMeshEdge'), - 'meshEdgeNode2' : pm.createNode('curveFromMeshEdge'), - 'ptOnSurfaceIn' : pm.createNode('pointOnSurfaceInfo'), - 'matrixNode' : pm.createNode('fourByFourMatrix'), - 'decomposeMatrix' : pm.createNode('decomposeMatrix'), - 'loftNode' : pm.createNode('loft'), - 'locator' : pm.createNode('locator') + self.o_node = { + 'meshEdgeNode1': pm.createNode('curveFromMeshEdge'), + 'meshEdgeNode2': pm.createNode('curveFromMeshEdge'), + 'ptOnSurfaceIn': pm.createNode('pointOnSurfaceInfo'), + 'matrixNode': pm.createNode('fourByFourMatrix'), + 'decomposeMatrix': pm.createNode('decomposeMatrix'), + 'loftNode': pm.createNode('loft'), + 'locator': pm.createNode('locator') } - def createConnections(self, *args): - self.sources['oMesh'].worldMesh.connect(self.node['meshEdgeNode1'].inputMesh) - self.sources['oMesh'].worldMesh.connect(self.node['meshEdgeNode2'].inputMesh) - self.node['meshEdgeNode1'].outputCurve.connect(self.node['loftNode'].inputCurve[0]) - self.node['meshEdgeNode2'].outputCurve.connect(self.node['loftNode'].inputCurve[1]) - self.node['loftNode'].outputSurface.connect(self.node['ptOnSurfaceIn'].inputSurface) - self.node['ptOnSurfaceIn'].normalizedNormalX.connect(self.node['matrixNode'].in00) - self.node['ptOnSurfaceIn'].normalizedNormalY.connect(self.node['matrixNode'].in01) - self.node['ptOnSurfaceIn'].normalizedNormalZ.connect(self.node['matrixNode'].in02) - self.node['ptOnSurfaceIn'].normalizedTangentUX.connect(self.node['matrixNode'].in10) - self.node['ptOnSurfaceIn'].normalizedTangentUY.connect(self.node['matrixNode'].in11) - self.node['ptOnSurfaceIn'].normalizedTangentUZ.connect(self.node['matrixNode'].in12) - self.node['ptOnSurfaceIn'].normalizedTangentVX.connect(self.node['matrixNode'].in20) - self.node['ptOnSurfaceIn'].normalizedTangentVY.connect(self.node['matrixNode'].in21) - self.node['ptOnSurfaceIn'].normalizedTangentVZ.connect(self.node['matrixNode'].in22) - self.node['ptOnSurfaceIn'].positionX.connect(self.node['matrixNode'].in30) - self.node['ptOnSurfaceIn'].positionY.connect(self.node['matrixNode'].in31) - self.node['ptOnSurfaceIn'].positionZ.connect(self.node['matrixNode'].in32) - self.node['matrixNode'].output.connect(self.node['decomposeMatrix'].inputMatrix) - self.node['decomposeMatrix'].outputTranslate.connect(self.node['locator'].getParent().translate) - self.node['decomposeMatrix'].outputRotate.connect(self.node['locator'].getParent().rotate) - self.node['locator'].attr("visibility").set(False) + self.sources['oMesh'].worldMesh.connect( + self.o_node['meshEdgeNode1'].inputMesh) + self.sources['oMesh'].worldMesh.connect( + self.o_node['meshEdgeNode2'].inputMesh) + self.o_node['meshEdgeNode1'].outputCurve.connect( + self.o_node['loftNode'].inputCurve[0]) + self.o_node['meshEdgeNode2'].outputCurve.connect( + self.o_node['loftNode'].inputCurve[1]) + self.o_node['loftNode'].outputSurface.connect( + self.o_node['ptOnSurfaceIn'].inputSurface) + self.o_node['ptOnSurfaceIn'].normalizedNormalX.connect( + self.o_node['matrixNode'].in00) + self.o_node['ptOnSurfaceIn'].normalizedNormalY.connect( + self.o_node['matrixNode'].in01) + self.o_node['ptOnSurfaceIn'].normalizedNormalZ.connect( + self.o_node['matrixNode'].in02) + self.o_node['ptOnSurfaceIn'].normalizedTangentUX.connect( + self.o_node['matrixNode'].in10) + self.o_node['ptOnSurfaceIn'].normalizedTangentUY.connect( + self.o_node['matrixNode'].in11) + self.o_node['ptOnSurfaceIn'].normalizedTangentUZ.connect( + self.o_node['matrixNode'].in12) + self.o_node['ptOnSurfaceIn'].normalizedTangentVX.connect( + self.o_node['matrixNode'].in20) + self.o_node['ptOnSurfaceIn'].normalizedTangentVY.connect( + self.o_node['matrixNode'].in21) + self.o_node['ptOnSurfaceIn'].normalizedTangentVZ.connect( + self.o_node['matrixNode'].in22) + self.o_node['ptOnSurfaceIn'].positionX.connect( + self.o_node['matrixNode'].in30) + self.o_node['ptOnSurfaceIn'].positionY.connect( + self.o_node['matrixNode'].in31) + self.o_node['ptOnSurfaceIn'].positionZ.connect( + self.o_node['matrixNode'].in32) + self.o_node['matrixNode'].output.connect( + self.o_node['decomposeMatrix'].inputMatrix) + self.o_node['decomposeMatrix'].outputTranslate.connect( + self.o_node['locator'].getParent().translate) + self.o_node['decomposeMatrix'].outputRotate.connect( + self.o_node['locator'].getParent().rotate) + self.o_node['locator'].attr("visibility").set(False) def setAttributes(self): - self.node['meshEdgeNode1'].isHistoricallyInteresting.set(1) - self.node['meshEdgeNode2'].isHistoricallyInteresting.set(1) - self.node['meshEdgeNode1'].edgeIndex[0].set(self.sources['edgeIndex1']) - self.node['meshEdgeNode2'].edgeIndex[0].set(self.sources['edgeIndex2']) - - self.node['loftNode'].reverseSurfaceNormals.set(1) - self.node['loftNode'].inputCurve.set(size=2) - self.node['loftNode'].uniform.set(True) - self.node['loftNode'].sectionSpans.set(3) - self.node['loftNode'].caching.set(True) - - self.node['ptOnSurfaceIn'].turnOnPercentage.set(True) - self.node['ptOnSurfaceIn'].parameterU.set(0.5) - self.node['ptOnSurfaceIn'].parameterV.set(0.5) - self.node['ptOnSurfaceIn'].caching.set(True) + self.o_node['meshEdgeNode1'].isHistoricallyInteresting.set(1) + self.o_node['meshEdgeNode2'].isHistoricallyInteresting.set(1) + self.o_node['meshEdgeNode1'].edgeIndex[0].set( + self.sources['edgeIndex1']) + self.o_node['meshEdgeNode2'].edgeIndex[0].set( + self.sources['edgeIndex2']) + + self.o_node['loftNode'].reverseSurfaceNormals.set(1) + self.o_node['loftNode'].inputCurve.set(size=2) + self.o_node['loftNode'].uniform.set(True) + self.o_node['loftNode'].sectionSpans.set(3) + self.o_node['loftNode'].caching.set(True) + + self.o_node['ptOnSurfaceIn'].turnOnPercentage.set(True) + self.o_node['ptOnSurfaceIn'].parameterU.set(0.5) + self.o_node['ptOnSurfaceIn'].parameterV.set(0.5) + self.o_node['ptOnSurfaceIn'].caching.set(True) diff --git a/scripts/mgear/maya/rigbits/rope.py b/scripts/mgear/maya/rigbits/rope.py index cd09338..e7f7568 100644 --- a/scripts/mgear/maya/rigbits/rope.py +++ b/scripts/mgear/maya/rigbits/rope.py @@ -1,44 +1,22 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 +"""Rigbits Rope rig creator""" import pymel.core as pm - -import mgear.maya.applyop as aop -import mgear.maya.rigbits as rt +from mgear.maya import applyop, rigbits -def rope(DEF_nb=10, ropeName="rope", keepRatio=False, lvlType="transform", oSel=None): - """ - Create rope rig based in 2 parallel curves. +def rope(DEF_nb=10, + ropeName="rope", + keepRatio=False, + lvlType="transform", + oSel=None): + """Create rope rig based in 2 parallel curves. Args: DEF_nb (int): Number of deformer joints. ropeName (str): Name for the rope rig. - keepRatio (bool): If True, the deformers will keep the length position when the curve is stretched. + keepRatio (bool): If True, the deformers will keep the length + position when the curve is stretched. """ if oSel and len(oSel) == 2 and isinstance(oSel, list): oCrv = oSel[0] @@ -48,60 +26,70 @@ def rope(DEF_nb=10, ropeName="rope", keepRatio=False, lvlType="transform", oSel if isinstance(oCrvUpV, str): oCrvUpV = pm.PyNode(oCrvUpV) else: - if len( pm.selected()) !=2: + if len(pm.selected()) != 2: print "You need to select 2 nurbsCurve" return oCrv = pm.selected()[0] oCrvUpV = pm.selected()[1] - if oCrv.getShape().type() != "nurbsCurve" or oCrvUpV.getShape().type() != "nurbsCurve": + if (oCrv.getShape().type() != "nurbsCurve" + or oCrvUpV.getShape().type() != "nurbsCurve"): print "One of the selected objects is not of type: 'nurbsCurve'" print oCrv.getShape().type() - print oCrvUpV.getShape().type() + print oCrvUpV.getShape().type() return if keepRatio: arclen_node = pm.arclen(oCrv, ch=True) alAttr = pm.getAttr(arclen_node + ".arcLength") - muldiv_node = pm.createNode("multiplyDivide") - pm.connectAttr(arclen_node+".arcLength", muldiv_node+".input1X") - pm.setAttr(muldiv_node+".input2X", alAttr) - pm.setAttr(muldiv_node+".operation", 2) + muldiv_node = pm.createNode("multiplyDivide") + pm.connectAttr(arclen_node + ".arcLength", muldiv_node + ".input1X") + pm.setAttr(muldiv_node + ".input2X", alAttr) + pm.setAttr(muldiv_node + ".operation", 2) pm.addAttr(oCrv, ln="length_ratio", k=True, w=True) - pm.connectAttr(muldiv_node+".outputX", oCrv+".length_ratio") + pm.connectAttr(muldiv_node + ".outputX", oCrv + ".length_ratio") - root = pm.PyNode(pm.createNode(lvlType, n= ropeName + "_root", ss=True)) - step = 1.000/(DEF_nb -1) + root = pm.PyNode(pm.createNode(lvlType, n=ropeName + "_root", ss=True)) + step = 1.000 / (DEF_nb - 1) i = 0.000 shds = [] for x in range(DEF_nb): - oTransUpV = pm.PyNode(pm.createNode(lvlType, n= ropeName + str(x).zfill(3) + "_upv", p=root, ss=True)) - oTrans = pm.PyNode(pm.createNode(lvlType, n= ropeName + str(x).zfill(3) + "_lvl", p=root, ss=True)) + oTransUpV = pm.PyNode(pm.createNode( + lvlType, n=ropeName + str(x).zfill(3) + "_upv", p=root, ss=True)) - cnsUpv = aop.pathCns(oTransUpV, oCrvUpV, cnsType=False, u=i, tangent=False) - cns = aop.pathCns(oTrans, oCrv, cnsType=False, u=i, tangent=False) + oTrans = pm.PyNode(pm.createNode( + lvlType, n=ropeName + str(x).zfill(3) + "_lvl", p=root, ss=True)) - if keepRatio: - muldiv_node2 = pm.createNode("multiplyDivide") - condition_node = pm.createNode("condition") - pm.setAttr(muldiv_node2+".operation", 2) - pm.setAttr(muldiv_node2+".input1X", i) - pm.connectAttr(oCrv+".length_ratio", muldiv_node2+".input2X") - pm.connectAttr(muldiv_node2+".outputX", condition_node+".colorIfFalseR") - pm.connectAttr(muldiv_node2+".outputX", condition_node+".secondTerm") - pm.connectAttr(muldiv_node2+".input1X", condition_node+".colorIfTrueR") - pm.connectAttr(muldiv_node2+".input1X", condition_node+".firstTerm") - pm.setAttr(condition_node+".operation", 4) + cnsUpv = applyop.pathCns( + oTransUpV, oCrvUpV, cnsType=False, u=i, tangent=False) + cns = applyop.pathCns(oTrans, oCrv, cnsType=False, u=i, tangent=False) - pm.connectAttr(condition_node+".outColorR", cnsUpv+".uValue") - pm.connectAttr(condition_node+".outColorR", cns+".uValue") + if keepRatio: + muldiv_node2 = pm.createNode("multiplyDivide") + condition_node = pm.createNode("condition") + pm.setAttr(muldiv_node2 + ".operation", 2) + pm.setAttr(muldiv_node2 + ".input1X", i) + pm.connectAttr(oCrv + ".length_ratio", muldiv_node2 + ".input2X") + pm.connectAttr(muldiv_node2 + ".outputX", + condition_node + ".colorIfFalseR") + pm.connectAttr(muldiv_node2 + ".outputX", + condition_node + ".secondTerm") + pm.connectAttr(muldiv_node2 + ".input1X", + condition_node + ".colorIfTrueR") + pm.connectAttr(muldiv_node2 + ".input1X", + condition_node + ".firstTerm") + pm.setAttr(condition_node + ".operation", 4) + + pm.connectAttr(condition_node + ".outColorR", cnsUpv + ".uValue") + pm.connectAttr(condition_node + ".outColorR", cns + ".uValue") cns.setAttr("worldUpType", 1) cns.setAttr("frontAxis", 0) cns.setAttr("upAxis", 1) - pm.connectAttr(oTransUpV.attr("worldMatrix[0]"),cns.attr("worldUpMatrix")) - shd = rt.addJnt(oTrans) + pm.connectAttr(oTransUpV.attr("worldMatrix[0]"), + cns.attr("worldUpMatrix")) + shd = rigbits.addJnt(oTrans) shds.append(shd[0]) i += step @@ -109,37 +97,46 @@ def rope(DEF_nb=10, ropeName="rope", keepRatio=False, lvlType="transform", oSel def rope_UI(*args): - """ - Rope tool UI - """ + """Rope tool UI""" - if pm.window("mGear_rope_window", exists = True): + if pm.window("mGear_rope_window", exists=True): pm.deleteUI("mGear_rope_window") - window = pm.window("mGear_rope_window", title="mGear rope rig generator", w=350, h=150, mxb=False, sizeable=False) - - pm.rowColumnLayout( numberOfColumns=2, columnAttach=(1, 'right', 0), columnWidth=[(1, 100), (2, 250)] ) + window = pm.window("mGear_rope_window", + title="mGear rope rig generator", + w=350, + h=150, + mxb=False, + sizeable=False) + pm.rowColumnLayout(numberOfColumns=2, + columnAttach=(1, 'right', 0), + columnWidth=[(1, 100), (2, 250)]) pm.text("Nb of deformers: ") - pm.intField( "nbDeformers", annotation="number of deformers", w=50, value= 10) - pm.text(label="Keep position " ) + + pm.intField("nbDeformers", + annotation="number of deformers", + w=50, + value=10) + + pm.text(label="Keep position ") pm.checkBox("keepRatio", label=" (base on ratio) ") - pm.text(label="Name: " ) + pm.text(label="Name: ") pm.textField("RopeName", text="Rope") pm.separator(h=10) - pm.button(label="Build the rope!", w=150, h=50, command=build_rope) + pm.button(label="Build the rope!", w=150, h=50, command=build_rope) pm.separator(h=10) pm.separator(h=10) pm.separator(h=10) - pm.text(label="Instructions: Select ctl crv + upv crv", align="left" ) + pm.text(label="Instructions: Select ctl crv + upv crv", align="left") pm.showWindow(window) def build_rope(*args): - DEF_nb = pm.intField("nbDeformers", q=True, v=True) - ropeName = pm.textField("RopeName", q=True, text=True) - keepRatio = pm.checkBox("keepRatio", q=True, v=True) - rope(DEF_nb, ropeName, keepRatio) + DEF_nb = pm.intField("nbDeformers", q=True, v=True) + ropeName = pm.textField("RopeName", q=True, text=True) + keepRatio = pm.checkBox("keepRatio", q=True, v=True) + rope(DEF_nb, ropeName, keepRatio) diff --git a/scripts/mgear/maya/rigbits/tweaks.py b/scripts/mgear/maya/rigbits/tweaks.py index 7c02cfb..2a5c9e2 100644 --- a/scripts/mgear/maya/rigbits/tweaks.py +++ b/scripts/mgear/maya/rigbits/tweaks.py @@ -1,41 +1,10 @@ - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - - +"""Rigbits tweaks rig module""" import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes - - -import mgear.maya.skin as ski -import mgear.maya.primitive as pri -import mgear.maya.icon as ico -import mgear.maya.transform as tra -import mgear.maya.attribute as att - -import mgear.maya.rigbits.blendShapes as bsp -import mgear.maya.rigbits.rivet as rvt +from mgear.maya import skin, primitive, icon, transform, attribute +from . import rivet, blendShapes def resetJntLocalSRT(jnt): @@ -45,33 +14,41 @@ def resetJntLocalSRT(jnt): jnt (joint): The joint to reset the local SRT """ for axis in "XYZ": - pm.setAttr(jnt+".jointOrient"+axis, 0) - pm.setAttr(jnt+".rotate"+axis, 0) - pm.setAttr(jnt+".translate"+axis, 0) + pm.setAttr(jnt + ".jointOrient" + axis, 0) + pm.setAttr(jnt + ".rotate" + axis, 0) + pm.setAttr(jnt + ".translate" + axis, 0) def doritosMagic(mesh, joint, jointBase, parent=None): - #magic of doritos connection - skinCluster = ski.getSkinCluster(mesh) + # magic of doritos connection + skinCluster = skin.getSkinCluster(mesh) if not skinCluster: if pm.objExists('static_jnt') is not True: - static_jnt = pri.addJoint(parent, "static_jnt", m=dt.Matrix(), vis=True) + static_jnt = primitive.addJoint( + parent, "static_jnt", m=datatypes.Matrix(), vis=True) static_jnt = pm.PyNode("static_jnt") - #apply initial skincluster - skinCluster = pm.skinCluster(static_jnt, mesh, tsb=True, nw=2, n='%s_skinCluster'%mesh.name()) + # apply initial skincluster + skinCluster = pm.skinCluster( + static_jnt, mesh, tsb=True, nw=2, n='%s_skinCluster' % mesh.name()) try: - # we try to add the joint to the skin cluster. Will fail if is already in the skin cluster - pm.skinCluster(skinCluster, e=True, ai=joint, lw=True, wt=0) - except: - pm.displayInfo("The Joint: %s is already in the %s."%(joint.name(),skinCluster.name()) ) + # we try to add the joint to the skin cluster. Will fail if is already + # in the skin cluster + pm.skinCluster(skinCluster, e=True, ai=joint, lw=True, wt=0) + except Exception: + pm.displayInfo("The Joint: %s is already in the %s." % ( + joint.name(), skinCluster.name())) pass cn = joint.listConnections(p=True, type="skinCluster") for x in cn: - if x.type()=="matrix": + if x.type() == "matrix": if x.name().split(".")[0] == skinCluster.name(): - # We force to avoid errors in case the joint is already connected - pm.connectAttr(jointBase + ".worldInverseMatrix[0]", skinCluster + ".bindPreMatrix["+str(x.index())+"]", f=True) + # We force to avoid errors in case the joint is already + # connected + pm.connectAttr( + jointBase + ".worldInverseMatrix[0]", + skinCluster + ".bindPreMatrix[" + str(x.index()) + "]", + f=True) def createJntTweak(mesh, parentJnt, ctlParent): @@ -88,34 +65,57 @@ def createJntTweak(mesh, parentJnt, ctlParent): name = "_".join(parentJnt.name().split("_")[:3]) # create joints - jointBase = pri.addJoint(parentJnt, name +"_tweak_jnt_lvl", parentJnt.getMatrix(worldSpace=True)) + jointBase = primitive.addJoint(parentJnt, + name + "_tweak_jnt_lvl", + parentJnt.getMatrix(worldSpace=True)) resetJntLocalSRT(jointBase) - joint = pri.addJoint(jointBase, name +"_tweak_jnt", parentJnt.getMatrix(worldSpace=True)) + joint = primitive.addJoint(jointBase, + name + "_tweak_jnt", + parentJnt.getMatrix(worldSpace=True)) resetJntLocalSRT(joint) - #hidding joint base by changing the draw mode + # hidding joint base by changing the draw mode # pm.setAttr(jointBase+".drawStyle", 2) try: defSet = pm.PyNode("rig_deformers_grp") - except: + except TypeError: pm.sets(n="rig_deformers_grp") defSet = pm.PyNode("rig_deformers_grp") pm.sets(defSet, add=joint) controlType = "circle" - iconBase = ico.create(ctlParent, name + "_base_tweak_ctl", ctlParent.getMatrix(worldSpace=True), 13, controlType, w=.8, ro=dt.Vector(0,0,1.5708)) - icon = ico.create(iconBase, name + "_tweak_ctl", ctlParent.getMatrix(worldSpace=True), 17, controlType, w=.5, ro=dt.Vector(0,0,1.5708)) + iconBase = icon.create(ctlParent, + name + "_base_tweak_ctl", + ctlParent.getMatrix(worldSpace=True), + 13, + controlType, + w=.8, + ro=datatypes.Vector(0, 0, 1.5708)) + o_icon = icon.create(iconBase, name + "_tweak_ctl", + ctlParent.getMatrix(worldSpace=True), + 17, + controlType, + w=.5, + ro=datatypes.Vector(0, 0, 1.5708)) + for t in [".translate", ".scale", ".rotate"]: pm.connectAttr(iconBase + t, jointBase + t) - pm.connectAttr(icon + t, joint + t) + pm.connectAttr(o_icon + t, joint + t) - #magic of doritos connection + # magic of doritos connection for m in mesh: doritosMagic(m, joint, jointBase) -def createRivetTweak(mesh, edgePair, name, parent=None, ctlParent=None, color=[0,0,0], size=.04, defSet=None): +def createRivetTweak(mesh, + edgePair, + name, + parent=None, + ctlParent=None, + color=[0, 0, 0], + size=.04, + defSet=None): """Create a tweak joint attached to the mesh using a rivet Args: @@ -126,11 +126,11 @@ def createRivetTweak(mesh, edgePair, name, parent=None, ctlParent=None, color=[ ctlParent (None or dagNode, optional): The parent for the tweak control color (list, optional): The color for the control """ - blendShape = bsp.getBlendShape(mesh) + blendShape = blendShapes.getBlendShape(mesh) inputMesh = blendShape.listConnections(sh=True, t="shape", d=False)[0] - oRivet = rvt.rivet() + oRivet = rivet.rivet() base = oRivet.create(inputMesh, edgePair[0], edgePair[1], parent) # get side if base.getTranslation(space='world')[0] < -0.01: @@ -141,11 +141,13 @@ def createRivetTweak(mesh, edgePair, name, parent=None, ctlParent=None, color=[ side = "C" nameSide = name + "_tweak_" + side - nameNeutral = name + "_tweak" pm.rename(base, nameSide) - #Joints NPO - npo = pm.PyNode(pm.createNode("transform", n=nameSide+"_npo", p=ctlParent, ss=True)) + # Joints NPO + npo = pm.PyNode(pm.createNode("transform", + n=nameSide + "_npo", + p=ctlParent, + ss=True)) pm.pointConstraint(base, npo) # set proper orientation @@ -157,64 +159,86 @@ def createRivetTweak(mesh, edgePair, name, parent=None, ctlParent=None, color=[ temp.attr("tx").set(1) lookat = temp.getTranslation(space="world") - up = dt.Vector(0,1,0) + up = datatypes.Vector(0, 1, 0) - t = tra.getTransformLookingAt(pos, lookat, up, axis="xy", negate=False) + t = transform.getTransformLookingAt(pos, + lookat, + up, + axis="xy", + negate=False) npo.setMatrix(t, worldSpace=True) pm.delete(temp) # create joints - jointBase = pri.addJoint(npo, nameSide +"_jnt_lvl") - joint = pri.addJoint(jointBase, nameSide +"_jnt") + jointBase = primitive.addJoint(npo, nameSide + "_jnt_lvl") + joint = primitive.addJoint(jointBase, nameSide + "_jnt") - #hidding joint base by changing the draw mode - pm.setAttr(jointBase+".drawStyle", 2) + # hidding joint base by changing the draw mode + pm.setAttr(jointBase + ".drawStyle", 2) if not defSet: try: defSet = pm.PyNode("rig_deformers_grp") - except: + except TypeError: pm.sets(n="rig_deformers_grp") defSet = pm.PyNode("rig_deformers_grp") pm.sets(defSet, add=joint) controlType = "sphere" - icon = ico.create(jointBase, nameSide + "_ctl", pm.datatypes.Matrix(), color, controlType, w=size) + o_icon = icon.create(jointBase, nameSide + "_ctl", + datatypes.Matrix(), + color, + controlType, + w=size) for t in [".translate", ".scale", ".rotate"]: - pm.connectAttr(icon + t, joint + t) + pm.connectAttr(o_icon + t, joint + t) # create the attributes to handlde mirror and symetrical pose - att.addAttribute(icon, "invTx", "bool", 0, keyable=False, niceName="Invert Mirror TX") - att.addAttribute(icon, "invTy", "bool", 0, keyable=False, niceName="Invert Mirror TY") - att.addAttribute(icon, "invTz", "bool", 0, keyable=False, niceName="Invert Mirror TZ") - att.addAttribute(icon, "invRx", "bool", 0, keyable=False, niceName="Invert Mirror RX") - att.addAttribute(icon, "invRy", "bool", 0, keyable=False, niceName="Invert Mirror RY") - att.addAttribute(icon, "invRz", "bool", 0, keyable=False, niceName="Invert Mirror RZ") - att.addAttribute(icon, "invSx", "bool", 0, keyable=False, niceName="Invert Mirror SX") - att.addAttribute(icon, "invSy", "bool", 0, keyable=False, niceName="Invert Mirror SY") - att.addAttribute(icon, "invSz", "bool", 0, keyable=False, niceName="Invert Mirror SZ") - - #magic of doritos connection + attribute.addAttribute( + o_icon, "invTx", "bool", 0, keyable=False, niceName="Invert Mirror TX") + attribute.addAttribute( + o_icon, "invTy", "bool", 0, keyable=False, niceName="Invert Mirror TY") + attribute.addAttribute( + o_icon, "invTz", "bool", 0, keyable=False, niceName="Invert Mirror TZ") + attribute.addAttribute( + o_icon, "invRx", "bool", 0, keyable=False, niceName="Invert Mirror RX") + attribute.addAttribute( + o_icon, "invRy", "bool", 0, keyable=False, niceName="Invert Mirror RY") + attribute.addAttribute( + o_icon, "invRz", "bool", 0, keyable=False, niceName="Invert Mirror RZ") + attribute.addAttribute( + o_icon, "invSx", "bool", 0, keyable=False, niceName="Invert Mirror SX") + attribute.addAttribute( + o_icon, "invSy", "bool", 0, keyable=False, niceName="Invert Mirror SY") + attribute.addAttribute( + o_icon, "invSz", "bool", 0, keyable=False, niceName="Invert Mirror SZ") + + # magic of doritos connection doritosMagic(mesh, joint, jointBase) # reset axis and inver behaviour for axis in "XYZ": - pm.setAttr(jointBase+".jointOrient"+axis, 0) - pm.setAttr(npo+".translate"+axis, 0) - pm.setAttr(jointBase+".translate"+axis, 0) + pm.setAttr(jointBase + ".jointOrient" + axis, 0) + pm.setAttr(npo + ".translate" + axis, 0) + pm.setAttr(jointBase + ".translate" + axis, 0) - p = icon.getParent().getParent() + p = o_icon.getParent().getParent() pp = p.getParent() pm.parent(p, w=True) for axis in "xyz": - p.attr("r"+axis).set(0) + p.attr("r" + axis).set(0) if side == "R": p.attr("ry").set(180) p.attr("sz").set(-1) pm.parent(p, pp) - return icon + return o_icon + -def createRivetTweakFromList(mesh, edgeIndexPairList, name, parent=None, ctlParent=None, color=[0,0,0]): +def createRivetTweakFromList(mesh, + edgeIndexPairList, + name, parent=None, + ctlParent=None, + color=[0, 0, 0]): """Create multiple rivet tweaks from a list of edge pairs Args: @@ -227,11 +251,22 @@ def createRivetTweakFromList(mesh, edgeIndexPairList, name, parent=None, ctlPare """ ctlList = [] for i, pair in enumerate(edgeIndexPairList): - ctl = createRivetTweak(mesh, [pair[0], pair[1]], name + str(i).zfill(3), parent, ctlParent, color) + ctl = createRivetTweak(mesh, + [pair[0], pair[1]], + name + str(i).zfill(3), + parent, + ctlParent, + color) ctlList.append(ctl) return ctlList -def createRivetTweakLayer(layerMesh, bst, edgeList, tweakName, parent=None, ctlParent=None): + +def createRivetTweakLayer(layerMesh, + bst, + edgeList, + tweakName, + parent=None, + ctlParent=None): """Create a rivet tweak layer Args: @@ -242,16 +277,23 @@ def createRivetTweakLayer(layerMesh, bst, edgeList, tweakName, parent=None, ctlP parent (None or dagNode, optional): The parent for the tweak ctlParent (None or dagNode, optional): the parent for the tweak control """ - #Apply blendshape from blendshapes layer mesh - bsp.connectWithBlendshape(layerMesh, bst) + # Apply blendshape from blendshapes layer mesh + blendShapes.connectWithBlendshape(layerMesh, bst) - #create static joint + # create static joint if pm.objExists('static_jnt') is not True: - static_jnt = pri.addJoint(parent, "static_jnt", m=dt.Matrix(), vis=True) + static_jnt = primitive.addJoint(parent, + "static_jnt", + m=datatypes.Matrix(), + vis=True) static_jnt = pm.PyNode("static_jnt") - #apply initial skincluster - pm.skinCluster(static_jnt, layerMesh, tsb=True, nw=2, n='%s_skinCluster'%layerMesh.name()) + # apply initial skincluster + pm.skinCluster(static_jnt, + layerMesh, + tsb=True, + nw=2, + n='%s_skinCluster' % layerMesh.name()) - #create doritos + # create doritos createRivetTweak(layerMesh, edgeList, tweakName, parent, ctlParent) diff --git a/scripts/mgear/maya/rigbits/utils.py b/scripts/mgear/maya/rigbits/utils.py index 896edf8..8ce36cd 100644 --- a/scripts/mgear/maya/rigbits/utils.py +++ b/scripts/mgear/maya/rigbits/utils.py @@ -1,32 +1,4 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -""" -mGear utilitie tools. -""" +"""Rigbits utilitie tools""" from mGear_pyqt import compileUi @@ -34,15 +6,17 @@ UI_EXT = "ui" + def ui2py(filePath=None, *args): - """ - Convert qtDesigner .ui files to .py. - """ + """Convert qtDesigner .ui files to .py""" if not filePath: startDir = pm.workspace(q=True, rootDirectory=True) - filePath = pm.fileDialog2(dialogStyle=2, fileMode=1, startingDirectory=startDir, - fileFilter='PyQt Designer (*%s)' % UI_EXT, okc="Compile to .py") + filePath = pm.fileDialog2(dialogStyle=2, + fileMode=1, + startingDirectory=startDir, + fileFilter='PyQt Designer (*%s)' % UI_EXT, + okc="Compile to .py") if not filePath: return False filePath = filePath[0] @@ -55,24 +29,27 @@ def ui2py(filePath=None, *args): pyfile = open(compiledFilePath, 'w') compileUi(filePath, pyfile, False, 4, False) pyfile.close() - pm.displayInfo("PyQt Designer file compiled to .py in: " + compiledFilePath) + + info = "PyQt Designer file compiled to .py in: " + pm.displayInfo(info + compiledFilePath) def createRunTimeCommand(name, rCmd, ann=""): - """ - Create run time commands from raw string. + """Create run time commands from raw string. + This function is used to create the mGear hotkeys. """ if pm.runTimeCommand(name, ex=True): pm.runTimeCommand(name, e=True, delete=True) - pm.displayWarning("Old hotkey: " +name+ " Deleted" ) - + pm.displayWarning("Old hotkey: " + name + " Deleted") pm.runTimeCommand(name, ann=ann, c=rCmd, cat="mGear") - pm.displayInfo("Hotkey: " +name+ " created" ) + pm.displayInfo("Hotkey: " + name + " created") + def createHotkeys(*args): """Create mGear custom hotkey functions ready to be use. + This command doesn't set the hotkey binding. Only create the functions. Args: @@ -131,23 +108,10 @@ def frameSelectedCenter(): ''' createRunTimeCommand("mGear_frameCenter", rCmd, ann="") - # reset SRT rCmd = ''' -import pymel.core as pm -def resetSRT(oColl): - trList = ['.tx','.ty','.tz','.rx','.ry','.rz'] - sList = ['.sx','.sy','.sz'] - - for attr in [(o, x) for o in oColl for x in trList]: - try: pm.Attribute(attr[0] + attr[1]).set(0) - except: pass - for attr in [(o, x) for o in oColl for x in sList]: - try: pm.Attribute(attr[0] + attr[1]).set(1) - except: pass -#this ensure it is one undo step -doReset = pm.Callback(resetSRT, pm.selected() ) -doReset() +from mgear.maya import attribute +attribute.smart_reset() ''' createRunTimeCommand("mGear_resetSRT", rCmd, ann="") @@ -157,11 +121,11 @@ def resetSRT(oColl): import maya.cmds as cmds import maya.mel as mel gMainWindow = mel.eval('$temp1=$gMainWindow') -acti = cmds.window( gMainWindow, q=True, titleBar=True ) +acti = cmds.window( gMainWindow, q=True, titleBar=True) if acti: - cmds.window( gMainWindow, e=True, titleBar=False ) + cmds.window( gMainWindow, e=True, titleBar=False) else: - cmds.window( gMainWindow, e=True, titleBar=True ) + cmds.window( gMainWindow, e=True, titleBar=True) ''' createRunTimeCommand("mGear_maximizeMaya", rCmd, ann="") @@ -227,8 +191,6 @@ def resetSRT(oColl): ''' createRunTimeCommand("mGear_align2Transforms", rCmd, ann="") - - # inspect property rCmd = ''' import mgear.maya.shifter.gui as gui @@ -298,7 +260,6 @@ def resetSRT(oColl): ''' createRunTimeCommand("mGear_walkMirror", rCmd, ann="") - # reset camera persp rCmd = ''' import pymel.core as pm @@ -310,7 +271,6 @@ def resetSRT(oColl): pm.displayInfo("mGear Hotkeys creation finish.") - # walk transform child add rCmd = ''' import pymel.core as pm @@ -363,4 +323,3 @@ def resetSRT(oColl): ''' createRunTimeCommand("mGear_walkMirrorAdd", rCmd, ann="") - diff --git a/scripts/mgear/maya/rigbits/widgets.py b/scripts/mgear/maya/rigbits/widgets.py index 14773e2..ad06dfb 100644 --- a/scripts/mgear/maya/rigbits/widgets.py +++ b/scripts/mgear/maya/rigbits/widgets.py @@ -1,57 +1,33 @@ -# MGEAR is under the terms of the MIT License +"""Rigbits widgets""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - - -## Rigbits widgets - -import mgear.maya.pyqt as gqt -import mgear.widgets as gWidgets - - -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() +from mgear import widgets +from mgear.vendor.Qt import QtWidgets ################################################ # CUSTOM WIDGETS ################################################ -class TableWidgetDragRowsChannelWrangler(gWidgets.TableWidgetDragRows): - """TableWidgetDragRows subclass for channelWrangler - """ +class TableWidgetDragRowsChannelWrangler(widgets.TableWidgetDragRows): + """TableWidgetDragRows subclass for channelWrangler""" + def __init__(self, *args, **kwargs): - super(TableWidgetDragRowsChannelWrangler, self).__init__(*args, **kwargs) + super(TableWidgetDragRowsChannelWrangler, self).__init__(*args, + **kwargs) def dropEvent(self, event): if not event.isAccepted() and event.source() == self: drop_row = self.drop_on(event) rows = sorted(set(item.row() for item in self.selectedItems())) - rows_to_move = [[QtWidgets.QTableWidgetItem(self.item(row_index, column_index)) for column_index in range(self.columnCount())] - for row_index in rows] - rows_widgets_to_move = [ self.cellWidget(row_index, 4) for row_index in rows] + + rows_to_move = [[QtWidgets.QTableWidgetItem( + self.item(row_index, column_index)) + for column_index in range(self.columnCount())] + for row_index in rows] + + rows_widgets_to_move = [self.cellWidget(row_index, 4) + for row_index in rows] for row_index in reversed(rows): self.removeRow(row_index) @@ -63,16 +39,18 @@ def dropEvent(self, event): inRow = row_index + drop_row self.insertRow(inRow) for column_index, column_data in enumerate(data): - if column_index !=4: + if column_index != 4: self.setItem(inRow, column_index, column_data) # self.setCellWidget(inRow, 4, rows_widgets_to_move[row_index]) - # moving the combo box crash maya. Current workaround is create a new one and destroy the old + # moving the combo box crash maya. Current workaround is + # create a new one and destroy the old # someone knows better way? Thanks :) operation_comboBox = QtWidgets.QComboBox() operation_comboBox.setObjectName("operation") operation_comboBox.addItem("Move Channel") operation_comboBox.addItem("Proxy Channel") - operation_comboBox.SizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContentsOnFirstShow) + size_polizy = QtWidgets.QComboBox.AdjustToContentsOnFirstShow + operation_comboBox.SizeAdjustPolicy(size_polizy) oComboOld = rows_widgets_to_move[row_index] self.setCellWidget(inRow, 4, operation_comboBox) operation_comboBox.setCurrentIndex(oComboOld.currentIndex()) @@ -84,4 +62,3 @@ def dropEvent(self, event): self.item(drop_row + row_index, 1).setSelected(True) self.item(drop_row + row_index, 2).setSelected(True) self.item(drop_row + row_index, 3).setSelected(True) - diff --git a/scripts/mgear/maya/shifter/__init__.py b/scripts/mgear/maya/shifter/__init__.py index 0aaa27e..962306c 100644 --- a/scripts/mgear/maya/shifter/__init__.py +++ b/scripts/mgear/maya/shifter/__init__.py @@ -1,119 +1,100 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -""" -Shifter base rig class. -""" - - -############################################# -# GLOBAL -############################################# -# Built in +"""Shifters Rig Main class.""" import os.path import datetime import getpass # Maya import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes from pymel import versions # mgear import mgear import mgear.maya.utils -from mgear.maya.shifter.guide import RigGuide -from mgear.maya.shifter.guide import helperSlots -from mgear.maya.shifter.component import MainComponent +from . import guide, component + +from mgear.maya import primitive, attribute, skin, dag, icon -import mgear.maya.primitive as pri -import mgear.maya.icon as ico -import mgear.maya.attribute as att -import mgear.maya.skin as skin -import mgear.maya.dag as dag # check if we have loaded the necessary plugins -if not pm.pluginInfo("mgear_solvers", q=True, l=True): +if not pm.pluginInfo("mgear_solvers", q=True, loaded=True): try: pm.loadPlugin("mgear_solvers") - except: + except RuntimeError: pm.displayError("You need the mgear_solvers plugin!") -if not pm.pluginInfo("matrixNodes", q=True, l=True): +if not pm.pluginInfo("matrixNodes", q=True, loaded=True): pm.loadPlugin("matrixNodes") - COMPONENT_PATH = os.path.join(os.path.dirname(__file__), "component") TEMPLATE_PATH = os.path.join(COMPONENT_PATH, "templates") -SYNOPTIC_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, "synoptic","tabs")) +SYNOPTIC_PATH = os.path.abspath(os.path.join( + os.path.dirname(__file__), os.pardir, "synoptic", "tabs")) SHIFTER_COMPONENT_ENV_KEY = "MGEAR_SHIFTER_COMPONENT_PATH" + def getComponentDirectories(): + """Get the components directory""" return mgear.maya.utils.gatherCustomModuleDirectories( SHIFTER_COMPONENT_ENV_KEY, os.path.join(os.path.dirname(__file__), "component")) def importComponentGuide(comp_type): + """Import the Component guide""" dirs = getComponentDirectories() defFmt = "mgear.maya.shifter.component.{}.guide" customFmt = "{}.guide" - module = mgear.maya.utils.importFromStandardOrCustomDirectories(dirs, defFmt, customFmt, comp_type) + module = mgear.maya.utils.importFromStandardOrCustomDirectories( + dirs, defFmt, customFmt, comp_type) return module def importComponent(comp_type): + """Import the Component """ dirs = getComponentDirectories() defFmt = "mgear.maya.shifter.component.{}" customFmt = "{}" - module = mgear.maya.utils.importFromStandardOrCustomDirectories(dirs, defFmt, customFmt, comp_type) + module = mgear.maya.utils.importFromStandardOrCustomDirectories( + dirs, defFmt, customFmt, comp_type) return module -########################################################## -# RIG -########################################################## +def reloadComponents(*args): + """Reload all componets -class Rig(object): + Args: + *args: Dummy """ - The main rig class. + compDir = getComponentDirectories() + + for x in compDir: + for com in compDir[x]: + try: + reload(importComponent(com)) + reload(importComponentGuide(com)) + print "reload : {}.{}".format(os.path.basename(x), com) + except ImportError: + pass + + +class Rig(object): + """The main rig class. Attributes: - guide: RigGuide() initialization. + guide: guide.Rig() initialization. groups (dic): Rig groups (Maya sets) components (dic): Dictionary for the rig components. Keys are the component fullname (ie. 'arm_L0') componentsIndex (list): Components index list. """ + def __init__(self): - self.guide = RigGuide() + self.guide = guide.Rig() self.groups = {} self.subGroups = {} @@ -124,73 +105,90 @@ def __init__(self): self.customStepDic = {} def buildFromSelection(self): - """ - Build the rig from selected guides. + """Build the rig from selected guides.""" - """ startTime = datetime.datetime.now() - mgear.log("= GEAR RIG SYSTEM ==============================================") - - # Get the option first otherwise the change wight might do won't be taken - sel = pm.ls(selection=True) + mgear.log("\n" + "= SHIFTER RIG SYSTEM " + "=" * 46) - # Check guide is valid - self.guide.setFromSelection() - if not self.guide.valid: + self.stopBuild = False + selection = pm.ls(selection=True) + if not selection: + mgear.log( + "Select one or more guide root or a guide model", + mgear.sev_error) return - # Build - self.build() + self.preCustomStep(selection) - endTime = datetime.datetime.now() - finalTime = endTime - startTime - mgear.log("= GEAR BUILD RIG DONE ================ [ " + str(finalTime) + " ] ======") + if not self.stopBuild: + mgear.log("\n" + "= GUIDE VALIDATION " + "=" * 46) + # Check guide is valid + self.guide.setFromSelection() + if not self.guide.valid: + return + + # Build + mgear.log("\n" + "= BUILDING RIG " + "=" * 46) + self.build() + self.postCustomStep() + endTime = datetime.datetime.now() + finalTime = endTime - startTime + mgear.log("\n" + "= SHIFTER BUILD RIG DONE {} [ {} ] {}".format( + "=" * 16, + finalTime, + "=" * 7 + )) def build(self): - """ - Build the rig. - """ + """Build the rig.""" self.options = self.guide.values self.guides = self.guide.components self.customStepDic["mgearRun"] = self - # stop build triggered if a custom step fail - self.stopBuild = False + self.initialHierarchy() + self.processComponents() + self.finalize() - self.preCustomStep() - if not self.stopBuild: - self.initialHierarchy() - self.processComponents() - self.finalize() - self.postCustomStep() + return self.model - return self.model + def stepsList(self, checker, attr): + if self.options[checker] and self.options[attr]: + return self.options[attr].split(",") + else: + return None - def customStep(self, checker, attr): - if self.options[checker]: - customSteps = self.options[attr].split(",") + def customStep(self, customSteps=None): + if customSteps: for step in customSteps: if not self.stopBuild: - self.stopBuild = helperSlots.runStep(step.split("|")[-1][1:], self.customStepDic) + self.stopBuild = guide.helperSlots.runStep( + step.split("|")[-1][1:], self.customStepDic) else: pm.displayWarning("Build Stopped") break - def preCustomStep(self): - self.customStep("doPreCustomStep", "preCustomStep") - + def preCustomStep(self, selection): + if (selection[0].hasAttr("ismodel") and + selection[0].attr("doPreCustomStep").get()): + customSteps = selection[0].attr("preCustomStep").get() + if customSteps: + mgear.log("\n" + "= PRE CUSTOM STEPS " + "=" * 46) + self.customStep(customSteps.split(",")) def postCustomStep(self): - self.customStep("doPostCustomStep", "postCustomStep") - + customSteps = self.stepsList("doPostCustomStep", "postCustomStep") + if customSteps: + mgear.log("\n" + "= POST CUSTOM STEPS " + "=" * 46) + self.customStep(customSteps) def initialHierarchy(self): - """ - Build the initial hierarchy of the rig. - Create the rig model, the main properties, and a couple of base organisation nulls. + """Build the initial hierarchy of the rig. + + Create the rig model, the main properties, + and a couple of base organisation nulls. Get the global size of the rig. """ @@ -198,51 +196,84 @@ def initialHierarchy(self): # -------------------------------------------------- # Model - self.model = pri.addTransformFromPos(None, self.options["rig_name"]) - att.lockAttribute(self.model) + self.model = primitive.addTransformFromPos( + None, self.options["rig_name"]) + attribute.lockAttribute(self.model) - # -------------------------------------------------- + # ------------------------- ------------------------- # Global Ctl - self.global_ctl = self.addCtl(self.model, "global_C0_ctl", dt.Matrix(), self.options["C_color_fk"], "crossarrow", w=10) - att.setRotOrder(self.global_ctl, "ZXY") + if self.options["worldCtl"]: + self.global_ctl = self.addCtl(self.model, + "world_ctl", + datatypes.Matrix(), + self.options["C_color_fk"], + "circle", w=10) + else: + self.global_ctl = self.addCtl(self.model, + "global_C0_ctl", + datatypes.Matrix(), + self.options["C_color_fk"], + "crossarrow", + w=10) + attribute.setRotOrder(self.global_ctl, "ZXY") # -------------------------------------------------- # Setup in world Space - self.setupWS = pri.addTransformFromPos(self.model, "setup") - att.lockAttribute(self.setupWS) + self.setupWS = primitive.addTransformFromPos(self.model, "setup") + attribute.lockAttribute(self.setupWS) # -------------------------------------------------- # INFOS - self.isRig_att = att.addAttribute(self.model, "is_rig", "bool", True) - self.rigName_att = att.addAttribute(self.model, "rig_name", "string", self.options["rig_name"]) - self.user_att = att.addAttribute(self.model, "user", "string", getpass.getuser()) - self.isWip_att = att.addAttribute(self.model, "wip", "bool", self.options["mode"] != 0) - self.date_att = att.addAttribute(self.model, "date", "string", str(datetime.datetime.now())) - self.mayaVersion_att = att.addAttribute(self.model, "maya_version", "string", str(pm.mel.eval("getApplicationVersionAsFloat"))) - self.gearVersion_att = att.addAttribute(self.model, "gear_version", "string", mgear.getVersion()) - self.synoptic_att = att.addAttribute(self.model, "synoptic", "string", str(self.options["synoptic"])) - self.comments_att = att.addAttribute(self.model, "comments", "string", str(self.options["comments"])) - self.ctlVis_att = att.addAttribute(self.model, "ctl_vis", "bool", True) - self.jntVis_att = att.addAttribute(self.model, "jnt_vis", "bool", True) - - self.qsA_att = att.addAttribute(self.model, "quickselA", "string", "") - self.qsB_att = att.addAttribute(self.model, "quickselB", "string", "") - self.qsC_att = att.addAttribute(self.model, "quickselC", "string", "") - self.qsD_att = att.addAttribute(self.model, "quickselD", "string", "") - self.qsE_att = att.addAttribute(self.model, "quickselE", "string", "") - self.qsF_att = att.addAttribute(self.model, "quickselF", "string", "") - - - self.rigGroups = self.model.addAttr( "rigGroups", at='message', m=1 ) - self.rigPoses = self.model.addAttr( "rigPoses", at='message', m=1 ) + self.isRig_att = attribute.addAttribute( + self.model, "is_rig", "bool", True) + self.rigName_att = attribute.addAttribute( + self.model, "rig_name", "string", self.options["rig_name"]) + self.user_att = attribute.addAttribute( + self.model, "user", "string", getpass.getuser()) + self.isWip_att = attribute.addAttribute( + self.model, "wip", "bool", self.options["mode"] != 0) + self.date_att = attribute.addAttribute( + self.model, "date", "string", str(datetime.datetime.now())) + self.mayaVersion_att = attribute.addAttribute( + self.model, "maya_version", "string", + str(pm.mel.eval("getApplicationVersionAsFloat"))) + self.gearVersion_att = attribute.addAttribute( + self.model, "gear_version", "string", mgear.getVersion()) + self.synoptic_att = attribute.addAttribute( + self.model, "synoptic", "string", str(self.options["synoptic"])) + self.comments_att = attribute.addAttribute( + self.model, "comments", "string", str(self.options["comments"])) + self.ctlVis_att = attribute.addAttribute( + self.model, "ctl_vis", "bool", True) + self.jntVis_att = attribute.addAttribute( + self.model, "jnt_vis", "bool", True) + + self.qsA_att = attribute.addAttribute( + self.model, "quickselA", "string", "") + self.qsB_att = attribute.addAttribute( + self.model, "quickselB", "string", "") + self.qsC_att = attribute.addAttribute( + self.model, "quickselC", "string", "") + self.qsD_att = attribute.addAttribute( + self.model, "quickselD", "string", "") + self.qsE_att = attribute.addAttribute( + self.model, "quickselE", "string", "") + self.qsF_att = attribute.addAttribute( + self.model, "quickselF", "string", "") + + self.rigGroups = self.model.addAttr("rigGroups", at='message', m=1) + self.rigPoses = self.model.addAttr("rigPoses", at='message', m=1) + + # Connect global visibility + pm.connectAttr(self.ctlVis_att, self.global_ctl.attr("visibility")) + attribute.lockAttribute(self.global_ctl, ['v']) # -------------------------------------------------- # Basic set of null if self.options["joint_rig"]: - self.jnt_org = pri.addTransformFromPos(self.model, "jnt_org") + self.jnt_org = primitive.addTransformFromPos(self.model, "jnt_org") pm.connectAttr(self.jntVis_att, self.jnt_org.attr("visibility")) - def processComponents(self): """ Process the components of the rig, following the creation steps. @@ -252,36 +283,35 @@ def processComponents(self): self.components_infos = {} for comp in self.guide.componentsIndex: - guide = self.guides[comp] - mgear.log("Init : "+ guide.fullName + " ("+guide.type+")") + guide_ = self.guides[comp] + mgear.log("Init : " + guide_.fullName + " (" + guide_.type + ")") - module = importComponent(guide.type) - Component = getattr(module , "Component") + module = importComponent(guide_.type) + Component = getattr(module, "Component") - component = Component(self, guide) - if component.fullName not in self.componentsIndex: - self.components[component.fullName] = component - self.componentsIndex.append(component.fullName) + comp = Component(self, guide_) + if comp.fullName not in self.componentsIndex: + self.components[comp.fullName] = comp + self.componentsIndex.append(comp.fullName) - self.components_infos[component.fullName] = [guide.compType, guide.getVersion(), guide.author] + self.components_infos[comp.fullName] = [ + guide_.compType, guide_.getVersion(), guide_.author] # Creation steps - self.steps = MainComponent.steps + self.steps = component.Main.steps for i, name in enumerate(self.steps): # for count, compName in enumerate(self.componentsIndex): for compName in self.componentsIndex: - component = self.components[compName] - mgear.log(name+" : "+ component.fullName + " ("+component.type+")") - component.stepMethods[i]() + comp = self.components[compName] + mgear.log(name + " : " + comp.fullName + + " (" + comp.type + ")") + comp.stepMethods[i]() - if self.options["step"] >= 1 and i >= self.options["step"]-1: + if self.options["step"] >= 1 and i >= self.options["step"] - 1: break - def finalize(self): - """ - Finalize the rig. - """ + """Finalize the rig.""" groupIdx = 0 # Properties -------------------------------------- @@ -297,38 +327,36 @@ def finalize(self): mgear.log("Creating groups") # Retrieve group content from components for name in self.componentsIndex: - component = self.components[name] - for name, objects in component.groups.items(): + component_ = self.components[name] + for name, objects in component_.groups.items(): self.addToGroup(objects, name) - for name, objects in component.subGroups.items(): + for name, objects in component_.subGroups.items(): self.addToSubGroup(objects, name) - - #Create master set to group all the groups - masterSet = pm.sets(n=self.model.name()+"_sets_grp", em=True) + # Create master set to group all the groups + masterSet = pm.sets(n=self.model.name() + "_sets_grp", em=True) pm.connectAttr(masterSet.message, self.model.rigGroups[groupIdx]) groupIdx += 1 # Creating all groups pm.select(cl=True) for name, objects in self.groups.items(): - s = pm.sets(n=self.model.name()+"_"+name+"_grp") - s.union( objects) + s = pm.sets(n=self.model.name() + "_" + name + "_grp") + s.union(objects) pm.connectAttr(s.message, self.model.rigGroups[groupIdx]) groupIdx += 1 masterSet.add(s) for parentGroup, subgroups in self.subGroups.items(): - pg = pm.PyNode(self.model.name()+"_"+parentGroup+"_grp") + pg = pm.PyNode(self.model.name() + "_" + parentGroup + "_grp") for sg in subgroups: - sub = pm.PyNode(self.model.name()+"_"+sg+"_grp") + sub = pm.PyNode(self.model.name() + "_" + sg + "_grp") if sub in masterSet.members(): masterSet.remove(sub) pg.add(sub) - - # Bind pose --------------------------------------- - print self.groups["controllers"] + # controls_grp = self.groups["controllers"] + # pprint(controls_grp, stream=None, indent=1, width=100) pm.select(self.groups["controllers"]) node = pm.dagPose(save=True, selection=True) pm.connectAttr(node.message, self.model.rigPoses[0]) @@ -340,35 +368,36 @@ def finalize(self): pm.displayInfo("Importing Skin") skin.importSkin(self.options["skin"]) - except: - pm.displayWarning("Skin doesn't exist or is not correct. "+self.options["skin"]+" Skipped!") - + except RuntimeError: + pm.displayWarning( + "Skin doesn't exist or is not correct. " + + self.options["skin"] + " Skipped!") - def addCtl(self, parent, name, m, color, icon, **kwargs): - """ - Create the control and apply the shape, if this is alrealdy stored + def addCtl(self, parent, name, m, color, iconShape, **kwargs): + """Create the control and apply the shape, if this is alrealdy stored in the guide controllers grp. Args: parent (dagNode): The control parent name (str): The control name. m (matrix): The transfromation matrix for the control. - color (int or list of float): The color for the control in idex or RGB. - icon (str): The controls default shape. - kwargs (variant): Other arguments for the icon type variations. + color (int or list of float): The color for the control in index + or RGB. + iconShape (str): The controls default shape. + kwargs (variant): Other arguments for the iconShape type variations Returns: dagNode: The Control. """ - bufferName = name+"_controlBuffer" + bufferName = name + "_controlBuffer" if bufferName in self.guide.controllers.keys(): ctl_ref = self.guide.controllers[bufferName] - ctl = pri.addTransform(parent, name, m) + ctl = primitive.addTransform(parent, name, m) for shape in ctl_ref.getShapes(): ctl.addChild(shape, shape=True, add=True) else: - ctl = ico.create(parent, name, m, color, icon, **kwargs) + ctl = icon.create(parent, name, m, color, iconShape, **kwargs) self.addToGroup(ctl, "controllers") @@ -376,17 +405,14 @@ def addCtl(self, parent, name, m, color, icon, **kwargs): for oShape in ctl.getShapes(): oShape.isHistoricallyInteresting.set(False) - #set controller tag + # set controller tag if versions.current() >= 201650: pm.controller(ctl) - return ctl - def addToGroup(self, objects, names=["hidden"]): - """ - Add the object in a collection for later group creation. + """Add the object in a collection for later group creation. Args: objects (dagNode or list of dagNode): Object to put in the group. @@ -406,12 +432,13 @@ def addToGroup(self, objects, names=["hidden"]): self.groups[name].extend(objects) def addToSubGroup(self, subGroups, parentGroups=["hidden"]): - """ - Add the object in a collection for later SubGroup creation. + """Add the object in a collection for later SubGroup creation. Args: - subGroups (dagNode or list of dagNode): Groups (maya set) to add as a Subgroup. - namparentGroupses (str or list of str): Names of the parent groups to create. + subGroups (dagNode or list of dagNode): Groups (maya set) to add + as a Subgroup. + namparentGroupses (str or list of str): Names of the parent groups + to create. """ @@ -426,10 +453,8 @@ def addToSubGroup(self, subGroups, parentGroups=["hidden"]): self.subGroups[pg] = [] self.subGroups[pg].extend(subGroups) - def getLocalName(self, guideName): - """ - This function return the local name, cutting the Maya fullname + """This function return the local name, cutting the Maya fullname and taking the latest part. ie. "parentA|parentB|arm_C0_root" will return "arm_C0_root" @@ -446,7 +471,6 @@ def getLocalName(self, guideName): localName = guideName.split("|")[-1] return localName - def getComponentName(self, guideName, local=True): """ This function return the component name @@ -469,8 +493,7 @@ def getComponentName(self, guideName, local=True): return comp_name def getRelativeName(self, guideName): - """ - This function return the name of the relative in the guide + """This function return the name of the relative in the guide ie. "arm_C0_root" return "root" @@ -488,10 +511,8 @@ def getRelativeName(self, guideName): relative_name = "_".join(localName.split("_")[2:]) return relative_name - def findRelative(self, guideName): - """ - Return the objects in the rig matching the guide object. + """Return the objects in the rig matching the guide object. Args: guideName (str): Name of the guide object. @@ -512,10 +533,8 @@ def findRelative(self, guideName): return self.global_ctl return self.components[comp_name].getRelation(relative_name) - def findControlRelative(self, guideName): - """ - Return the control objects in the rig matching the guide object. + """Return the control objects in the rig matching the guide object. Args: guideName (str): Name of the guide object. @@ -539,8 +558,7 @@ def findControlRelative(self, guideName): # TODO: update findComponent and other find methods with new funtions like # comp_name and others. Better composability def findComponent(self, guideName): - """ - Return the component from a guide Name. + """Return the component from a guide Name. Args: guideName (str): Name of the guide object. @@ -561,8 +579,7 @@ def findComponent(self, guideName): return self.components[comp_name] def findUIHost(self, guideName): - """ - Return the UI host of the compoent + """Return the UI host of the compoent Args: guideName (str): Name of the guide object. @@ -582,6 +599,7 @@ def findUIHost(self, guideName): return self.ui if self.components[comp_name].ui is None: - self.components[comp_name].ui = pm.UIHost(self.components[comp_name].root) + self.components[comp_name].ui = pm.UIHost( + self.components[comp_name].root) return self.components[comp_name].ui diff --git a/scripts/mgear/maya/shifter/component/__init__.py b/scripts/mgear/maya/shifter/component/__init__.py index d58aacb..b47d735 100644 --- a/scripts/mgear/maya/shifter/component/__init__.py +++ b/scripts/mgear/maya/shifter/component/__init__.py @@ -1,28 +1,3 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 """ Shifter component rig class. @@ -33,32 +8,29 @@ ############################################# # pymel import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes from pymel import versions # mgear import mgear -import mgear.maya.primitive as pri -import mgear.maya.vector as vec -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.applyop as aop -import mgear.maya.node as nod -import mgear.maya.icon as ico +from mgear.maya import primitive, vector, transform +from mgear.maya import attribute, applyop, node, icon ############################################# # COMPONENT ############################################# -class MainComponent(object): - """ - Main component class + + +class Main(object): + """Main component class Attributes: rig (Rig): The parent Rig of this component. guide (ComponentGuide): The guide for this component. """ - steps = ["Objects", "Properties", "Operators", "Connect", "Joints", "Finalize"] + steps = ["Objects", "Properties", "Operators", + "Connect", "Joints", "Finalize"] local_params = ("tx", "ty", "tz", "rx", "ry", "rz", "ro", "sx", "sy", "sz") t_params = ("tx", "ty", "tz") @@ -66,9 +38,9 @@ class MainComponent(object): s_params = ("sx", "sy", "sz") tr_params = ("tx", "ty", "tz", "rx", "ry", "rz", "ro") rs_params = ("rx", "ry", "rz", "ro", "sx", "sy", "sz") - x_axis = dt.Vector(1,0,0) - y_axis = dt.Vector(0,1,0) - z_axis = dt.Vector(0,0,1) + x_axis = datatypes.Vector(1, 0, 0) + y_axis = datatypes.Vector(0, 1, 0) + z_axis = datatypes.Vector(0, 0, 1) def __init__(self, rig, guide): @@ -103,22 +75,23 @@ def __init__(self, rig, guide): # -------------------------------------------------- # Builder init - self.groups = {} ## Dictionary of groups - self.subGroups = {} ## Dictionary of subGroups - self.controlers = [] ## List of all the controllers of the component + self.groups = {} # Dictionary of groups + self.subGroups = {} # Dictionary of subGroups + self.controlers = [] # List of all the controllers of the component # -------------------------------------------------- # Connector init self.connections = {} - self.connections["standard"] = self.connect_standard + self.connections["standard"] = self.connect_standard self.relatives = {} - self.jointRelatives = {} #joint relatives mapping for automatic connection + self.jointRelatives = {} # joint relatives mapping for auto connection self.controlRelatives = {} # -------------------------------------------------- # Joint positions init - # jnt_pos is a list of lists [Joint position object + name + optional flag "parent_jnt_org" or object fullName ] + # jnt_pos is a list of lists [Joint position object + name + optional + # flag "parent_jnt_org" or object fullName ] self.jnt_pos = [] self.jointList = [] @@ -126,15 +99,18 @@ def __init__(self, rig, guide): # -------------------------------------------------- # Step - self.stepMethods = [eval("self.step_0%s"%i) for i in range(len(self.steps))] + self.stepMethods = [eval("self.step_0%s" % i) + for i in range(len(self.steps))] # ===================================================== # BUILDING STEP # ===================================================== def step_00(self): - """ - Step 00. PreScript, initial Hierarchy, create objects and set the connection relation. + """Step 00. + + PreScript, initial Hierarchy, create objects and set the connection + relation. """ self.preScript() self.initialHierarchy() @@ -143,10 +119,10 @@ def step_00(self): self.setRelation() return - def step_01(self): - """ - Step 01. Get the properties host, create parameters and set layout and logic. + """Step 01. + + Get the properties host, create parameters and set layout and logic. """ self.getHost() self.validateProxyChannels() @@ -154,7 +130,6 @@ def step_01(self): self.addAttributes() return - def step_02(self): """ Step 02. Apply all the operators. @@ -162,7 +137,6 @@ def step_02(self): self.addOperators() return - def step_03(self): """ Step 03. Connect the component to the rest of the rig. @@ -173,7 +147,6 @@ def step_03(self): self.postConnect() return - def step_04(self): """ Step 04. Joint structure creation. @@ -181,7 +154,6 @@ def step_04(self): self.jointStructure() return - def step_05(self): """ Step 05. Finalize the component and post Script. @@ -198,37 +170,43 @@ def preScript(self): """ return - def initialHierarchy(self): """ Create the inital structure for the rig. """ # Root - self.root = pri.addTransformFromPos(self.model, self.getName("root"), self.guide.pos["root"]) - self.addToGroup( self.root, names=["componentsRoots"]) - - #infos - att.addAttribute(self.root, "componentType", "string", self.guide.compType) - att.addAttribute(self.root, "componentName", "string", self.guide.compName) - att.addAttribute(self.root, "componentVersion", "string", str(self.guide.version)[1:-1]) - att.addAttribute(self.root, "componentAuthor", "string", self.guide.author) - att.addAttribute(self.root, "componentURL", "string", self.guide.url) - att.addAttribute(self.root, "componentEmail", "string", self.guide.email) + self.root = primitive.addTransformFromPos( + self.model, self.getName("root"), self.guide.pos["root"]) + self.addToGroup(self.root, names=["componentsRoots"]) + + # infos + attribute.addAttribute(self.root, "componentType", + "string", self.guide.compType) + attribute.addAttribute(self.root, "componentName", + "string", self.guide.compName) + attribute.addAttribute(self.root, "componentVersion", + "string", str(self.guide.version)[1:-1]) + attribute.addAttribute(self.root, "componentAuthor", + "string", self.guide.author) + attribute.addAttribute(self.root, "componentURL", + "string", self.guide.url) + attribute.addAttribute(self.root, "componentEmail", + "string", self.guide.email) # joint -------------------------------- if self.options["joint_rig"]: - self.component_jnt_org = pri.addTransform(self.rig.jnt_org, self.getName("jnt_org")) - # The initial assigment of the active jnt and the parent relative jnt is the same, later will be updated base in the user options + self.component_jnt_org = primitive.addTransform( + self.rig.jnt_org, self.getName("jnt_org")) + # The initial assigment of the active jnt and the parent relative + # jnt is the same, later will be updated base in the user options self.active_jnt = self.component_jnt_org self.parent_relative_jnt = self.component_jnt_org return - def addObjects(self): - """ - This method creates the objects of the component. + """This method creates the objects of the component. Note: REIMPLEMENT. This method should be reimplemented in each component. @@ -236,20 +214,22 @@ def addObjects(self): """ return - def addJoint(self, obj, name, newActiveJnt=None, UniScale=True, segComp=0, gearMulMatrix=True): - """ - Add joint as child of the active joint or under driver object. + def addJoint(self, obj, name, newActiveJnt=None, UniScale=True, segComp=0, + gearMulMatrix=True): + """Add joint as child of the active joint or under driver object. Args: obj (dagNode): The input driver object for the joint. name (str): The joint name. - newActiveJnt (bool or dagNode): If a joint is pass, this joint will be the active joint - and parent of the newly created joint. - UniScale (bool): Connects the joint scale with the Z axis for a unifor scalin, if set False - will connect with each axis separated. - segComp (bool): Set True or False the segment compensation in the joint.. - gearMulMatrix (bool): Use the custom gear_multiply matrix node, if False will use - Maya's default mulMatrix node. + newActiveJnt (bool or dagNode): If a joint is pass, this joint will + be the active joint and parent of the newly created joint. + UniScale (bool): Connects the joint scale with the Z axis for a + unifor scalin, if set Falsewill connect with each axis + separated. + segComp (bool): Set True or False the segment compensation in the + joint.. + gearMulMatrix (bool): Use the custom gear_multiply matrix node, if + False will use Maya's default mulMatrix node. Returns: dagNode: The newly created joint. @@ -260,36 +240,44 @@ def addJoint(self, obj, name, newActiveJnt=None, UniScale=True, segComp=0, gearM if newActiveJnt: self.active_jnt = newActiveJnt - jnt = pri.addJoint(self.active_jnt, self.getName(str(name) + "_jnt"), tra.getTransform(obj)) - #All new jnts are the active by default + jnt = primitive.addJoint(self.active_jnt, self.getName( + str(name) + "_jnt"), transform.getTransform(obj)) + # All new jnts are the active by default self.active_jnt = jnt if gearMulMatrix: - mulmat_node = aop.gear_mulmatrix_op(obj + ".worldMatrix", jnt + ".parentInverseMatrix") - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") + mulmat_node = applyop.gear_mulmatrix_op( + obj + ".worldMatrix", jnt + ".parentInverseMatrix") + dm_node = node.createDecomposeMatrixNode( + mulmat_node + ".output") m = mulmat_node.attr('output').get() else: - mulmat_node = nod.createMultMatrixNode(obj + ".worldMatrix", jnt + ".parentInverseMatrix") - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".matrixSum") + mulmat_node = node.createMultMatrixNode( + obj + ".worldMatrix", jnt + ".parentInverseMatrix") + dm_node = node.createDecomposeMatrixNode( + mulmat_node + ".matrixSum") m = mulmat_node.attr('matrixSum').get() - pm.connectAttr(dm_node+".outputTranslate", jnt+".t") - pm.connectAttr(dm_node+".outputRotate", jnt+".r") + pm.connectAttr(dm_node + ".outputTranslate", jnt + ".t") + pm.connectAttr(dm_node + ".outputRotate", jnt + ".r") # TODO: fix squash stretch solver to scale the joint uniform - # the next line cheat the uniform scaling only fo X or Y axis oriented joints + # the next line cheat the uniform scaling only fo X or Y axis + # oriented joints if UniScale: - pm.connectAttr(dm_node+".outputScaleZ", jnt+".sx") - pm.connectAttr(dm_node+".outputScaleZ", jnt+".sy") - pm.connectAttr(dm_node+".outputScaleZ", jnt+".sz") + pm.connectAttr(dm_node + ".outputScaleZ", jnt + ".sx") + pm.connectAttr(dm_node + ".outputScaleZ", jnt + ".sy") + pm.connectAttr(dm_node + ".outputScaleZ", jnt + ".sz") else: - pm.connectAttr(dm_node+".outputScale", jnt+".s") - pm.connectAttr(dm_node+".outputShear", jnt+".shear") + pm.connectAttr(dm_node + ".outputScale", jnt + ".s") + pm.connectAttr(dm_node + ".outputShear", jnt + ".shear") - # Segment scale compensate Off to avoid issues with the global scale + # Segment scale compensate Off to avoid issues with the global + # scale jnt.setAttr("segmentScaleCompensate", segComp) jnt.setAttr("jointOrient", 0, 0, 0) - # setting the joint orient compensation in order to have clean rotation channels + # setting the joint orient compensation in order to have clean + # rotation channels jnt.attr("jointOrientX").set(jnt.attr("rx").get()) jnt.attr("jointOrientY").set(jnt.attr("ry").get()) jnt.attr("jointOrientZ").set(jnt.attr("rz").get()) @@ -297,19 +285,21 @@ def addJoint(self, obj, name, newActiveJnt=None, UniScale=True, segComp=0, gearM im = m.inverse() if gearMulMatrix: - aop.gear_mulmatrix_op(mulmat_node.attr('output'), im, jnt,'r') + applyop.gear_mulmatrix_op(mulmat_node.attr('output'), + im, jnt, 'r') else: - nod.createMultMatrixNode(mulmat_node.attr('matrixSum'), im, jnt,'r') + node.createMultMatrixNode( + mulmat_node.attr('matrixSum'), im, jnt, 'r') else: - jnt = pri.addJoint(obj, self.getName(str(name)+"_jnt"), tra.getTransform(obj)) + jnt = primitive.addJoint(obj, self.getName( + str(name) + "_jnt"), transform.getTransform(obj)) pm.connectAttr(self.rig.jntVis_att, jnt.attr("visibility")) self.addToGroup(jnt, "deformers") return jnt - def getNormalFromPos(self, pos): """ Get the normal vector from 3 positions. @@ -322,10 +312,10 @@ def getNormalFromPos(self, pos): """ if len(pos) < 3: - mgear.log("%s : Not enough references to define normal"%self.fullName, mgear.sev_error) - - return vec.getPlaneNormal(pos[0], pos[1], pos[2]) + mgear.log("%s : Not enough references to define normal" % + self.fullName, mgear.sev_error) + return vector.getPlaneNormal(pos[0], pos[1], pos[2]) def getBiNormalFromPos(self, pos): """ @@ -339,12 +329,20 @@ def getBiNormalFromPos(self, pos): """ if len(pos) < 3: - mgear.log("%s : Not enough references to define binormal"%self.fullName, mgear.sev_error) + mgear.log("%s : Not enough references to define binormal" % + self.fullName, mgear.sev_error) - return vec.getPlaneBiNormal(pos[0], pos[1], pos[2]) + return vector.getPlaneBiNormal(pos[0], pos[1], pos[2]) - - def addCtl(self, parent, name, m, color, icon, tp=None, **kwargs): + def addCtl(self, + parent, + name, + m, + color, + iconShape, + tp=None, + lp=True, + **kwargs): """ Create the control and apply the shape, if this is alrealdy stored in the guide controllers grp. @@ -353,101 +351,117 @@ def addCtl(self, parent, name, m, color, icon, tp=None, **kwargs): parent (dagNode): The control parent name (str): The control name. m (matrix): The transfromation matrix for the control. - color (int or list of float): The color for the control in idex or RGB. - icon (str): The controls default shape. - tp (dagNode): Tag Parent Control object to connect as a parent controller - kwargs (variant): Other arguments for the icon type variations. + color (int or list of float): The color for the control in index or + RGB. + iconShape (str): The controls default shape. + tp (dagNode): Tag Parent Control object to connect as a parent + controller + lp (bool): Lock the parent controller channels + kwargs (variant): Other arguments for the iconShape type variations Returns: dagNode: The Control. """ fullName = self.getName(name) - bufferName = fullName+"_controlBuffer" + bufferName = fullName + "_controlBuffer" if bufferName in self.rig.guide.controllers.keys(): ctl_ref = self.rig.guide.controllers[bufferName] - ctl = pri.addTransform(parent, fullName, m) + ctl = primitive.addTransform(parent, fullName, m) for shape in ctl_ref.getShapes(): ctl.addChild(shape, shape=True, add=True) - pm.rename(shape, fullName+"Shape") - ico.setcolor(ctl, color) + pm.rename(shape, fullName + "Shape") + icon.setcolor(ctl, color) else: - ctl = ico.create(parent, fullName, m, color, icon, **kwargs) + ctl = icon.create(parent, fullName, m, color, iconShape, **kwargs) # create the attributes to handlde mirror and symetrical pose - att.addAttribute(ctl, "invTx", "bool", 0, keyable=False, niceName="Invert Mirror TX") - att.addAttribute(ctl, "invTy", "bool", 0, keyable=False, niceName="Invert Mirror TY") - att.addAttribute(ctl, "invTz", "bool", 0, keyable=False, niceName="Invert Mirror TZ") - att.addAttribute(ctl, "invRx", "bool", 0, keyable=False, niceName="Invert Mirror RX") - att.addAttribute(ctl, "invRy", "bool", 0, keyable=False, niceName="Invert Mirror RY") - att.addAttribute(ctl, "invRz", "bool", 0, keyable=False, niceName="Invert Mirror RZ") - att.addAttribute(ctl, "invSx", "bool", 0, keyable=False, niceName="Invert Mirror SX") - att.addAttribute(ctl, "invSy", "bool", 0, keyable=False, niceName="Invert Mirror SY") - att.addAttribute(ctl, "invSz", "bool", 0, keyable=False, niceName="Invert Mirror SZ") + attribute.addAttribute(ctl, "invTx", "bool", 0, keyable=False, + niceName="Invert Mirror TX") + attribute.addAttribute(ctl, "invTy", "bool", 0, keyable=False, + niceName="Invert Mirror TY") + attribute.addAttribute(ctl, "invTz", "bool", 0, keyable=False, + niceName="Invert Mirror TZ") + attribute.addAttribute(ctl, "invRx", "bool", 0, keyable=False, + niceName="Invert Mirror RX") + attribute.addAttribute(ctl, "invRy", "bool", 0, keyable=False, + niceName="Invert Mirror RY") + attribute.addAttribute(ctl, "invRz", "bool", 0, keyable=False, + niceName="Invert Mirror RZ") + attribute.addAttribute(ctl, "invSx", "bool", 0, keyable=False, + niceName="Invert Mirror SX") + attribute.addAttribute(ctl, "invSy", "bool", 0, keyable=False, + niceName="Invert Mirror SY") + attribute.addAttribute(ctl, "invSz", "bool", 0, keyable=False, + niceName="Invert Mirror SZ") if self.settings["ctlGrp"]: ctlGrp = self.settings["ctlGrp"] - self.addToGroup(ctl, ctlGrp, "controllers") + self.addToGroup(ctl, ctlGrp, "controllers") else: ctlGrp = "controllers" self.addToGroup(ctl, ctlGrp) - #lock the control parent attributes if is not a control - if parent not in self.groups[ctlGrp]: + # lock the control parent attributes if is not a control + if parent not in self.groups[ctlGrp] and lp: self.transform2Lock.append(parent) # Set the control shapes isHistoricallyInteresting for oShape in ctl.getShapes(): oShape.isHistoricallyInteresting.set(False) - #set controller tag + # set controller tag if versions.current() >= 201650: try: - oldTag = pm.PyNode( ctl.name()+"_tag" ) + oldTag = pm.PyNode(ctl.name() + "_tag") if not oldTag.controllerObject.connections(): - # NOTE: The next line is comment out. Because this will happend alot since maya does't clean - # controller tags after deleting the control Object of the tag. This have been log to Autodesk. + # NOTE: The next line is comment out. Because this will + # happend alot since maya does't clean + # controller tags after deleting the control Object of the + # tag. This have been log to Autodesk. # If orphane tags are found, it will be clean in silence. - # pm.displayWarning("Orphane Tag: %s will be delete and created new for: %s"%(oldTag.name(), ctl.name())) + # pm.displayWarning("Orphane Tag: %s will be delete and + # created new for: %s"%(oldTag.name(), ctl.name())) pm.delete(oldTag) - except: + except TypeError: pass pm.controller(ctl) - if tp: ctt = pm.PyNode(pm.controller(ctl, q=True)[0]) tpTagNode = pm.PyNode(pm.controller(tp, q=True)[0]) tpTagNode.cycleWalkSibling.set(True) pm.connectAttr(tpTagNode.prepopulate, ctt.prepopulate, f=True) # The connectAttr to the children attribute is giving error - # i.e: pm.connectAttr(ctt.attr("parent"), tpTagNode.attr("children"), na=True) + # i.e: pm.connectAttr(ctt.attr("parent"), + # tpTagNode.attr("children"), na=True) # if using the next available option tag - # I was expecting to use ctt.setParent(tp) but doest't work as expected. - # After reading the documentation this method looks prety useless. + # I was expecting to use ctt.setParent(tp) but doest't work as + # expected. + # After reading the documentation this method looks prety + # useless. # Looks like is boolean and works based on selection :( # this is a dirty loop workaround. Naaah! i = 0 while True: try: - pm.connectAttr(ctt.parent, tpTagNode.attr("children[%s]"%str(i))) + pm.connectAttr(ctt.parent, tpTagNode.attr( + "children[%s]" % str(i))) break - except: - i+=1 - if i >100: - pm.displayWarning("The controller tag for %s has reached the limit index of 100 children"%ctl.name()) + except RuntimeError: + i += 1 + if i > 100: + pm.displayWarning( + "The controller tag for %s has reached the " + "limit index of 100 children" % ctl.name()) break - - return ctl - def addToGroup(self, objects, names=["hidden"], parentGrp=None): - """ - Add the object in a collection for later group creation. + """Add the object in a collection for later group creation. Args: objects (dagNode or list of dagNode): Object to put in the group. @@ -472,33 +486,29 @@ def addToGroup(self, objects, names=["hidden"], parentGrp=None): if name not in self.subGroups[parentGrp]: self.subGroups[parentGrp].append(name) - - # ===================================================== # PROPERTY # ===================================================== def getHost(self): - """ - Get the host for the properties. - """ + """Get the host for the properties""" self.uihost = self.rig.findRelative(self.settings["ui_host"]) def validateProxyChannels(self): - """ - Check the Maya version to determinate if we can use proxy channels - and check user setting on the guide. + """Check the Maya version to determinate if we can use proxy channels + + Also check user setting on the guide. This feature is available from 2016.5 + """ - if versions.current() >= 201650 and self.options["proxyChannels"]: + if versions.current() >= 201650 and self.options["proxyChannels"]: self.validProxyChannels = True else: self.validProxyChannels = False def addAttributes(self): - """ - This method add the attributes of the component. + """This method add the attributes of the component. Note: REIMPLEMENT. This method should be reimplemented in each component. @@ -506,110 +516,139 @@ def addAttributes(self): """ return - def addFullNameParam(self): - """ - Add a parameter to the animation property. + """Add a parameter to the animation property. + Note that animatable and keyable are True per default. """ # attr = self.addAnimEnumParam("", "", 0, ["---------------"] ) if self.options["classicChannelNames"]: - attr = self.addAnimEnumParam(self.getName(), "__________", 0, [self.getName()] ) + attr = self.addAnimEnumParam( + self.getName(), "__________", 0, [self.getName()]) else: - attr = self.addAnimEnumParam(self.guide.compName, "__________", 0, [self.guide.compName] ) + attr = self.addAnimEnumParam( + self.guide.compName, "__________", 0, [self.guide.compName]) return attr + def addAnimParam(self, longName, niceName, attType, value, minValue=None, + maxValue=None, keyable=True, readable=True, storable=True, + writable=True): + """Add a parameter to the animation property. - def addAnimParam(self, longName, niceName, attType, value, minValue=None, maxValue=None, keyable=True, readable=True, storable=True, writable=True): - """ - Add a parameter to the animation property. Note that animatable and keyable are True per default. Args: longName (str): The attribute name. niceName (str): The attribute nice name. (optional) - attType (str): The Attribute Type. Exp: 'string', 'bool', 'long', etc.. + attType (str): The Attribute Type.Exp:'string', 'bool', 'long', etc value (float or int): The default value. minValue (float or int): minimum value. (optional) maxValue (float or int): maximum value. (optional) keyable (bool): Set if the attribute is keyable or not. (optional) - readable (bool): Set if the attribute is readable or not. (optional) - storable (bool): Set if the attribute is storable or not. (optional) - writable (bool): Set if the attribute is writable or not. (optional) + readable (bool): Set if the attribute is readable or not.(optional) + storable (bool): Set if the attribute is storable or not.(optional) + writable (bool): Set if the attribute is writable or not.(optional) Returns: str: The long name of the new attribute """ if self.options["classicChannelNames"]: - attr = att.addAttribute(self.uihost, self.getName(longName), attType, value, niceName, None, minValue=minValue, maxValue=maxValue, keyable=keyable, readable=readable, storable=storable, writable=writable) + attr = attribute.addAttribute(self.uihost, self.getName(longName), + attType, value, niceName, None, + minValue=minValue, maxValue=maxValue, + keyable=keyable, readable=readable, + storable=storable, writable=writable) else: if self.uihost.hasAttr(self.getCompName(longName)): attr = self.uihost.attr(self.getCompName(longName)) else: - attr = att.addAttribute(self.uihost, self.getCompName(longName), attType, value, niceName, None, minValue=minValue, maxValue=maxValue, keyable=keyable, readable=readable, storable=storable, writable=writable) + attr = attribute.addAttribute(self.uihost, + self.getCompName(longName), + attType, value, niceName, None, + minValue=minValue, + maxValue=maxValue, + keyable=keyable, + readable=readable, + storable=storable, + writable=writable) return attr - ## Add a parameter to the animation property.\n + # Add a parameter to the animation property.\n # Note that animatable and keyable are True per default. # @param self - def addAnimEnumParam(self, longName, niceName, value, enum=[], keyable=True, readable=True, storable=True, writable=True): - """ - Add a parameter to the animation property. + def addAnimEnumParam(self, longName, niceName, value, enum=[], + keyable=True, readable=True, storable=True, + writable=True): + """Add a parameter to the animation property. + Note that animatable and keyable are True per default. Args: longName (str): The attribute name. niceName (str): The attribute nice name. (optional) - attType (str): The Attribute Type. Exp: 'string', 'bool', 'long', etc.. + attType (str): The Attribute Type. Exp: 'string', 'bool', etc.. value (float or int): The default value. enum (list of str): The list of elements in the enumerate control keyable (bool): Set if the attribute is keyable or not. (optional) - readable (bool): Set if the attribute is readable or not. (optional) - storable (bool): Set if the attribute is storable or not. (optional) - writable (bool): Set if the attribute is writable or not. (optional) + readable (bool): Set if the attribute is readable or not.(optional) + storable (bool): Set if the attribute is storable or not.(optional) + writable (bool): Set if the attribute is writable or not.(optional) Returns: str: The long name of the new attribute """ if self.options["classicChannelNames"]: - attr = att.addEnumAttribute(self.uihost, self.getName(longName), value, enum, niceName, None, keyable=keyable, readable=readable, storable=storable, writable=writable) + attr = attribute.addEnumAttribute( + self.uihost, self.getName(longName), value, enum, niceName, + None, keyable=keyable, readable=readable, storable=storable, + writable=writable) else: if self.uihost.hasAttr(self.getCompName(longName)): attr = self.uihost.attr(self.getCompName(longName)) else: - attr = att.addEnumAttribute(self.uihost, self.getCompName(longName), value, enum, niceName, None, keyable=keyable, readable=readable, storable=storable, writable=writable) + attr = attribute.addEnumAttribute(self.uihost, + self.getCompName(longName), + value, enum, niceName, None, + keyable=keyable, + readable=readable, + storable=storable, + writable=writable) return attr - - def addSetupParam(self, longName, niceName, attType, value, minValue=None, maxValue=None, keyable=True, readable=True, storable=True, writable=True): - """ - Add a parameter to the setup property. + def addSetupParam(self, longName, niceName, attType, value, minValue=None, + maxValue=None, keyable=True, readable=True, + storable=True, writable=True): + """Add a parameter to the setup property. Note that animatable and keyable are False per default. Args: longName (str): The attribute name. niceName (str): The attribute nice name. (optional) - attType (str): The Attribute Type. Exp: 'string', 'bool', 'long', etc.. + attType (str): The Attribute Type. Exp: 'string', 'bool', etc.. value (float or int): The default value. minValue (float or int): minimum value. (optional) maxValue (float or int): maximum value. (optional) - keyable (bool): Set if the attribute is keyable or not. (optional) - readable (bool): Set if the attribute is readable or not. (optional) - storable (bool): Set if the attribute is storable or not. (optional) - writable (bool): Set if the attribute is writable or not. (optional) + keyable (bool): Set if the attribute is keyable or not.(optional) + readable (bool): Set if the attribute is readable or not.(optional) + storable (bool): Set if the attribute is storable or not.(optional) + writable (bool): Set if the attribute is writable or not.(optional) Returns: str: The long name of the new attribute """ - attr = att.addAttribute(self.root, longName, attType, value, niceName, None, minValue=minValue, maxValue=maxValue, keyable=keyable, readable=readable, storable=storable, writable=writable) + attr = attribute.addAttribute(self.root, longName, attType, value, + niceName, None, minValue=minValue, + maxValue=maxValue, keyable=keyable, + readable=readable, storable=storable, + writable=writable) return attr @@ -617,8 +656,7 @@ def addSetupParam(self, longName, niceName, attType, value, minValue=None, maxVa # OPERATORS # ===================================================== def addOperators(self): - """ - This method add the operators of the component. + """This method add the operators of the component. Note: REIMPLEMENT. This method should be reimplemented in each component. @@ -631,8 +669,7 @@ def addOperators(self): # ===================================================== def addConnection(self): - """ - Add more connection definition to the set. + """Add more connection definition to the set. Note: REIMPLEMENT. This method should be reimplemented in each component. @@ -641,10 +678,8 @@ def addConnection(self): """ return - def setRelation(self): - """ - Set the relation beetween object from guide to rig. + """Set the relation beetween object from guide to rig. Note: REIMPLEMENT. This method should be reimplemented in each component. @@ -654,10 +689,8 @@ def setRelation(self): self.relatives[name] = self.root self.controlRelatives[name] = self.global_ctl - def getRelation(self, name): - """ - Return the relational object from guide to rig. + """Return the relational object from guide to rig. Args: name (str): Local name of the guide object. @@ -667,14 +700,14 @@ def getRelation(self, name): """ if name not in self.relatives.keys(): - mgear.log("Can't find reference for object : " + self.fullName + "." + name, mgear.sev_error) + mgear.log("Can't find reference for object : " + + self.fullName + "." + name, mgear.sev_error) return False return self.relatives[name] def getControlRelation(self, name): - """ - Return the relational object from guide to rig. + """Return the relational object from guide to rig. Args: name (str): Local name of the guide object. @@ -684,42 +717,52 @@ def getControlRelation(self, name): """ if name not in self.controlRelatives.keys(): - mgear.log("Control tag relative: Can't find reference for object : " + self.fullName + "." + name, mgear.sev_error) + mgear.log("Control tag relative: Can't find reference for " + " object : " + self.fullName + "." + name, + mgear.sev_error) return False return self.controlRelatives[name] def initControlTag(self): """Initialice the control tag parent. + The controllers tag are a new feature from Maya 2016.5 and up. Helps to stablish realtions with a custom walkpick. - Also tells maya how to evaluate the control properly on parallel evaluation + Also tells maya how to evaluate the control properly on parallel + evaluation + """ self.parentCtlTag = None if versions.current() >= 201650: parent_name = "none" if self.guide.parentComponent is not None: - parent_name = self.guide.parentComponent.getName(self.guide.parentLocalName) + parent_name = self.guide.parentComponent.getName( + self.guide.parentLocalName) self.parentCtlTag = self.rig.findControlRelative(parent_name) - def initConnector(self): - """ - Initialize the connections beetween the component and his parent component. + """Initialize the connections + + Initialize the connections beetween the component and his parent + component. + """ parent_name = "none" if self.guide.parentComponent is not None: - parent_name = self.guide.parentComponent.getName(self.guide.parentLocalName) + parent_name = self.guide.parentComponent.getName( + self.guide.parentLocalName) self.parent = self.rig.findRelative(parent_name) self.parent_comp = self.rig.findComponent(parent_name) - def connect(self): - """ - Connect the component to the rest of the rig using the defined connection. - """ + """Connect the component + Connect the component to the rest of the rig using the defined + connection. + + """ if self.settings["connector"] not in self.connections.keys(): mgear.log("Unable to connect object", mgear.sev_error) @@ -729,17 +772,19 @@ def connect(self): return True - def connect_standard(self): - """ + """Standard Connection + Standard connection definition. This is a simple parenting of the root. + """ self.parent.addChild(self.root) - def connect_standardWithIkRef(self): - """ + """Standard IK Connection + Standard connection definition with ik and upv references. + """ self.parent.addChild(self.root) @@ -747,11 +792,11 @@ def connect_standardWithIkRef(self): self.connectRef(self.settings["ikrefarray"], self.ik_cns) self.connectRef(self.settings["upvrefarray"], self.upv_cns, True) - - def connect_orientCns(self): - """ + """Connection with ori cns + Connection definition using orientation constraint. + """ self.parent.addChild(self.root) @@ -770,22 +815,21 @@ def connect_orientCns(self): ref.append(self.ik_cns) cns_node = pm.orientConstraint(*ref, maintainOffset=True) - cns_attr = pm.orientConstraint(cns_node, query=True, weightAliasList=True) + cns_attr = pm.orientConstraint( + cns_node, query=True, weightAliasList=True) for i, attr in enumerate(cns_attr): pm.setAttr(attr, 1.0) node_name = pm.createNode("condition") - pm.connectAttr(self.ikref_att, node_name+".firstTerm") - pm.setAttr(node_name+".secondTerm", i) - pm.setAttr(node_name+".operation", 0) - pm.setAttr(node_name+".colorIfTrueR", 1) - pm.setAttr(node_name+".colorIfFalseR", 0) - pm.connectAttr(node_name+".outColorR", attr) + pm.connectAttr(self.ikref_att, node_name + ".firstTerm") + pm.setAttr(node_name + ".secondTerm", i) + pm.setAttr(node_name + ".operation", 0) + pm.setAttr(node_name + ".colorIfTrueR", 1) + pm.setAttr(node_name + ".colorIfFalseR", 0) + pm.connectAttr(node_name + ".outColorR", attr) def connect_standardWithSimpleIkRef(self): - """ - Standard connection definition with simple IK reference. - """ + """Standard connection definition with simple IK reference.""" self.parent.addChild(self.root) @@ -812,7 +856,8 @@ def connect_averageParentCns(self): ref.append(self.ik_cns) cns_node = pm.parentConstraint(*ref, maintainOffset=True) - cns_attr = pm.parentConstraint(cns_node, query=True, weightAliasList=True) + cns_attr = pm.parentConstraint( + cns_node, query=True, weightAliasList=True) for i, attr in enumerate(cns_attr): pm.setAttr(attr, 1.0) @@ -839,7 +884,8 @@ def connectRef(self, refArray, cns_obj, upVAttr=None): ref.append(cns_obj) cns_node = pm.parentConstraint(*ref, maintainOffset=True) - cns_attr = pm.parentConstraint(cns_node, query=True, weightAliasList=True) + cns_attr = pm.parentConstraint( + cns_node, query=True, weightAliasList=True) # check if the ref Array is for IK or Up vector if upVAttr: oAttr = self.upvref_att @@ -848,16 +894,16 @@ def connectRef(self, refArray, cns_obj, upVAttr=None): for i, attr in enumerate(cns_attr): node_name = pm.createNode("condition") - pm.connectAttr(oAttr, node_name+".firstTerm") - pm.setAttr(node_name+".secondTerm", i) - pm.setAttr(node_name+".operation", 0) - pm.setAttr(node_name+".colorIfTrueR", 1) - pm.setAttr(node_name+".colorIfFalseR", 0) - pm.connectAttr(node_name+".outColorR", attr) - - def connectRef2(self, refArray, cns_obj, in_attr, init_ref=False, skipTranslate = False ): - """ - Connect the cns_obj to a multiple object using parentConstraint. + pm.connectAttr(oAttr, node_name + ".firstTerm") + pm.setAttr(node_name + ".secondTerm", i) + pm.setAttr(node_name + ".operation", 0) + pm.setAttr(node_name + ".colorIfTrueR", 1) + pm.setAttr(node_name + ".colorIfFalseR", 0) + pm.connectAttr(node_name + ".outColorR", attr) + + def connectRef2(self, refArray, cns_obj, in_attr, init_ref=False, + skipTranslate=False): + """Connect the cns_obj to a multiple object using parentConstraint. Args: refArray (string): List of driver objects divided by ",". @@ -865,8 +911,8 @@ def connectRef2(self, refArray, cns_obj, in_attr, init_ref=False, skipTranslate upVAttr (bool): Set if the ref Array is for IK or Up vector init_ref (list of dagNode): Set the initial default ref connections skipTranslate (bool): if True will skip the translation connections - """ + """ if refArray: ref_names = refArray.split(",") if len(ref_names) == 1: @@ -875,31 +921,37 @@ def connectRef2(self, refArray, cns_obj, in_attr, init_ref=False, skipTranslate else: ref = [] for ref_name in ref_names: - if self.rig.findRelative(ref_name) == self.rig.findRelative("return the global ctl"): - pass - else: + rrn = self.rig.findRelative(ref_name) + rgn = self.rig.findRelative("return the global ctl") + if rrn != rgn: ref.append(self.rig.findRelative(ref_name)) if init_ref: ref = init_ref + ref ref.append(cns_obj) if skipTranslate: - cns_node = pm.parentConstraint(*ref, maintainOffset=True, skipTranslate=["x","y","z"]) + cns_node = pm.parentConstraint( + *ref, + maintainOffset=True, + skipTranslate=["x", "y", "z"]) else: cns_node = pm.parentConstraint(*ref, maintainOffset=True) - cns_attr = pm.parentConstraint(cns_node, query=True, weightAliasList=True) + cns_attr = pm.parentConstraint( + cns_node, query=True, weightAliasList=True) for i, attr in enumerate(cns_attr): node_name = pm.createNode("condition") - pm.connectAttr(in_attr, node_name+".firstTerm") - pm.setAttr(node_name+".secondTerm", i) - pm.setAttr(node_name+".operation", 0) - pm.setAttr(node_name+".colorIfTrueR", 1) - pm.setAttr(node_name+".colorIfFalseR", 0) - pm.connectAttr(node_name+".outColorR", attr) + pm.connectAttr(in_attr, node_name + ".firstTerm") + pm.setAttr(node_name + ".secondTerm", i) + pm.setAttr(node_name + ".operation", 0) + pm.setAttr(node_name + ".colorIfTrueR", 1) + pm.setAttr(node_name + ".colorIfFalseR", 0) + pm.connectAttr(node_name + ".outColorR", attr) def connect_standardWithRotRef(self, refArray, cns_obj): - """ - Connect the cns_obj to a multiple object using parentConstraint, but skipping translation connection. + """Connect the cns_obj to a multiple object + + Connect the cns_obj to a multiple object using parentConstraint, but + skipping translation connection. Args: refArray (list of dagNode): List of driver objects @@ -914,21 +966,21 @@ def connect_standardWithRotRef(self, refArray, cns_obj): ref.append(self.rig.findRelative(ref_name)) ref.append(cns_obj) - cns_node = pm.parentConstraint(*ref, maintainOffset=True, skipTranslate=["x","y","z"]) - cns_attr = pm.parentConstraint(cns_node, query=True, weightAliasList=True) + cns_node = pm.parentConstraint( + *ref, maintainOffset=True, skipTranslate=["x", "y", "z"]) + cns_attr = pm.parentConstraint( + cns_node, query=True, weightAliasList=True) for i, attr in enumerate(cns_attr): node_name = pm.createNode("condition") - pm.connectAttr(self.ref_att, node_name+".firstTerm") - pm.setAttr(node_name+".secondTerm", i) - pm.setAttr(node_name+".operation", 0) - pm.setAttr(node_name+".colorIfTrueR", 1) - pm.setAttr(node_name+".colorIfFalseR", 0) - pm.connectAttr(node_name+".outColorR", attr) - + pm.connectAttr(self.ref_att, node_name + ".firstTerm") + pm.setAttr(node_name + ".secondTerm", i) + pm.setAttr(node_name + ".operation", 0) + pm.setAttr(node_name + ".colorIfTrueR", 1) + pm.setAttr(node_name + ".colorIfFalseR", 0) + pm.connectAttr(node_name + ".outColorR", attr) def postConnect(self): - """ - Post connection actions. + """Post connection actions. Note: REIMPLEMENT. This method should be reimplemented in each component. @@ -936,82 +988,110 @@ def postConnect(self): """ return - # ===================================================== # JOINTS STRUCTURE # ===================================================== def jointStructure(self): - """ - Handle the building of the joint structure, when we select jnt_org option. + """Build the Joint structure + + Handle the building of the joint structure, when we select jnt_org + option. """ - #get parent component joint + # get parent component joint if self.settings["useIndex"]: try: - self.active_jnt = self.parent_comp.jointList[self.settings["parentJointIndex"]] - except: - pm.displayWarning("The parent component for: %s don't have any joint with the index: %s."%(self.fullName, str(self.settings["parentJointIndex"]))) + self.active_jnt = self.parent_comp.jointList[ + self.settings["parentJointIndex"]] + except Exception: + pm.displayWarning( + "The parent component for: %s don't have " + "any joint with the index: %s." % + (self.fullName, str(self.settings["parentJointIndex"]))) else: parent_name = "none" if self.guide.parentComponent is not None: - parent_name = self.guide.parentComponent.getName(self.guide.parentLocalName) + parent_name = self.guide.parentComponent.getName( + self.guide.parentLocalName) relative_name = self.rig.getRelativeName(parent_name) oParent_comp = self.parent_comp while oParent_comp: try: - self.active_jnt = oParent_comp.jointList[oParent_comp.jointRelatives[relative_name]] - # when we search in the parent component for a active jnt we also store it for later retrive + self.active_jnt = oParent_comp.jointList[ + oParent_comp.jointRelatives[relative_name]] + # when we search in the parent component for a active jnt + # we also store it for later retrive self.parent_relative_jnt = self.active_jnt break - except: + except Exception: if oParent_comp.parent_comp: - parent_name = oParent_comp.guide.parentComponent.getName(oParent_comp.guide.parentLocalName) - relative_name = oParent_comp.rig.getRelativeName(parent_name) + pgpc = oParent_comp.guide.parentComponent + parent_name = pgpc.getName( + oParent_comp.guide.parentLocalName) + relative_name = oParent_comp.rig.getRelativeName( + parent_name) else: - pm.displayInfo("The parent components for: %s don't have joint List in any of them use the root off guide."%self.fullName) + pm.displayInfo( + "The parent components for: %s don't have joint " + "List in any of them use the root off guide." % + self.fullName) oParent_comp = oParent_comp.parent_comp # Joint creation for jpo in self.jnt_pos: - if len(jpo)>=3 and self.options["joint_rig"]: + if len(jpo) >= 3 and self.options["joint_rig"]: if jpo[2] == "component_jnt_org": newActiveJnt = self.component_jnt_org elif jpo[2] == "parent_relative_jnt": - # this option force the active jnt always to the parent relative jnt. - # if None the active jnt will be updated to the latest in each jnt creation + # this option force the active jnt always to the parent + # relative jnt. + # If None the active jnt will be updated to the latest in + # each jnt creation newActiveJnt = self.parent_relative_jnt else: try: - # here jpo[2] is also the string name of the jnt inside the component. IE: "root" - newActiveJnt = self.jointList[self.jointRelatives[jpo[2]]] + # here jpo[2] is also the string name of the jnt inside + # the component. IE: "root" + newActiveJnt = self.jointList[ + self.jointRelatives[jpo[2]]] - except: + except Exception: if jpo[2]: - pm.displayWarning( "Joint Structure creation: The object %s can't be found. Joint parent is NONE for %s, from %s"%(jpo[2], jpo[0], self.fullName)) + pm.displayWarning( + "Joint Structure creation: " + "The object %s can't be found. Joint parent is" + " NONE for %s, from %s" % + (jpo[2], jpo[0], self.fullName)) newActiveJnt = None else: newActiveJnt = None # Handle the uniform scale - if len(jpo)==4 and self.options["joint_rig"]: + if len(jpo) == 4 and self.options["joint_rig"]: uniScale = jpo[3] else: uniScale = True - self.jointList.append(self.addJoint(jpo[0], jpo[1], newActiveJnt, uniScale)) + # handle the matrix node connection + if len(jpo) == 5 and self.options["joint_rig"]: + gearMulMatrix = jpo[4] + else: + gearMulMatrix = True + self.jointList.append( + self.addJoint(jpo[0], jpo[1], newActiveJnt, uniScale, + gearMulMatrix=gearMulMatrix)) # ===================================================== # FINALIZE # ===================================================== def finalize(self): - """ - Finalize and clean the rig builing. - """ - #locking the attributes for all the ctl parents that are not ctl itself. + """Finalize and clean the rig builing.""" + # locking the attributes for all the ctl parents that are not ctl + # itself. for t in self.transform2Lock: - att.lockAttribute(t) + attribute.lockAttribute(t) return @@ -1027,11 +1107,10 @@ def postScript(self): # ===================================================== def getName(self, name="", side=None): - """ - Return the name for component element + """Return the name for component element Args: - name (str): The name to concatenate to the component name. (Optional) + name (str): The name to concatenate to component name. (Optional) side (str): The side (Optional). Returns: @@ -1044,14 +1123,12 @@ def getName(self, name="", side=None): name = str(name) if name: - return "_".join([self.name, side+str(self.index), name]) + return "_".join([self.name, side + str(self.index), name]) else: return self.fullName - def getCompName(self, name=""): - """ - Return the component type name + """Return the component type name Args: name (str): The name to concatenate to the component name. @@ -1062,23 +1139,22 @@ def getCompName(self, name=""): return "_".join([self.guide.compName, name]) - # ===================================================== # PROPERTIES # ===================================================== def getFullName(self): - """ - return the fullname of the component - """ + """return the fullname of the component""" return self.guide.fullName - def getType(self): - """ - return the type of the component + """return the type of the component """ return self.guide.type fullName = property(getFullName) type = property(getType) + + +# Backwards compatibility alias +MainComponent = Main diff --git a/scripts/mgear/maya/shifter/component/_templates/biped_guide.ma b/scripts/mgear/maya/shifter/component/_templates/biped_guide.ma index cffd70e..a2ae833 100644 --- a/scripts/mgear/maya/shifter/component/_templates/biped_guide.ma +++ b/scripts/mgear/maya/shifter/component/_templates/biped_guide.ma @@ -1,6 +1,6 @@ //Maya ASCII 2016R2 scene //Name: biped_guide.ma -//Last modified: Thu, Aug 31, 2017 04:57:05 PM +//Last modified: Wed, Dec 06, 2017 11:02:00 AM //Codeset: 932 requires maya "2016R2"; requires -nodeType "mgear_curveCns" "mgear_solvers" "2.1.0"; @@ -13,26 +13,26 @@ fileInfo "version" "2016 Extension 2 SP2"; fileInfo "cutIdentifier" "201608220310-1001477-2"; fileInfo "osv" "Microsoft Windows 8 Business Edition, 64-bit (Build 9200)\n"; createNode transform -s -n "persp"; - rename -uid "AA5DAA37-487B-2E80-C8B3-1BB167F82E5C"; + rename -uid "CDB4F2CD-4A87-919A-618B-ABB1AAE486A9"; setAttr ".v" no; - setAttr ".t" -type "double3" 28 21 28 ; - setAttr ".r" -type "double3" -27.938352729602379 44.999999999999972 -5.172681101354183e-014 ; + setAttr ".t" -type "double3" 5.7112380831474399 16.612526471270751 32.284082462110909 ; + setAttr ".r" -type "double3" -15.338352729602919 9.8000000000004253 -4.0345661506751271e-016 ; createNode camera -s -n "perspShape" -p "persp"; - rename -uid "F0E2CBF8-480C-25D4-B535-C5BACC5644FB"; + rename -uid "3EB3D15B-420E-E67B-D514-CBAA09281E5C"; setAttr -k off ".v" no; setAttr ".fl" 34.999999999999993; - setAttr ".coi" 44.82186966202994; + setAttr ".coi" 37.265978198906765; setAttr ".imn" -type "string" "persp"; setAttr ".den" -type "string" "persp_depth"; setAttr ".man" -type "string" "persp_mask"; setAttr ".hc" -type "string" "viewSet -p %camera"; createNode transform -s -n "top"; - rename -uid "78E70ECB-452F-D84E-C645-8989B8D9C501"; + rename -uid "398FD8F7-44A7-0FE7-4D51-8D9604E1A062"; setAttr ".v" no; setAttr ".t" -type "double3" 0 1000.1 0 ; setAttr ".r" -type "double3" -89.999999999999986 0 0 ; createNode camera -s -n "topShape" -p "top"; - rename -uid "F2A66002-4D7C-0A2E-4198-B6AE524185E7"; + rename -uid "F9784B1D-4E51-60E6-EB23-7987F165A200"; setAttr -k off ".v" no; setAttr ".rnd" no; setAttr ".coi" 1000.1; @@ -43,11 +43,11 @@ createNode camera -s -n "topShape" -p "top"; setAttr ".hc" -type "string" "viewSet -t %camera"; setAttr ".o" yes; createNode transform -s -n "front"; - rename -uid "E2D6B82F-46E5-13CD-AA57-9C86C820290E"; + rename -uid "A355D6C2-4104-0BDF-F161-D19C893E8612"; setAttr ".v" no; setAttr ".t" -type "double3" 0 0 1000.1 ; createNode camera -s -n "frontShape" -p "front"; - rename -uid "ABA3AAC9-40A1-BE95-661E-DF9796217341"; + rename -uid "A0BC09A5-45D5-0301-867B-C8B45C4E95DA"; setAttr -k off ".v" no; setAttr ".rnd" no; setAttr ".coi" 1000.1; @@ -58,12 +58,12 @@ createNode camera -s -n "frontShape" -p "front"; setAttr ".hc" -type "string" "viewSet -f %camera"; setAttr ".o" yes; createNode transform -s -n "side"; - rename -uid "B13E901C-4AB7-C1FC-A57E-C9AB842D39BA"; + rename -uid "2E6BFB0C-499E-A3F2-81E2-DE90269F73B0"; setAttr ".v" no; setAttr ".t" -type "double3" 1000.1 0 0 ; setAttr ".r" -type "double3" 0 89.999999999999986 0 ; createNode camera -s -n "sideShape" -p "side"; - rename -uid "1F5AD2EC-46A0-28D4-9FAA-B7904826D5A1"; + rename -uid "4CD47DBF-4312-E04D-FD24-85A8C98136CD"; setAttr -k off ".v" no; setAttr ".rnd" no; setAttr ".coi" 1000.1; @@ -74,24 +74,25 @@ createNode camera -s -n "sideShape" -p "side"; setAttr ".hc" -type "string" "viewSet -s %camera"; setAttr ".o" yes; createNode transform -n "guide"; - rename -uid "BEF42FDD-4BC2-25CA-479B-B38CD7163134"; + rename -uid "B0A48A84-4789-4956-BA49-FF9D491F44C1"; addAttr -ci true -sn "rig_name" -ln "rig_name" -dt "string"; addAttr -ci true -k true -sn "mode" -ln "mode" -min 0 -max 1 -en "Final:WIP" -at "enum"; addAttr -ci true -k true -sn "step" -ln "step" -min 0 -max 6 -en "All Steps:Objects:Properties:Operators:Connect:Joints:Finalize" -at "enum"; - addAttr -ci true -sn "ismodel" -ln "ismodel" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ismodel" -ln "ismodel" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "classicChannelNames" -ln "classicChannelNames" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "proxyChannels" -ln "proxyChannels" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "proxyChannels" -ln "proxyChannels" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "worldCtl" -ln "worldCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "importSkin" -ln "importSkin" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "skin" -ln "skin" -dt "string"; - addAttr -ci true -sn "L_color_fk" -ln "L_color_fk" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "L_color_ik" -ln "L_color_ik" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "R_color_fk" -ln "R_color_fk" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "R_color_ik" -ln "R_color_ik" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "C_color_fk" -ln "C_color_fk" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "C_color_ik" -ln "C_color_ik" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "joint_rig" -ln "joint_rig" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "L_color_fk" -ln "L_color_fk" -dv 6 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "L_color_ik" -ln "L_color_ik" -dv 18 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "R_color_fk" -ln "R_color_fk" -dv 23 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "R_color_ik" -ln "R_color_ik" -dv 14 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "C_color_fk" -ln "C_color_fk" -dv 13 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "C_color_ik" -ln "C_color_ik" -dv 17 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "joint_rig" -ln "joint_rig" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "synoptic" -ln "synoptic" -dt "string"; addAttr -ci true -sn "doPreCustomStep" -ln "doPreCustomStep" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "doPostCustomStep" -ln "doPostCustomStep" -min 0 -max 1 -at "bool"; @@ -104,16 +105,7 @@ createNode transform -n "guide"; addAttr -ci true -sn "gear_version" -ln "gear_version" -dt "string"; setAttr ".rig_name" -type "string" "rig"; setAttr -k on ".step" 6; - setAttr ".ismodel" yes; - setAttr ".proxyChannels" yes; setAttr ".skin" -type "string" ""; - setAttr ".L_color_fk" 6; - setAttr ".L_color_ik" 18; - setAttr ".R_color_fk" 23; - setAttr ".R_color_ik" 14; - setAttr ".C_color_fk" 13; - setAttr ".C_color_ik" 17; - setAttr ".joint_rig" yes; setAttr ".synoptic" -type "string" "biped"; setAttr ".preCustomStep" -type "string" ""; setAttr ".postCustomStep" -type "string" ""; @@ -123,11 +115,11 @@ createNode transform -n "guide"; setAttr ".maya_version" -type "string" "2016.0"; setAttr ".gear_version" -type "string" "2.2.4"; createNode transform -n "controllers_org" -p "guide"; - rename -uid "2D24D3A4-4D93-1A87-CE3B-15B6B5C60FBD"; + rename -uid "CBA0507F-4A78-63DE-6611-2B8361988EE4"; setAttr ".v" no; setAttr ".s" -type "double3" 1.5545667115145092 1.5545667115145092 1.5545667115145092 ; -createNode transform -n "local_C0_root" -p "guide"; - rename -uid "635EDC51-40F4-7325-C53A-66BD38CD308A"; +createNode transform -n "global_C0_root" -p "guide"; + rename -uid "8B72C636-4A8C-8895-9265-82AC319280D3"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -139,22 +131,155 @@ createNode transform -n "local_C0_root" -p "guide"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 8 -at "double"; + addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; + setAttr -k off -cb on ".v"; + setAttr -k off -cb on ".tx"; + setAttr -k off -cb on ".ty"; + setAttr -k off -cb on ".tz"; + setAttr -k off -cb on ".rx"; + setAttr -k off -cb on ".ry"; + setAttr -k off -cb on ".rz"; + setAttr -cb on ".ro"; + setAttr -k off -cb on ".sx"; + setAttr -k off -cb on ".sy"; + setAttr -k off -cb on ".sz"; + setAttr ".comp_type" -type "string" "control_01"; + setAttr ".comp_name" -type "string" "global"; + setAttr ".comp_side" -type "string" "C"; + setAttr ".connector" -type "string" "standard"; + setAttr ".ui_host" -type "string" ""; + setAttr ".ctlGrp" -type "string" ""; + setAttr ".icon" -type "string" "square"; + setAttr ".ikrefarray" -type "string" ""; +createNode nurbsCurve -n "global_C0_rootShape" -p "global_C0_root"; + rename -uid "40C323DA-48D1-D859-E433-539B827A3B9A"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + 0.25 0 0 + -0.25 0 0 + ; +createNode nurbsCurve -n "global_C0_root4Shape" -p "global_C0_root"; + rename -uid "1CD052FB-48BA-245E-A706-34ACE7A39FAB"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + 0 0.25 0 + 0 -0.25 0 + ; +createNode nurbsCurve -n "global_C0_root5Shape" -p "global_C0_root"; + rename -uid "EE836821-453A-DE8A-B519-6CA5A099A6A0"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + 0 0 0.25 + 0 0 -0.25 + ; +createNode nurbsCurve -n "global_C0_root6Shape" -p "global_C0_root"; + rename -uid "E6A582B9-48F4-C50F-5931-07BBEC227066"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 15 0 no 3 + 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 16 + 0.125 0.125 0.125 + 0.125 0.125 -0.125 + -0.125 0.125 -0.125 + -0.125 -0.125 -0.125 + -0.125 -0.125 0.125 + -0.125 0.125 0.125 + -0.125 0.125 -0.125 + -0.125 0.125 0.125 + 0.125 0.125 0.125 + 0.125 -0.125 0.125 + -0.125 -0.125 0.125 + 0.125 -0.125 0.125 + 0.125 -0.125 -0.125 + 0.125 0.125 -0.125 + 0.125 -0.125 -0.125 + -0.125 -0.125 -0.125 + ; +createNode transform -n "global_C0_sizeRef" -p "global_C0_root"; + rename -uid "637739D6-4157-5FCF-366C-0F91E6BBD669"; + addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; + setAttr -k off -cb on ".v"; + setAttr ".t" -type "double3" 0 0 1 ; + setAttr -k off -cb on ".tx"; + setAttr -k off -cb on ".ty"; + setAttr -k off -cb on ".tz"; + setAttr -k off -cb on ".rx"; + setAttr -k off -cb on ".ry"; + setAttr -k off -cb on ".rz"; + setAttr -cb on ".ro"; + setAttr -k off -cb on ".sx"; + setAttr -k off -cb on ".sy"; + setAttr -k off -cb on ".sz"; +createNode transform -n "local_C0_root" -p "global_C0_root"; + rename -uid "A1F273BE-493C-767E-4AE5-CA8CE06F26DF"; + addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; + addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; + addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "connector" -ln "connector" -dt "string"; + addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; + addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; + addAttr -ci true -sn "icon" -ln "icon" -dt "string"; + addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; + addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 6 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; @@ -163,7 +288,6 @@ createNode transform -n "local_C0_root" -p "guide"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.9528272142357278 0.9528272142357278 0.9528272142357278 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -174,22 +298,9 @@ createNode transform -n "local_C0_root" -p "guide"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "square"; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".k_sx" yes; - setAttr ".k_sy" yes; - setAttr ".k_sz" yes; - setAttr ".default_rotorder" 2; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; + setAttr ".ikrefarray" -type "string" ""; createNode nurbsCurve -n "local_C0_rootShape" -p "local_C0_root"; - rename -uid "9AE02A4C-4655-4DA9-2097-A48313183A0F"; + rename -uid "7A69D641-408B-03AC-DF14-1D9827091AD8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -201,8 +312,8 @@ createNode nurbsCurve -n "local_C0_rootShape" -p "local_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "local_C0_root25Shape" -p "local_C0_root"; - rename -uid "E09F3282-4205-2AB4-55D6-D29269398EE0"; +createNode nurbsCurve -n "local_C0_root4Shape" -p "local_C0_root"; + rename -uid "A7386352-46FA-73CA-B29C-919E7C23C7BD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -214,8 +325,8 @@ createNode nurbsCurve -n "local_C0_root25Shape" -p "local_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "local_C0_root26Shape" -p "local_C0_root"; - rename -uid "C9F594B9-4A79-B07D-ECC5-D5B17A7E5756"; +createNode nurbsCurve -n "local_C0_root5Shape" -p "local_C0_root"; + rename -uid "B4274E28-4800-DC25-FF86-699B57A947E1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -227,8 +338,8 @@ createNode nurbsCurve -n "local_C0_root26Shape" -p "local_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "local_C0_root27Shape" -p "local_C0_root"; - rename -uid "CF564DE7-40F8-E9D4-FD6A-C6827D25F3D5"; +createNode nurbsCurve -n "local_C0_root6Shape" -p "local_C0_root"; + rename -uid "88AFD719-4550-4B69-3B59-478C4E5958A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -255,10 +366,10 @@ createNode nurbsCurve -n "local_C0_root27Shape" -p "local_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "local_C0_sizeRef" -p "local_C0_root"; - rename -uid "E7FDE99F-42BA-B6FE-CD9B-D6BE4504B09B"; + rename -uid "F8890FE3-4192-3C70-DC00-B0B3A4BC5D78"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0 0 1.0495082267377407 ; + setAttr ".t" -type "double3" 0 0 1 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -266,12 +377,11 @@ createNode transform -n "local_C0_sizeRef" -p "local_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0495082267377407 1.0495082267377407 1.0495082267377407 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "body_C0_root" -p "local_C0_root"; - rename -uid "CD56F777-424D-9DA5-1EA5-3DA0CE593970"; + rename -uid "B97FFB2F-46AA-4920-0297-FDBA8DC75D3E"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -284,23 +394,26 @@ createNode transform -n "body_C0_root" -p "local_C0_root"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -dv 2 -min 0 -max + 5 -at "long"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 3 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0 11.390533694690754 0.19144303592045675 ; + setAttr ".t" -type "double3" 0 10.853210488970383 0.18241213460091918 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -309,7 +422,7 @@ createNode transform -n "body_C0_root" -p "local_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.9535389960287599 1.9535389960287501 1.9535389960287599 ; + setAttr ".s" -type "double3" 1.8613851194869446 1.8613851194869344 1.8613851194869446 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -321,19 +434,8 @@ createNode transform -n "body_C0_root" -p "local_C0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "square"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".default_rotorder" 2; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 3; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "body_C0_rootShape" -p "body_C0_root"; - rename -uid "49E19708-4E3D-4FF8-F5BF-A1A4E6FFA9A0"; + rename -uid "EED1AEDE-450F-5D41-32D8-A3A358470F53"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -345,8 +447,8 @@ createNode nurbsCurve -n "body_C0_rootShape" -p "body_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "body_C0_root25Shape" -p "body_C0_root"; - rename -uid "3079F148-4F2B-787B-4E92-A2B9033D72B2"; +createNode nurbsCurve -n "body_C0_root28Shape" -p "body_C0_root"; + rename -uid "7068D1B5-44E1-4E2A-A4CC-3AB444A1E627"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -358,8 +460,8 @@ createNode nurbsCurve -n "body_C0_root25Shape" -p "body_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "body_C0_root26Shape" -p "body_C0_root"; - rename -uid "31EE3CB5-4BE2-3257-513F-6DB519A05306"; +createNode nurbsCurve -n "body_C0_root29Shape" -p "body_C0_root"; + rename -uid "D29F71BF-41FF-0D90-CDA8-2F88C025226F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -371,8 +473,8 @@ createNode nurbsCurve -n "body_C0_root26Shape" -p "body_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "body_C0_root27Shape" -p "body_C0_root"; - rename -uid "4DE6789C-4918-0CE4-1A00-19BC0EE0C2E2"; +createNode nurbsCurve -n "body_C0_root30Shape" -p "body_C0_root"; + rename -uid "8553D652-4F3C-0230-F2CB-C0ADA8395B34"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -399,10 +501,10 @@ createNode nurbsCurve -n "body_C0_root27Shape" -p "body_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "body_C0_sizeRef" -p "body_C0_root"; - rename -uid "F40C4E15-4324-B703-A2EE-AE9B29F73020"; + rename -uid "3D144055-4D7E-9DBF-9B9E-09937D73E7F7"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.53723433669418785 0 1.1928998604342214e-016 ; + setAttr ".t" -type "double3" 0.53723433669418763 0 1.1928998604342207e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -411,12 +513,12 @@ createNode transform -n "body_C0_sizeRef" -p "body_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.53723433669418785 0.53723433669419063 0.53723433669418785 ; + setAttr ".s" -type "double3" 0.53723433669418774 0.53723433669419063 0.53723433669418774 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "spine_C0_root" -p "body_C0_root"; - rename -uid "DCC70641-4AEA-9B32-6E3C-3CB8A5EA62B3"; + rename -uid "D83C516E-4DDD-92FC-0DA0-BE943E363D0E"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -426,19 +528,19 @@ createNode transform -n "spine_C0_root" -p "body_C0_root"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "position" -ln "position" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; - addAttr -ci true -sn "maxsquash" -ln "maxsquash" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; + addAttr -ci true -sn "maxsquash" -ln "maxsquash" -dv 0.5 -min 0 -max 1 -at "double"; addAttr -ci true -sn "softness" -ln "softness" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "lock_ori" -ln "lock_ori" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "division" -ln "division" -dv 3 -min 3 -at "long"; - addAttr -ci true -sn "autoBend" -ln "autoBend" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "centralTangent" -ln "centralTangent" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "lock_ori" -ln "lock_ori" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "division" -ln "division" -dv 5 -min 3 -at "long"; + addAttr -ci true -sn "autoBend" -ln "autoBend" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "centralTangent" -ln "centralTangent" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -5.5511151231257827e-017 1.7763568394002505e-015 -1.8488927466117464e-032 ; + setAttr ".t" -type "double3" -6.9388939039072284e-017 1.7763568394002505e-015 -2.1570415377137042e-032 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -447,7 +549,7 @@ createNode transform -n "spine_C0_root" -p "body_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.51189149642410492 0.51189149642410281 0.51189149642410203 ; + setAttr ".s" -type "double3" 0.51189149642410492 0.51189149642410259 0.51189149642410181 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -457,17 +559,10 @@ createNode transform -n "spine_C0_root" -p "body_C0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "spineUI_C0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".maxstretch" 1.5; - setAttr ".maxsquash" 0.5; - setAttr ".lock_ori" 1; - setAttr ".division" 5; - setAttr ".autoBend" yes; - setAttr ".centralTangent" yes; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "spine_C0_rootShape" -p "spine_C0_root"; - rename -uid "7707CB23-49E1-37BD-EF40-FA81E08E6E53"; + rename -uid "FC6BD12F-4E09-3426-3345-DF84D72D01B0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -479,8 +574,8 @@ createNode nurbsCurve -n "spine_C0_rootShape" -p "spine_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "spine_C0_root25Shape" -p "spine_C0_root"; - rename -uid "BD87BEA1-41AB-AA3D-08CE-03BED9C10ECD"; +createNode nurbsCurve -n "spine_C0_root28Shape" -p "spine_C0_root"; + rename -uid "486E846B-4FAD-AA6D-8FA9-0B9E40AFDB6A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -492,8 +587,8 @@ createNode nurbsCurve -n "spine_C0_root25Shape" -p "spine_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "spine_C0_root26Shape" -p "spine_C0_root"; - rename -uid "AA0ACEE5-4775-1378-1933-959700DFA7C6"; +createNode nurbsCurve -n "spine_C0_root29Shape" -p "spine_C0_root"; + rename -uid "EAF9B8FD-4685-3D62-EF18-FDBCA73A99F8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -505,8 +600,8 @@ createNode nurbsCurve -n "spine_C0_root26Shape" -p "spine_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "spine_C0_root27Shape" -p "spine_C0_root"; - rename -uid "76F724FB-47EB-A1F2-613E-47A9084D13CB"; +createNode nurbsCurve -n "spine_C0_root30Shape" -p "spine_C0_root"; + rename -uid "F4DF86D9-4D3E-604A-6981-A6822749082B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -533,7 +628,7 @@ createNode nurbsCurve -n "spine_C0_root27Shape" -p "spine_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "spine_C0_eff" -p "spine_C0_root"; - rename -uid "442979B4-4F06-C753-1FDC-B5AC1EB36BCA"; + rename -uid "7EA4BFFC-49B6-A3BC-A38B-E1ACA4483EE4"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 2.3760066881565312 -1.6930901125533637e-015 1.2325951644078309e-031 ; @@ -544,12 +639,12 @@ createNode transform -n "spine_C0_eff" -p "spine_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000013 0.99999999999999933 0.99999999999999956 ; + setAttr ".s" -type "double3" 1.0000000000000011 0.99999999999999944 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "spine_C0_effShape" -p "spine_C0_eff"; - rename -uid "91FCE89B-48E2-40A9-F650-2D81131328EC"; + rename -uid "529DD8F4-4B8F-E796-E69B-8B90FDA72289"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -561,8 +656,8 @@ createNode nurbsCurve -n "spine_C0_effShape" -p "spine_C0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "spine_C0_eff25Shape" -p "spine_C0_eff"; - rename -uid "B9A7B4E8-47A3-4793-BF5F-5784E81053E1"; +createNode nurbsCurve -n "spine_C0_eff28Shape" -p "spine_C0_eff"; + rename -uid "766A6756-4CF9-F63B-195B-06B345E22922"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -574,8 +669,8 @@ createNode nurbsCurve -n "spine_C0_eff25Shape" -p "spine_C0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "spine_C0_eff26Shape" -p "spine_C0_eff"; - rename -uid "883FFD68-4CDC-69D2-A1E8-3383626A0823"; +createNode nurbsCurve -n "spine_C0_eff29Shape" -p "spine_C0_eff"; + rename -uid "A822A40F-4478-19BF-EF5B-46861766F411"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -587,8 +682,8 @@ createNode nurbsCurve -n "spine_C0_eff26Shape" -p "spine_C0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "spine_C0_eff27Shape" -p "spine_C0_eff"; - rename -uid "3ECFC8CF-4FA4-30A6-9267-FE8948F550F7"; +createNode nurbsCurve -n "spine_C0_eff30Shape" -p "spine_C0_eff"; + rename -uid "190744A1-486D-3A70-05B4-FEA64230267C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -605,8 +700,8 @@ createNode nurbsCurve -n "spine_C0_eff27Shape" -p "spine_C0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "spine_C0_eff27_0crvShape" -p "spine_C0_eff"; - rename -uid "73D27119-435C-0C7B-060B-5D9B1767941C"; +createNode nurbsCurve -n "spine_C0_eff30_0crvShape" -p "spine_C0_eff"; + rename -uid "C8CDB49D-4C00-757E-5698-24B142667E09"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -623,8 +718,8 @@ createNode nurbsCurve -n "spine_C0_eff27_0crvShape" -p "spine_C0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "spine_C0_eff27_1crvShape" -p "spine_C0_eff"; - rename -uid "6D514F95-49CA-CB52-74FE-2FA707492EF6"; +createNode nurbsCurve -n "spine_C0_eff30_1crvShape" -p "spine_C0_eff"; + rename -uid "ADCE79EA-4345-F684-9A40-5E8D3ECDCB4C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -642,7 +737,7 @@ createNode nurbsCurve -n "spine_C0_eff27_1crvShape" -p "spine_C0_eff"; 0 0 -0.1875 ; createNode transform -n "spineUI_C0_root" -p "spine_C0_eff"; - rename -uid "BF9A63CE-45BF-1981-5E3C-7795B9E5D8ED"; + rename -uid "35F3E27C-48C4-8C2B-ED37-98A2F21603FE"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -666,12 +761,14 @@ createNode transform -n "spineUI_C0_root" -p "spine_C0_eff"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 3.2578484988603371 0.60394549966678479 -1.9764781265571727 ; + setAttr ".t" -type "double3" 3.2578484988603389 0.60394549966678479 -1.9764781265571729 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -680,7 +777,7 @@ createNode transform -n "spineUI_C0_root" -p "spine_C0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.88775990675476246 0.88775990675476002 0.88775990675475902 ; + setAttr ".s" -type "double3" 0.88775990675476268 0.88775990675476024 0.88775990675475924 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -692,11 +789,8 @@ createNode transform -n "spineUI_C0_root" -p "spine_C0_eff"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "spineUI_C0_rootShape" -p "spineUI_C0_root"; - rename -uid "D87F8CA2-4457-304C-33E5-06B9164132CC"; + rename -uid "E1C966BD-4758-22A0-E09D-DF81103EF0C8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -708,8 +802,8 @@ createNode nurbsCurve -n "spineUI_C0_rootShape" -p "spineUI_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "spineUI_C0_root25Shape" -p "spineUI_C0_root"; - rename -uid "CE2976DB-4F17-32EC-5402-B5BC7B0F18E3"; +createNode nurbsCurve -n "spineUI_C0_root28Shape" -p "spineUI_C0_root"; + rename -uid "70A77FDE-475D-99AA-7FFA-DFB997DACE67"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -721,8 +815,8 @@ createNode nurbsCurve -n "spineUI_C0_root25Shape" -p "spineUI_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "spineUI_C0_root26Shape" -p "spineUI_C0_root"; - rename -uid "C47B7588-44F8-31ED-A09A-998569509F47"; +createNode nurbsCurve -n "spineUI_C0_root29Shape" -p "spineUI_C0_root"; + rename -uid "5BB68AF0-438A-6FC6-1889-57A2E8074445"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -734,8 +828,8 @@ createNode nurbsCurve -n "spineUI_C0_root26Shape" -p "spineUI_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "spineUI_C0_root27Shape" -p "spineUI_C0_root"; - rename -uid "7949131E-4FBE-3556-30A5-AE9D8CD29399"; +createNode nurbsCurve -n "spineUI_C0_root30Shape" -p "spineUI_C0_root"; + rename -uid "A73CC0EA-4520-1810-EB87-D3B21FB469C1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -762,10 +856,10 @@ createNode nurbsCurve -n "spineUI_C0_root27Shape" -p "spineUI_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "spineUI_C0_sizeRef" -p "spineUI_C0_root"; - rename -uid "D12204A6-4996-A5B8-CB96-13A989170AC9"; + rename -uid "D93B789F-46AC-EC15-5B1C-D095937E79B6"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0 3.5527136788005009e-015 1.1821982708976555 ; + setAttr ".t" -type "double3" 0 0 1.1821982708976553 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -773,12 +867,12 @@ createNode transform -n "spineUI_C0_sizeRef" -p "spineUI_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.1821982708976524 1.1821982708976531 1.1821982708976555 ; + setAttr ".s" -type "double3" 1.1821982708976522 1.1821982708976528 1.1821982708976551 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "shoulder_L0_root" -p "spine_C0_eff"; - rename -uid "CCB915D1-4398-8F45-7174-84BC380BAB03"; + rename -uid "54552A76-4CF1-F277-72D0-E7B9261EC0AE"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -789,9 +883,9 @@ createNode transform -n "shoulder_L0_root" -p "spine_C0_eff"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "refArray" -ln "refArray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.7395848890977366 -0.016853043661003347 -0.11673327753265016 ; + setAttr ".t" -type "double3" 1.7395848890977383 -0.016853043661003403 -0.11673327753265017 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -800,7 +894,7 @@ createNode transform -n "shoulder_L0_root" -p "spine_C0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.000000000000002 1.0000000000000027 0.99999999999999956 ; + setAttr ".s" -type "double3" 1.0000000000000022 1.0000000000000029 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -810,10 +904,9 @@ createNode transform -n "shoulder_L0_root" -p "spine_C0_eff"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "armUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".refArray" -type "string" "shoulder_L0_root,local_C0_root,body_C0_root,spine_C0_eff"; - setAttr ".parentJointIndex" -1; + setAttr ".refArray" -type "string" "shoulder_L0_root,local_C0_root,body_C0_root,spine_C0_eff,global_C0_root"; createNode nurbsCurve -n "shoulder_L0_rootShape" -p "shoulder_L0_root"; - rename -uid "4C8364A8-4932-C3DD-C458-04BE61FD65DD"; + rename -uid "B7C33AAA-484F-5A4F-E8E2-B6B8733DA506"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -825,8 +918,8 @@ createNode nurbsCurve -n "shoulder_L0_rootShape" -p "shoulder_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_L0_root25Shape" -p "shoulder_L0_root"; - rename -uid "3671C13A-405E-3282-747C-C4A3C70872DD"; +createNode nurbsCurve -n "shoulder_L0_root28Shape" -p "shoulder_L0_root"; + rename -uid "73DE8BA7-439E-BD8C-13D9-98A6014E5A77"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -838,8 +931,8 @@ createNode nurbsCurve -n "shoulder_L0_root25Shape" -p "shoulder_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_L0_root26Shape" -p "shoulder_L0_root"; - rename -uid "6AEC96EF-4AB1-FEE6-7B3B-7DB3DF7627D2"; +createNode nurbsCurve -n "shoulder_L0_root29Shape" -p "shoulder_L0_root"; + rename -uid "067F9D45-474A-9858-E512-50BDCBFA1950"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -851,8 +944,8 @@ createNode nurbsCurve -n "shoulder_L0_root26Shape" -p "shoulder_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_L0_root27Shape" -p "shoulder_L0_root"; - rename -uid "684DCFE4-497D-D1BB-98FA-79952A7EF6D8"; +createNode nurbsCurve -n "shoulder_L0_root30Shape" -p "shoulder_L0_root"; + rename -uid "BB35AE0F-4885-446B-0F13-29848AA9F7CB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -879,10 +972,10 @@ createNode nurbsCurve -n "shoulder_L0_root27Shape" -p "shoulder_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "shoulder_L0_tip" -p "shoulder_L0_root"; - rename -uid "247C7C9C-4349-4F15-5326-638BEB2E3740"; + rename -uid "062808CA-4909-816E-1D20-5CA051561DCE"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.33303929285645495 -0.91350954729966849 -1.5239746815175861 ; + setAttr ".t" -type "double3" 0.3330392928564585 -0.91350954729966838 -1.5239746815175856 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -890,12 +983,12 @@ createNode transform -n "shoulder_L0_tip" -p "shoulder_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999845 0.99999999999999623 0.99999999999999867 ; + setAttr ".s" -type "double3" 0.99999999999999822 0.999999999999996 0.99999999999999845 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "shoulder_L0_tipShape" -p "shoulder_L0_tip"; - rename -uid "300819FC-4BB1-5B83-7521-92A08AA53A21"; + rename -uid "37C22F0A-4224-9626-6122-0B874EDBD7E4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -907,8 +1000,8 @@ createNode nurbsCurve -n "shoulder_L0_tipShape" -p "shoulder_L0_tip"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_L0_tip25Shape" -p "shoulder_L0_tip"; - rename -uid "DFEE8B31-4BAA-7F4C-6496-CF8275F384DD"; +createNode nurbsCurve -n "shoulder_L0_tip28Shape" -p "shoulder_L0_tip"; + rename -uid "F15D98C8-4369-DFF3-1756-4BB4495B01F2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -920,8 +1013,8 @@ createNode nurbsCurve -n "shoulder_L0_tip25Shape" -p "shoulder_L0_tip"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_L0_tip26Shape" -p "shoulder_L0_tip"; - rename -uid "A647513E-4731-11AB-DDA3-FCA4709579E5"; +createNode nurbsCurve -n "shoulder_L0_tip29Shape" -p "shoulder_L0_tip"; + rename -uid "99B9C297-4338-DA43-EDEE-80B57C305D1C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -933,8 +1026,8 @@ createNode nurbsCurve -n "shoulder_L0_tip26Shape" -p "shoulder_L0_tip"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_L0_tip27Shape" -p "shoulder_L0_tip"; - rename -uid "04FA70FA-44B0-9BD7-29D9-C79D7BE5391B"; +createNode nurbsCurve -n "shoulder_L0_tip30Shape" -p "shoulder_L0_tip"; + rename -uid "38C78B7B-49D0-9B64-EE4A-8D9541F02BC4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -951,8 +1044,8 @@ createNode nurbsCurve -n "shoulder_L0_tip27Shape" -p "shoulder_L0_tip"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_L0_tip27_0crvShape" -p "shoulder_L0_tip"; - rename -uid "3DA02803-4D31-D439-A331-678A0634699B"; +createNode nurbsCurve -n "shoulder_L0_tip30_0crvShape" -p "shoulder_L0_tip"; + rename -uid "EED61E9B-4651-A2DE-678D-A3824B4D49F4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -969,8 +1062,8 @@ createNode nurbsCurve -n "shoulder_L0_tip27_0crvShape" -p "shoulder_L0_tip"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_L0_tip27_1crvShape" -p "shoulder_L0_tip"; - rename -uid "CC639575-4E63-D4A5-9EE0-069B773677CB"; +createNode nurbsCurve -n "shoulder_L0_tip30_1crvShape" -p "shoulder_L0_tip"; + rename -uid "506E7F21-4801-A702-580B-F9BBDF9A0165"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -988,7 +1081,7 @@ createNode nurbsCurve -n "shoulder_L0_tip27_1crvShape" -p "shoulder_L0_tip"; 0 0 -0.1875 ; createNode transform -n "arm_L0_root" -p "shoulder_L0_tip"; - rename -uid "D1181835-4544-F4CE-0040-68AED45BF565"; + rename -uid "5419560D-4DA0-3FD7-6667-518B37C3F6DB"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -1001,49 +1094,43 @@ createNode transform -n "arm_L0_root" -p "shoulder_L0_tip"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; addAttr -ci true -sn "pinrefarray" -ln "pinrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; - addAttr -ci true -sn "ikTR" -ln "ikTR" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "mirrorMid" -ln "mirrorMid" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; + addAttr -ci true -sn "ikTR" -ln "ikTR" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "mirrorMid" -ln "mirrorMid" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "mirrorIK" -ln "mirrorIK" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 1.0658141036401503e-014 3.3306690738754696e-016 -4.4408920985006262e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" -95.878962023386904 44.411212983179865 -5.4710434405384278 ; + setAttr ".r" -type "double3" -95.878962023386919 44.411212983179865 -5.4710434405384332 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999811 0.99999999999999967 ; + setAttr ".s" -type "double3" 1 0.99999999999999822 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "arm_2jnt_01"; setAttr ".comp_name" -type "string" "arm"; setAttr ".comp_side" -type "string" "L"; - setAttr ".connector" -type "string" "standard"; + setAttr ".connector" -type "string" "shoulder_01"; setAttr ".ui_host" -type "string" "armUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".ikrefarray" -type "string" "shoulder_L0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root"; - setAttr ".upvrefarray" -type "string" "shoulder_L0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root"; - setAttr ".pinrefarray" -type "string" "shoulder_L0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root"; - setAttr ".maxstretch" 1.5; - setAttr ".ikTR" yes; - setAttr ".mirrorMid" yes; - setAttr ".div0" 2; - setAttr ".div1" 2; + setAttr ".ikrefarray" -type "string" "shoulder_L0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "shoulder_L0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root,global_C0_root"; + setAttr ".pinrefarray" -type "string" "shoulder_L0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root,global_C0_root"; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "arm_L0_rootShape" -p "arm_L0_root"; - rename -uid "20BD6281-4570-BDA0-8D4A-679FD3361310"; + rename -uid "F770D184-4093-DE3C-F19D-5BA6D11702DE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1055,8 +1142,8 @@ createNode nurbsCurve -n "arm_L0_rootShape" -p "arm_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_L0_root25Shape" -p "arm_L0_root"; - rename -uid "D9BB82F7-487F-16F4-ABC3-2B94239BEA5E"; +createNode nurbsCurve -n "arm_L0_root28Shape" -p "arm_L0_root"; + rename -uid "C686C07A-42A6-E9DB-AB13-0E9717DC60A6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1068,8 +1155,8 @@ createNode nurbsCurve -n "arm_L0_root25Shape" -p "arm_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_L0_root26Shape" -p "arm_L0_root"; - rename -uid "FAB9E5CD-45EF-7C34-22CF-CE9E65D7208F"; +createNode nurbsCurve -n "arm_L0_root29Shape" -p "arm_L0_root"; + rename -uid "2F457D7D-4158-B14B-3A1C-E69F4AFE72F3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1081,8 +1168,8 @@ createNode nurbsCurve -n "arm_L0_root26Shape" -p "arm_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_L0_root27Shape" -p "arm_L0_root"; - rename -uid "C4C385BC-4AF4-F0F2-43F9-899D2608C363"; +createNode nurbsCurve -n "arm_L0_root30Shape" -p "arm_L0_root"; + rename -uid "C251384A-4BA2-7A2A-45E5-B48530C55D58"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1109,24 +1196,24 @@ createNode nurbsCurve -n "arm_L0_root27Shape" -p "arm_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "arm_L0_elbow" -p "arm_L0_root"; - rename -uid "7EA147B9-4A07-A02F-A046-DA94BDA70F16"; + rename -uid "F27CE0EA-4CDA-01DF-446F-FC915A569F2C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.8283335982323328 3.5527136788005009e-015 0.078976790252909934 ; + setAttr ".t" -type "double3" 2.828333598232331 5.3290705182007514e-015 0.078976790252909934 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 -10.688700162784265 0 ; + setAttr ".r" -type "double3" 0 -10.688700162784272 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999967 0.99999999999999933 ; + setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999956 0.99999999999999933 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "arm_L0_elbowShape" -p "arm_L0_elbow"; - rename -uid "7A658DC8-47C0-28C9-D87B-299B988EBEC1"; + rename -uid "9F7B7E1B-4FB1-A4F4-DBE8-A383A6CC4C27"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1138,8 +1225,8 @@ createNode nurbsCurve -n "arm_L0_elbowShape" -p "arm_L0_elbow"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_L0_elbow25Shape" -p "arm_L0_elbow"; - rename -uid "CF2DD2AD-426C-B668-7BB8-FD9FBC1FDC6D"; +createNode nurbsCurve -n "arm_L0_elbow28Shape" -p "arm_L0_elbow"; + rename -uid "5EA2289F-4A6C-836A-8D42-5692AB61706C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1151,8 +1238,8 @@ createNode nurbsCurve -n "arm_L0_elbow25Shape" -p "arm_L0_elbow"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_L0_elbow26Shape" -p "arm_L0_elbow"; - rename -uid "2C6348B7-415F-0178-187B-3C84AD705453"; +createNode nurbsCurve -n "arm_L0_elbow29Shape" -p "arm_L0_elbow"; + rename -uid "BE34DA73-43E4-FBCC-E389-6984C59E7BE5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1164,8 +1251,8 @@ createNode nurbsCurve -n "arm_L0_elbow26Shape" -p "arm_L0_elbow"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_L0_elbow27Shape" -p "arm_L0_elbow"; - rename -uid "835A4A66-4DBB-9CCE-37C3-049577E82E46"; +createNode nurbsCurve -n "arm_L0_elbow30Shape" -p "arm_L0_elbow"; + rename -uid "69541892-4FD7-FF14-F671-D4B81AA7B44A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1182,8 +1269,8 @@ createNode nurbsCurve -n "arm_L0_elbow27Shape" -p "arm_L0_elbow"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_L0_elbow27_0crvShape" -p "arm_L0_elbow"; - rename -uid "8A10E1E2-4BC2-CC2D-58CD-8AA2CAAA7EA5"; +createNode nurbsCurve -n "arm_L0_elbow30_0crvShape" -p "arm_L0_elbow"; + rename -uid "60EBF929-489F-70F6-644D-9B89A990AB14"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1200,8 +1287,8 @@ createNode nurbsCurve -n "arm_L0_elbow27_0crvShape" -p "arm_L0_elbow"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_L0_elbow27_1crvShape" -p "arm_L0_elbow"; - rename -uid "62C27FC1-45C5-005F-733E-D99B35AF3198"; +createNode nurbsCurve -n "arm_L0_elbow30_1crvShape" -p "arm_L0_elbow"; + rename -uid "300A7A89-4C4F-DE4A-D45D-A39E085DF929"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1219,10 +1306,10 @@ createNode nurbsCurve -n "arm_L0_elbow27_1crvShape" -p "arm_L0_elbow"; 0 0 -0.1875 ; createNode transform -n "arm_L0_wrist" -p "arm_L0_elbow"; - rename -uid "5EEA610B-455F-5B62-EE78-F68252567D47"; + rename -uid "16533C27-46E2-87FA-CF5D-E39F6AE05D22"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.9351547891496952 0 -0.11960611218230566 ; + setAttr ".t" -type "double3" 2.9351547891496979 -1.7763568394002505e-015 -0.11960611218230555 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1230,12 +1317,12 @@ createNode transform -n "arm_L0_wrist" -p "arm_L0_elbow"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000013 1.0000000000000009 ; + setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000016 1.0000000000000011 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "arm_L0_wristShape" -p "arm_L0_wrist"; - rename -uid "7928998A-42F7-C472-6354-89955AE70189"; + rename -uid "CA0155AD-420B-A3BC-E6DD-8DB560466590"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1247,8 +1334,8 @@ createNode nurbsCurve -n "arm_L0_wristShape" -p "arm_L0_wrist"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_L0_wrist25Shape" -p "arm_L0_wrist"; - rename -uid "0D9F0590-4DB4-C95C-8BEA-68856406A045"; +createNode nurbsCurve -n "arm_L0_wrist28Shape" -p "arm_L0_wrist"; + rename -uid "1B3209C6-4969-2D95-CFAB-9899E1882054"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1260,8 +1347,8 @@ createNode nurbsCurve -n "arm_L0_wrist25Shape" -p "arm_L0_wrist"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_L0_wrist26Shape" -p "arm_L0_wrist"; - rename -uid "8BFC04BF-49D8-54E4-B7CE-58AD785F5EC1"; +createNode nurbsCurve -n "arm_L0_wrist29Shape" -p "arm_L0_wrist"; + rename -uid "C5B6578A-4492-D2C5-5411-EA8B18576745"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1273,8 +1360,8 @@ createNode nurbsCurve -n "arm_L0_wrist26Shape" -p "arm_L0_wrist"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_L0_wrist27Shape" -p "arm_L0_wrist"; - rename -uid "B293E595-41A5-F9D2-57A6-9888BF442ED4"; +createNode nurbsCurve -n "arm_L0_wrist30Shape" -p "arm_L0_wrist"; + rename -uid "07CCF2E4-4E71-3245-CEF7-C9A61441D150"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1291,8 +1378,8 @@ createNode nurbsCurve -n "arm_L0_wrist27Shape" -p "arm_L0_wrist"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_L0_wrist27_0crvShape" -p "arm_L0_wrist"; - rename -uid "B702AD49-4D6E-EAB9-7E33-759CE041E036"; +createNode nurbsCurve -n "arm_L0_wrist30_0crvShape" -p "arm_L0_wrist"; + rename -uid "8616D1C3-4950-2822-0603-BF850A1B1672"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1309,8 +1396,8 @@ createNode nurbsCurve -n "arm_L0_wrist27_0crvShape" -p "arm_L0_wrist"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_L0_wrist27_1crvShape" -p "arm_L0_wrist"; - rename -uid "C8994D5D-41F8-0927-3779-5FBDB2B664DA"; +createNode nurbsCurve -n "arm_L0_wrist30_1crvShape" -p "arm_L0_wrist"; + rename -uid "EA3DE583-478A-AF33-53E5-209A7FE3A98D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1328,10 +1415,10 @@ createNode nurbsCurve -n "arm_L0_wrist27_1crvShape" -p "arm_L0_wrist"; 0 0 -0.1875 ; createNode transform -n "arm_L0_eff" -p "arm_L0_wrist"; - rename -uid "A41A4CFB-44DA-47E9-894B-54AE851FF463"; + rename -uid "140565C9-4BDA-39F1-7F99-6D9968BD8D2C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3207237066308166 7.1054273576010019e-015 6.9388939039072284e-016 ; + setAttr ".t" -type "double3" 1.320723706630814 8.8817841970012523e-015 9.4368957093138306e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1339,12 +1426,12 @@ createNode transform -n "arm_L0_eff" -p "arm_L0_wrist"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000009 1 0.99999999999999978 ; + setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999989 0.99999999999999944 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "arm_L0_effShape" -p "arm_L0_eff"; - rename -uid "58360095-4D6F-1C2A-A2CB-CC89D5B3468C"; + rename -uid "6D04601D-473F-A6C2-34C2-5EB33AA79B6F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1356,8 +1443,8 @@ createNode nurbsCurve -n "arm_L0_effShape" -p "arm_L0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_L0_eff25Shape" -p "arm_L0_eff"; - rename -uid "AA11FE37-4AA0-B40B-A138-BAA80C161E7B"; +createNode nurbsCurve -n "arm_L0_eff28Shape" -p "arm_L0_eff"; + rename -uid "50082AAE-4FFC-362F-23FF-52915B065BC0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1369,8 +1456,8 @@ createNode nurbsCurve -n "arm_L0_eff25Shape" -p "arm_L0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_L0_eff26Shape" -p "arm_L0_eff"; - rename -uid "7268E469-439E-9FA1-D56A-D5BA2FE7F4E1"; +createNode nurbsCurve -n "arm_L0_eff29Shape" -p "arm_L0_eff"; + rename -uid "98A5C722-4970-31A9-D368-EF9D5B7A1A62"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1382,8 +1469,8 @@ createNode nurbsCurve -n "arm_L0_eff26Shape" -p "arm_L0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_L0_eff27Shape" -p "arm_L0_eff"; - rename -uid "D0A90697-45CB-37ED-A0D2-AC8EEEE1ECFF"; +createNode nurbsCurve -n "arm_L0_eff30Shape" -p "arm_L0_eff"; + rename -uid "E9CB28A7-4C83-4A15-729F-EF8D002E893B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1400,8 +1487,8 @@ createNode nurbsCurve -n "arm_L0_eff27Shape" -p "arm_L0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_L0_eff27_0crvShape" -p "arm_L0_eff"; - rename -uid "293CEAB7-49EA-FDC9-89CC-40BF0994538A"; +createNode nurbsCurve -n "arm_L0_eff30_0crvShape" -p "arm_L0_eff"; + rename -uid "C7F8C519-4AC0-F5CA-7B04-D4B94B34D4A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1418,8 +1505,8 @@ createNode nurbsCurve -n "arm_L0_eff27_0crvShape" -p "arm_L0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_L0_eff27_1crvShape" -p "arm_L0_eff"; - rename -uid "5C07E168-4B85-1567-DC58-658251AAA216"; +createNode nurbsCurve -n "arm_L0_eff30_1crvShape" -p "arm_L0_eff"; + rename -uid "C8E618F7-4ABE-025C-215B-5B82D50116D0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1437,7 +1524,7 @@ createNode nurbsCurve -n "arm_L0_eff27_1crvShape" -p "arm_L0_eff"; 0 0 -0.1875 ; createNode transform -n "armUI_L0_root" -p "arm_L0_eff"; - rename -uid "DEAA464D-487C-E9EE-3A72-EAB3498E6343"; + rename -uid "B89F5A82-48F3-07C3-353B-999AA33E252C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -1461,12 +1548,14 @@ createNode transform -n "armUI_L0_root" -p "arm_L0_eff"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.2124561875008086 0.56073114764518017 -0.29276117198398871 ; + setAttr ".t" -type "double3" -1.2124561875008069 0.56073114764518195 -0.29276117198398888 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1474,7 +1563,7 @@ createNode transform -n "armUI_L0_root" -p "arm_L0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 1.0000000000000002 1.0000000000000013 ; + setAttr ".s" -type "double3" 1.0000000000000009 1.0000000000000002 1.0000000000000013 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -1486,11 +1575,8 @@ createNode transform -n "armUI_L0_root" -p "arm_L0_eff"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "armUI_L0_rootShape" -p "armUI_L0_root"; - rename -uid "4906C5D2-4836-DF6E-354D-0D8DBCD98D80"; + rename -uid "DA270C2B-4998-4586-0B59-7B9D7672E358"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1502,8 +1588,8 @@ createNode nurbsCurve -n "armUI_L0_rootShape" -p "armUI_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "armUI_L0_root25Shape" -p "armUI_L0_root"; - rename -uid "33001119-45F9-C9B9-2F43-0AA6709DD244"; +createNode nurbsCurve -n "armUI_L0_root28Shape" -p "armUI_L0_root"; + rename -uid "8B66649A-49C3-0A26-1192-18B8BDCC2D26"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1515,8 +1601,8 @@ createNode nurbsCurve -n "armUI_L0_root25Shape" -p "armUI_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "armUI_L0_root26Shape" -p "armUI_L0_root"; - rename -uid "7196FC89-4359-7D02-103A-7A811A7C093F"; +createNode nurbsCurve -n "armUI_L0_root29Shape" -p "armUI_L0_root"; + rename -uid "FF90C15B-4DAA-F469-D808-7E9F6A729EDC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1528,8 +1614,8 @@ createNode nurbsCurve -n "armUI_L0_root26Shape" -p "armUI_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "armUI_L0_root27Shape" -p "armUI_L0_root"; - rename -uid "982EBED3-4436-DB23-820A-93A83CA1FBC4"; +createNode nurbsCurve -n "armUI_L0_root30Shape" -p "armUI_L0_root"; + rename -uid "E7DDE3D4-4994-C274-26E9-F9AB6EC50D9A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1556,24 +1642,24 @@ createNode nurbsCurve -n "armUI_L0_root27Shape" -p "armUI_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "armUI_L0_sizeRef" -p "armUI_L0_root"; - rename -uid "984E88A3-49D5-0793-3B52-BA9FBAE2E660"; + rename -uid "D2FF785D-4865-0E04-D29A-6099F3BA4557"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.11347623085809344 -0.027001577630493045 1.0430060296210657 ; + setAttr ".t" -type "double3" 0.11347623085808944 -0.027001577630494822 1.0430060296210657 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 5.4530840145882156 3.3190804973695687 45.379324150247726 ; + setAttr ".r" -type "double3" 5.4530840145882289 3.3190804973695629 45.379324150247726 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0495082267377429 1.049508226737738 1.0495082267377398 ; + setAttr ".s" -type "double3" 1.0495082267377429 1.049508226737738 1.04950822673774 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "meta_L0_root" -p "arm_L0_eff"; - rename -uid "314B0618-44D6-B1D3-B3D4-BA8FC23D9D9E"; + rename -uid "6CB1757C-49AF-FE8C-8310-32A00FA74AAF"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -1582,22 +1668,22 @@ createNode transform -n "meta_L0_root" -p "arm_L0_eff"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "intScale" -ln "intScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "intRotation" -ln "intRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "intTranslation" -ln "intTranslation" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "intScale" -ln "intScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "intRotation" -ln "intRotation" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "intTranslation" -ln "intTranslation" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.0556240028445685 -0.075350553640975093 0.35296225288850236 ; + setAttr ".t" -type "double3" -1.0556240028445685 -0.075350553640976869 0.35296225288850214 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 86.350349008866772 93.71738146693724 86.467960127478719 ; + setAttr ".r" -type "double3" 86.350349008867127 93.717381466937212 86.467960127478676 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.30838721081716924 0.30838721081716924 0.30838721081716947 ; + setAttr ".s" -type "double3" 0.30838721081716935 0.30838721081716935 0.30838721081716952 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -1607,12 +1693,8 @@ createNode transform -n "meta_L0_root" -p "arm_L0_eff"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".intScale" yes; - setAttr ".intRotation" yes; - setAttr ".intTranslation" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "meta_L0_rootShape" -p "meta_L0_root"; - rename -uid "EAC06A64-4AFB-B0B5-CE24-789298B05D97"; + rename -uid "89AA9E17-4874-4DDB-9AB4-C3B12CC8F07A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1624,8 +1706,8 @@ createNode nurbsCurve -n "meta_L0_rootShape" -p "meta_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_L0_root25Shape" -p "meta_L0_root"; - rename -uid "624A1EE5-4066-1F27-12E9-40ABE5782EEA"; +createNode nurbsCurve -n "meta_L0_root28Shape" -p "meta_L0_root"; + rename -uid "843797CC-44CE-B045-B64D-C7B6EB43C3E4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1637,8 +1719,8 @@ createNode nurbsCurve -n "meta_L0_root25Shape" -p "meta_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_L0_root26Shape" -p "meta_L0_root"; - rename -uid "55B6828B-4D79-77E0-7D60-49982EA99AE8"; +createNode nurbsCurve -n "meta_L0_root29Shape" -p "meta_L0_root"; + rename -uid "0C10D772-4B0C-5822-FD9B-9D9B511743FE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1650,8 +1732,8 @@ createNode nurbsCurve -n "meta_L0_root26Shape" -p "meta_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_L0_root27Shape" -p "meta_L0_root"; - rename -uid "32E79E9D-4D90-3760-2A17-E9B769EACCBA"; +createNode nurbsCurve -n "meta_L0_root30Shape" -p "meta_L0_root"; + rename -uid "C982801D-4E88-0763-D3C0-05BEEB67DB82"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1678,10 +1760,10 @@ createNode nurbsCurve -n "meta_L0_root27Shape" -p "meta_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "meta_L0_0_loc" -p "meta_L0_root"; - rename -uid "979A2A2C-4348-28FB-3303-C1A15771A565"; + rename -uid "83081610-4780-2D93-ADE3-E690659DBBC9"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.66320847353617207 1.4210854715202004e-014 -2.6645352591003757e-014 ; + setAttr ".t" -type "double3" 0.66320847353617118 2.1316282072803006e-014 -2.8421709430404007e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1689,12 +1771,12 @@ createNode transform -n "meta_L0_0_loc" -p "meta_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.999999999999999 0.99999999999999956 0.99999999999999878 ; + setAttr ".s" -type "double3" 0.99999999999999911 0.99999999999999956 0.99999999999999878 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "meta_L0_0_locShape" -p "meta_L0_0_loc"; - rename -uid "CC586B5B-449B-0F36-CC82-3B959D382E01"; + rename -uid "FAB4DCFD-4F67-4B26-692C-D4B6298B7AF0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1706,8 +1788,8 @@ createNode nurbsCurve -n "meta_L0_0_locShape" -p "meta_L0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_L0_0_loc25Shape" -p "meta_L0_0_loc"; - rename -uid "AE4A24F8-4C28-4DCB-4488-8198D3D14D79"; +createNode nurbsCurve -n "meta_L0_0_loc28Shape" -p "meta_L0_0_loc"; + rename -uid "4F4577E4-4DC7-1E23-257F-C4AB3C0A171A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1719,8 +1801,8 @@ createNode nurbsCurve -n "meta_L0_0_loc25Shape" -p "meta_L0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_L0_0_loc26Shape" -p "meta_L0_0_loc"; - rename -uid "45E262AB-43B2-DB80-C531-4C8B9AF79EAF"; +createNode nurbsCurve -n "meta_L0_0_loc29Shape" -p "meta_L0_0_loc"; + rename -uid "564A5810-4573-169B-7716-859A71EE45E6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1732,8 +1814,8 @@ createNode nurbsCurve -n "meta_L0_0_loc26Shape" -p "meta_L0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_L0_0_loc27Shape" -p "meta_L0_0_loc"; - rename -uid "9B3191DD-4981-2F4D-DD9C-DA9870B7DB37"; +createNode nurbsCurve -n "meta_L0_0_loc30Shape" -p "meta_L0_0_loc"; + rename -uid "883AAFBF-4576-DFBA-233D-11AC76E5EC8A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1750,8 +1832,8 @@ createNode nurbsCurve -n "meta_L0_0_loc27Shape" -p "meta_L0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_L0_0_loc27_0crvShape" -p "meta_L0_0_loc"; - rename -uid "5D50D747-456B-FC42-E888-E4AB5F9D23BA"; +createNode nurbsCurve -n "meta_L0_0_loc30_0crvShape" -p "meta_L0_0_loc"; + rename -uid "ECFC5142-44C0-CFA8-1213-9D8A4F7FA22C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1768,8 +1850,8 @@ createNode nurbsCurve -n "meta_L0_0_loc27_0crvShape" -p "meta_L0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_L0_0_loc27_1crvShape" -p "meta_L0_0_loc"; - rename -uid "B54CCC02-4EB0-8560-01EA-B2B2E8EBDD35"; +createNode nurbsCurve -n "meta_L0_0_loc30_1crvShape" -p "meta_L0_0_loc"; + rename -uid "A03CE51F-4A19-73F0-08FC-CA99EDA8C8DC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1787,10 +1869,10 @@ createNode nurbsCurve -n "meta_L0_0_loc27_1crvShape" -p "meta_L0_0_loc"; 0 0 -0.1875 ; createNode transform -n "meta_L0_1_loc" -p "meta_L0_0_loc"; - rename -uid "E0B7AB20-4CD3-E4D3-2E74-D98D4AD2E6DF"; + rename -uid "D444D24F-40F3-D8A4-5B9D-CD948AD8859F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.66320847353618406 7.1054273576010019e-015 1.2434497875801753e-014 ; + setAttr ".t" -type "double3" 0.66320847353618362 1.4210854715202004e-014 1.2434497875801753e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1798,12 +1880,12 @@ createNode transform -n "meta_L0_1_loc" -p "meta_L0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000007 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000011 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "meta_L0_1_locShape" -p "meta_L0_1_loc"; - rename -uid "D516EF82-45F2-65D2-91BB-229DE3C9AD15"; + rename -uid "20A1BFBE-424C-8E4B-A893-EAB488A43122"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1815,8 +1897,8 @@ createNode nurbsCurve -n "meta_L0_1_locShape" -p "meta_L0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_L0_1_loc25Shape" -p "meta_L0_1_loc"; - rename -uid "2600502B-4BCA-B9AC-81BB-9F955CD77570"; +createNode nurbsCurve -n "meta_L0_1_loc28Shape" -p "meta_L0_1_loc"; + rename -uid "35B6B9B7-4466-BE64-6370-1B95C804F2DA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1828,8 +1910,8 @@ createNode nurbsCurve -n "meta_L0_1_loc25Shape" -p "meta_L0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_L0_1_loc26Shape" -p "meta_L0_1_loc"; - rename -uid "6552C40F-4E55-9A12-7D18-DA8B2AC559A9"; +createNode nurbsCurve -n "meta_L0_1_loc29Shape" -p "meta_L0_1_loc"; + rename -uid "B1754CEA-4A07-AF04-BFFA-6AB59EDB0BBD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1841,8 +1923,8 @@ createNode nurbsCurve -n "meta_L0_1_loc26Shape" -p "meta_L0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_L0_1_loc27Shape" -p "meta_L0_1_loc"; - rename -uid "148BA794-42C4-D5E0-7B83-71BD3E367538"; +createNode nurbsCurve -n "meta_L0_1_loc30Shape" -p "meta_L0_1_loc"; + rename -uid "9ADE7F14-4043-0A91-E252-36B2EA2FAE40"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1859,8 +1941,8 @@ createNode nurbsCurve -n "meta_L0_1_loc27Shape" -p "meta_L0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_L0_1_loc27_0crvShape" -p "meta_L0_1_loc"; - rename -uid "06EF20D1-4A77-CA85-519D-5F81B1FF2DB0"; +createNode nurbsCurve -n "meta_L0_1_loc30_0crvShape" -p "meta_L0_1_loc"; + rename -uid "6E26DF04-44A9-BDFB-C0CA-FBABD7BBC0FF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1877,8 +1959,8 @@ createNode nurbsCurve -n "meta_L0_1_loc27_0crvShape" -p "meta_L0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_L0_1_loc27_1crvShape" -p "meta_L0_1_loc"; - rename -uid "A041669C-4BA8-8176-454E-2FA417E00E41"; +createNode nurbsCurve -n "meta_L0_1_loc30_1crvShape" -p "meta_L0_1_loc"; + rename -uid "F7807CEE-41B9-7634-FFFF-8EBD546925EF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1896,10 +1978,10 @@ createNode nurbsCurve -n "meta_L0_1_loc27_1crvShape" -p "meta_L0_1_loc"; 0 0 -0.1875 ; createNode transform -n "meta_L0_2_loc" -p "meta_L0_1_loc"; - rename -uid "8C89428C-4A0C-7C99-64B0-D6A8776280C8"; + rename -uid "6A42F738-4EFB-9D3A-A073-C69AD353415A"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.66320847353618451 7.1054273576010019e-015 -2.6645352591003757e-014 ; + setAttr ".t" -type "double3" 0.66320847353618628 0 -2.3092638912203256e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1907,12 +1989,12 @@ createNode transform -n "meta_L0_2_loc" -p "meta_L0_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999922 0.99999999999999878 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999878 0.99999999999999845 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "meta_L0_2_locShape" -p "meta_L0_2_loc"; - rename -uid "F1A6D723-4FCA-BC8E-CD6C-DCB1D423E8D1"; + rename -uid "67CFF977-46E0-F134-94A0-F5ABA21FC0ED"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1924,8 +2006,8 @@ createNode nurbsCurve -n "meta_L0_2_locShape" -p "meta_L0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_L0_2_loc25Shape" -p "meta_L0_2_loc"; - rename -uid "901EFEC6-4846-AB8C-5721-F89236D2AB9A"; +createNode nurbsCurve -n "meta_L0_2_loc28Shape" -p "meta_L0_2_loc"; + rename -uid "BA0A67D2-4518-8541-D941-54B1A7182988"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1937,8 +2019,8 @@ createNode nurbsCurve -n "meta_L0_2_loc25Shape" -p "meta_L0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_L0_2_loc26Shape" -p "meta_L0_2_loc"; - rename -uid "762C2F37-4C5F-01B0-1592-02B645783A45"; +createNode nurbsCurve -n "meta_L0_2_loc29Shape" -p "meta_L0_2_loc"; + rename -uid "91D61A82-4366-472F-68BE-9196CC65605B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1950,8 +2032,8 @@ createNode nurbsCurve -n "meta_L0_2_loc26Shape" -p "meta_L0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_L0_2_loc27Shape" -p "meta_L0_2_loc"; - rename -uid "C2693270-4B5D-D34F-9636-1AB4E718B2CF"; +createNode nurbsCurve -n "meta_L0_2_loc30Shape" -p "meta_L0_2_loc"; + rename -uid "11F6EE7F-4C0E-9AC6-EAAB-E482F4493C3C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1968,8 +2050,8 @@ createNode nurbsCurve -n "meta_L0_2_loc27Shape" -p "meta_L0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_L0_2_loc27_0crvShape" -p "meta_L0_2_loc"; - rename -uid "E254F2FB-4C9A-D470-B15F-2B88EE0E7505"; +createNode nurbsCurve -n "meta_L0_2_loc30_0crvShape" -p "meta_L0_2_loc"; + rename -uid "4A1FAB32-417C-BE51-75E9-6581CF40C596"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1986,8 +2068,8 @@ createNode nurbsCurve -n "meta_L0_2_loc27_0crvShape" -p "meta_L0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_L0_2_loc27_1crvShape" -p "meta_L0_2_loc"; - rename -uid "B96BB398-4644-2101-149F-EDAC37D28BA8"; +createNode nurbsCurve -n "meta_L0_2_loc30_1crvShape" -p "meta_L0_2_loc"; + rename -uid "52E9057F-4DE3-29DC-3F6C-4EB8CDA03E92"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2005,48 +2087,44 @@ createNode nurbsCurve -n "meta_L0_2_loc27_1crvShape" -p "meta_L0_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L3_root" -p "meta_L0_2_loc"; - rename -uid "53A0EE4D-4170-051E-7888-0785AA34738E"; + rename -uid "8DFE8D4A-4364-733F-11C9-0699BEDD991D"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; - addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -dv 3 -min 0 -at "long"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.27518484001103438 -0.17360051577779956 2.4946799341790502 ; + setAttr ".t" -type "double3" 0.27518484001103483 -0.17360051577779245 2.4946799341790502 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 5.4173319878595638 -68.587073855452374 -5.8163374181209919 ; + setAttr ".r" -type "double3" 5.4173319878591863 -68.587073855452445 -5.8163374181200425 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.2929668245661807 1.2929668245661794 1.2929668245661805 ; + setAttr ".s" -type "double3" 1.292966824566181 1.292966824566179 1.2929668245661805 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "chain_01"; setAttr ".comp_name" -type "string" "finger"; setAttr ".comp_side" -type "string" "L"; - setAttr ".comp_index" 3; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_L3_rootShape" -p "finger_L3_root"; - rename -uid "5C39EA12-4282-4626-E6B3-7383146CD352"; + rename -uid "28B04211-4AA0-CBCC-52A2-4397947868F9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2058,8 +2136,8 @@ createNode nurbsCurve -n "finger_L3_rootShape" -p "finger_L3_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L3_root25Shape" -p "finger_L3_root"; - rename -uid "9620DDCB-49D6-216A-F048-15B80DFDDCF9"; +createNode nurbsCurve -n "finger_L3_root28Shape" -p "finger_L3_root"; + rename -uid "F780A2A9-40BD-D96C-4434-E7B33B65CAF8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2071,8 +2149,8 @@ createNode nurbsCurve -n "finger_L3_root25Shape" -p "finger_L3_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L3_root26Shape" -p "finger_L3_root"; - rename -uid "757B43A8-4301-C335-E089-3BA8D168FBF1"; +createNode nurbsCurve -n "finger_L3_root29Shape" -p "finger_L3_root"; + rename -uid "91EC1FDF-4970-7ED0-270E-5B90F238C9C0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2084,8 +2162,8 @@ createNode nurbsCurve -n "finger_L3_root26Shape" -p "finger_L3_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L3_root27Shape" -p "finger_L3_root"; - rename -uid "DD04A1AE-44F3-D93F-0408-07BA103017E1"; +createNode nurbsCurve -n "finger_L3_root30Shape" -p "finger_L3_root"; + rename -uid "285DA109-4BDF-DD05-9A10-EAA08070CA2C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2112,10 +2190,10 @@ createNode nurbsCurve -n "finger_L3_root27Shape" -p "finger_L3_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_L3_0_loc" -p "finger_L3_root"; - rename -uid "124C78B8-4448-AAE3-6DD8-2DAD72A79F99"; + rename -uid "54B817B2-4A04-1F3E-4AF8-358F9AE72F85"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.84766209830561934 1.4210854715202004e-014 -4.6629367034256575e-015 ; + setAttr ".t" -type "double3" 0.84766209830561579 1.7763568394002505e-014 -5.5511151231257827e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2123,12 +2201,11 @@ createNode transform -n "finger_L3_0_loc" -p "finger_L3_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1 0.99999999999999989 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L3_0_locShape" -p "finger_L3_0_loc"; - rename -uid "5CB6639E-4E8B-4801-3D05-1890C80E5740"; + rename -uid "61CFEFB8-483F-4A27-8D8A-5EA79A8C291D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2140,8 +2217,8 @@ createNode nurbsCurve -n "finger_L3_0_locShape" -p "finger_L3_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L3_0_loc25Shape" -p "finger_L3_0_loc"; - rename -uid "4B018023-46F5-30D5-144C-1D9669B3971B"; +createNode nurbsCurve -n "finger_L3_0_loc28Shape" -p "finger_L3_0_loc"; + rename -uid "48055F8C-40DE-120D-4494-EA9C43463242"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2153,8 +2230,8 @@ createNode nurbsCurve -n "finger_L3_0_loc25Shape" -p "finger_L3_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L3_0_loc26Shape" -p "finger_L3_0_loc"; - rename -uid "F79372A0-4D34-A813-EE75-03B1C977A66C"; +createNode nurbsCurve -n "finger_L3_0_loc29Shape" -p "finger_L3_0_loc"; + rename -uid "F092861D-47A1-C8DA-60E0-2F987B7C3718"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2166,8 +2243,8 @@ createNode nurbsCurve -n "finger_L3_0_loc26Shape" -p "finger_L3_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L3_0_loc27Shape" -p "finger_L3_0_loc"; - rename -uid "A81F3D68-4071-B538-4748-42BAE3AB7AEB"; +createNode nurbsCurve -n "finger_L3_0_loc30Shape" -p "finger_L3_0_loc"; + rename -uid "14E5CB69-42D9-5530-3679-1DB2C44A4889"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2184,8 +2261,8 @@ createNode nurbsCurve -n "finger_L3_0_loc27Shape" -p "finger_L3_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L3_0_loc27_0crvShape" -p "finger_L3_0_loc"; - rename -uid "29750850-41A1-272A-8253-56A04A900BBC"; +createNode nurbsCurve -n "finger_L3_0_loc30_0crvShape" -p "finger_L3_0_loc"; + rename -uid "4756BDD5-4818-A11B-0D7B-209D9C4F325D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2202,8 +2279,8 @@ createNode nurbsCurve -n "finger_L3_0_loc27_0crvShape" -p "finger_L3_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L3_0_loc27_1crvShape" -p "finger_L3_0_loc"; - rename -uid "446CEA4D-4418-34EE-89FE-17884EA627EA"; +createNode nurbsCurve -n "finger_L3_0_loc30_1crvShape" -p "finger_L3_0_loc"; + rename -uid "D9CAFD07-4410-D491-5E41-00B644AC3D07"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2221,10 +2298,10 @@ createNode nurbsCurve -n "finger_L3_0_loc27_1crvShape" -p "finger_L3_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L3_1_loc" -p "finger_L3_0_loc"; - rename -uid "B5B2E4D1-4A58-EC96-DE69-46B62F0F1E01"; + rename -uid "6100888D-44E8-ED07-5ABD-F89C4EECC458"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.57524361070876839 -1.7763568394002505e-014 1.1102230246251565e-015 ; + setAttr ".t" -type "double3" 0.57524361070877017 -2.8421709430404007e-014 8.8817841970012523e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2232,12 +2309,12 @@ createNode transform -n "finger_L3_1_loc" -p "finger_L3_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999933 1.0000000000000002 ; + setAttr ".s" -type "double3" 1 0.99999999999999956 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L3_1_locShape" -p "finger_L3_1_loc"; - rename -uid "9A146FBB-440D-6ECE-6250-DF87A1F1BF3D"; + rename -uid "51600966-4DB1-6408-E2E4-FFBD712329A9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2249,8 +2326,8 @@ createNode nurbsCurve -n "finger_L3_1_locShape" -p "finger_L3_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L3_1_loc25Shape" -p "finger_L3_1_loc"; - rename -uid "5DC18368-4FF7-E1D9-8603-0C9F7811728D"; +createNode nurbsCurve -n "finger_L3_1_loc28Shape" -p "finger_L3_1_loc"; + rename -uid "350F07C6-4403-1ECC-FF25-0C84F4C2F302"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2262,8 +2339,8 @@ createNode nurbsCurve -n "finger_L3_1_loc25Shape" -p "finger_L3_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L3_1_loc26Shape" -p "finger_L3_1_loc"; - rename -uid "5B231DE0-411D-0FF7-AEFE-AC92DF592DBD"; +createNode nurbsCurve -n "finger_L3_1_loc29Shape" -p "finger_L3_1_loc"; + rename -uid "12C3D14D-468A-B0BA-9596-4A977702C920"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2275,8 +2352,8 @@ createNode nurbsCurve -n "finger_L3_1_loc26Shape" -p "finger_L3_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L3_1_loc27Shape" -p "finger_L3_1_loc"; - rename -uid "93854A5D-4092-AD2A-9249-37ACC4FF5595"; +createNode nurbsCurve -n "finger_L3_1_loc30Shape" -p "finger_L3_1_loc"; + rename -uid "9188CD5C-4CB6-51C2-2FB9-FFA7756CF559"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2293,8 +2370,8 @@ createNode nurbsCurve -n "finger_L3_1_loc27Shape" -p "finger_L3_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L3_1_loc27_0crvShape" -p "finger_L3_1_loc"; - rename -uid "5B0B4F41-4E4B-C713-50EB-C591538B37F8"; +createNode nurbsCurve -n "finger_L3_1_loc30_0crvShape" -p "finger_L3_1_loc"; + rename -uid "294C2D10-4E70-A189-F6FB-45B4DAFE2FB0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2311,8 +2388,8 @@ createNode nurbsCurve -n "finger_L3_1_loc27_0crvShape" -p "finger_L3_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L3_1_loc27_1crvShape" -p "finger_L3_1_loc"; - rename -uid "217DCBDB-44FC-CCE1-6CFA-EB8CF202E074"; +createNode nurbsCurve -n "finger_L3_1_loc30_1crvShape" -p "finger_L3_1_loc"; + rename -uid "EACF23F9-4F82-903A-C925-92AE77045087"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2330,10 +2407,10 @@ createNode nurbsCurve -n "finger_L3_1_loc27_1crvShape" -p "finger_L3_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L3_2_loc" -p "finger_L3_1_loc"; - rename -uid "BAD062A3-4E69-E0DE-BF48-4D9424718A43"; + rename -uid "1F8A8906-41B4-210E-F188-46AB7B886E48"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.31616177259193456 0 4.4408920985006262e-016 ; + setAttr ".t" -type "double3" 0.31616177259193368 7.1054273576010019e-015 -2.2204460492503131e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2341,12 +2418,12 @@ createNode transform -n "finger_L3_2_loc" -p "finger_L3_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999956 1.0000000000000013 1.0000000000000004 ; + setAttr ".s" -type "double3" 0.99999999999999944 1.0000000000000011 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L3_2_locShape" -p "finger_L3_2_loc"; - rename -uid "6B01524B-45CD-A01A-0524-1D8A4A688D80"; + rename -uid "2098E164-4A67-1601-E66A-ECB49459EDA1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2358,8 +2435,8 @@ createNode nurbsCurve -n "finger_L3_2_locShape" -p "finger_L3_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L3_2_loc25Shape" -p "finger_L3_2_loc"; - rename -uid "F7DC746B-4442-04C8-A7F3-97996F33D702"; +createNode nurbsCurve -n "finger_L3_2_loc28Shape" -p "finger_L3_2_loc"; + rename -uid "AE3E4294-4EAC-D2B8-8A1D-6A8A23428B8D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2371,8 +2448,8 @@ createNode nurbsCurve -n "finger_L3_2_loc25Shape" -p "finger_L3_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L3_2_loc26Shape" -p "finger_L3_2_loc"; - rename -uid "C8113D42-4E65-CC6B-4764-8B8B4FB138A7"; +createNode nurbsCurve -n "finger_L3_2_loc29Shape" -p "finger_L3_2_loc"; + rename -uid "24A0C1BA-4BD0-E9D1-FAA6-6A86648D9F4A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2384,8 +2461,8 @@ createNode nurbsCurve -n "finger_L3_2_loc26Shape" -p "finger_L3_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L3_2_loc27Shape" -p "finger_L3_2_loc"; - rename -uid "5CBFD58D-4874-D3F8-F06F-FD91BDED189A"; +createNode nurbsCurve -n "finger_L3_2_loc30Shape" -p "finger_L3_2_loc"; + rename -uid "E00AB485-4224-D424-D5D0-19AE77B6006D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2402,8 +2479,8 @@ createNode nurbsCurve -n "finger_L3_2_loc27Shape" -p "finger_L3_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L3_2_loc27_0crvShape" -p "finger_L3_2_loc"; - rename -uid "184B53ED-4B9A-C2DB-451F-1C91B184DE68"; +createNode nurbsCurve -n "finger_L3_2_loc30_0crvShape" -p "finger_L3_2_loc"; + rename -uid "8BDBDA93-4B4D-5C71-E2E4-AA81C1104C5B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2420,8 +2497,8 @@ createNode nurbsCurve -n "finger_L3_2_loc27_0crvShape" -p "finger_L3_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L3_2_loc27_1crvShape" -p "finger_L3_2_loc"; - rename -uid "F349F5A0-44B1-9E77-D466-BC88596F05E1"; +createNode nurbsCurve -n "finger_L3_2_loc30_1crvShape" -p "finger_L3_2_loc"; + rename -uid "D159E74E-4F99-8F26-1355-439F86A0E47D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2439,7 +2516,7 @@ createNode nurbsCurve -n "finger_L3_2_loc27_1crvShape" -p "finger_L3_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L3_blade" -p "finger_L3_root"; - rename -uid "38BB3E01-4EDF-9B24-8AFF-049316B6B572"; + rename -uid "F1974BED-43CF-8FC4-8B57-84B6CF524F75"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -2449,13 +2526,12 @@ createNode transform -n "finger_L3_blade" -p "finger_L3_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1 0.99999999999999989 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_L3_bladeShape" -p "finger_L3_blade"; - rename -uid "E7FFEC55-4222-3CAD-4F0B-389BCD51E366"; + rename -uid "FBC924DC-45FC-B63D-9141-F18FB8598403"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2465,12 +2541,12 @@ createNode nurbsCurve -n "finger_L3_bladeShape" -p "finger_L3_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970844 0 0 - 0 0.25859336491323615 0 + 0.77578009473970855 0 0 + 0 0.2585933649132362 0 0 0 0 ; -createNode aimConstraint -n "finger_L3_blade_aimConstraint9" -p "finger_L3_blade"; - rename -uid "5F320DAF-44BF-C52D-DCBA-0F964F65E7E2"; +createNode aimConstraint -n "finger_L3_blade_aimConstraint10" -p "finger_L3_blade"; + rename -uid "ED61B55F-4A01-9765-966B-EA94C3CCCCD3"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_L3_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -2486,8 +2562,8 @@ createNode aimConstraint -n "finger_L3_blade_aimConstraint9" -p "finger_L3_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_L3_blade_pointConstraint9" -p "finger_L3_blade"; - rename -uid "48558682-4FCE-E7E5-A9AF-A8917F41BD53"; +createNode pointConstraint -n "finger_L3_blade_pointConstraint10" -p "finger_L3_blade"; + rename -uid "A2500EF5-4718-04A7-8D4B-4CB1C366B44F"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_L3_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -2501,22 +2577,22 @@ createNode pointConstraint -n "finger_L3_blade_pointConstraint9" -p "finger_L3_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 1.7763568394002505e-015 0 6.6613381477509392e-016 ; + setAttr ".rst" -type "double3" -1.7763568394002505e-015 0 -2.2204460492503131e-016 ; setAttr -k on ".w0"; createNode transform -n "finger_L3_crv" -p "finger_L3_root"; - rename -uid "B6F70AC7-4874-806E-B36A-9990A36FB421"; + rename -uid "5E11EB2A-4381-9CD9-141E-0A9AB7E98FE8"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 8.1560938646754515 -29.032786855763469 1.4804327725045308 ; - setAttr ".r" -type "double3" -7.5791665394140972 -14.304244378901332 49.348303523761764 ; - setAttr ".s" -type "double3" 2.6320983106786136 2.632098310678602 2.6320983106786078 ; + setAttr ".t" -type "double3" 8.1560938646754533 -29.032786855763458 1.4804327725048581 ; + setAttr ".r" -type "double3" -7.5791665394145102 -14.304244378900817 49.348303523761885 ; + setAttr ".s" -type "double3" 2.6320983106786136 2.6320983106786024 2.6320983106786073 ; createNode nurbsCurve -n "finger_L3_crvShape" -p "finger_L3_crv"; - rename -uid "E569F681-4567-021E-3368-B996D22AC45D"; + rename -uid "82E1BA38-4990-8A03-A9CF-7F9604503500"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_L3_crvShapeOrig" -p "finger_L3_crv"; - rename -uid "C31A3363-453D-3A0D-C865-60BB0EB9578C"; + rename -uid "AAECFF70-473D-B344-9D25-70BB3BF551C1"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -2529,48 +2605,44 @@ createNode nurbsCurve -n "finger_L3_crvShapeOrig" -p "finger_L3_crv"; 0 0 0 ; createNode transform -n "finger_L2_root" -p "meta_L0_1_loc"; - rename -uid "B5722177-49D8-2CEC-27A0-C5BB60B380DB"; + rename -uid "418BFA34-4474-8D65-2952-B3B4E1A88249"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; - addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -dv 2 -min 0 -at "long"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.21404201232122544 -0.17620518664708129 2.8414845756647313 ; + setAttr ".t" -type "double3" 0.21404201232122766 -0.17620518664707419 2.8414845756647349 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 19.114415121377057 -82.086889237978554 -14.829711404959337 ; + setAttr ".r" -type "double3" 19.114415121376148 -82.086889237978653 -14.829711404956837 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.2929668245661798 1.2929668245661781 1.2929668245661798 ; + setAttr ".s" -type "double3" 1.2929668245661792 1.2929668245661774 1.2929668245661796 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "chain_01"; setAttr ".comp_name" -type "string" "finger"; setAttr ".comp_side" -type "string" "L"; - setAttr ".comp_index" 2; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_L2_rootShape" -p "finger_L2_root"; - rename -uid "B51CB226-47A2-3924-6157-E1AC20EE6463"; + rename -uid "95C28030-4BB0-B6CA-CF5E-B9A71BBB3306"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2582,8 +2654,8 @@ createNode nurbsCurve -n "finger_L2_rootShape" -p "finger_L2_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L2_root25Shape" -p "finger_L2_root"; - rename -uid "92A93AD6-41AF-50B6-8B7B-02AD6E1A2E6E"; +createNode nurbsCurve -n "finger_L2_root28Shape" -p "finger_L2_root"; + rename -uid "785F8947-47CC-FCB7-9DD6-7B8723F7089F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2595,8 +2667,8 @@ createNode nurbsCurve -n "finger_L2_root25Shape" -p "finger_L2_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L2_root26Shape" -p "finger_L2_root"; - rename -uid "D31FAD55-4215-13A2-1B30-37A5411083CF"; +createNode nurbsCurve -n "finger_L2_root29Shape" -p "finger_L2_root"; + rename -uid "349BF42A-4356-5E05-5C89-6BB360FB0D48"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2608,8 +2680,8 @@ createNode nurbsCurve -n "finger_L2_root26Shape" -p "finger_L2_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L2_root27Shape" -p "finger_L2_root"; - rename -uid "7426907E-45A1-7B07-E38B-2193BA7021D5"; +createNode nurbsCurve -n "finger_L2_root30Shape" -p "finger_L2_root"; + rename -uid "0F1372C2-4823-E5FE-1CCE-0BAB57395C50"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2636,10 +2708,10 @@ createNode nurbsCurve -n "finger_L2_root27Shape" -p "finger_L2_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_L2_0_loc" -p "finger_L2_root"; - rename -uid "4498F4B1-46B2-20CB-8F54-C4BA41E96102"; + rename -uid "9BF4079A-4154-19CE-9CBE-FFAF54047DE2"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.94501387217406929 -1.7763568394002505e-014 2.886579864025407e-015 ; + setAttr ".t" -type "double3" 0.9450138721740684 -1.4210854715202004e-014 2.6645352591003757e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2647,12 +2719,12 @@ createNode transform -n "finger_L2_0_loc" -p "finger_L2_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000013 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000011 1.0000000000000016 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L2_0_locShape" -p "finger_L2_0_loc"; - rename -uid "18B67CFD-49E2-4F3D-DDC8-D5BA630E8550"; + rename -uid "4F9EF1F5-4AC7-9F2B-4E83-C6A2A9D1D94F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2664,8 +2736,8 @@ createNode nurbsCurve -n "finger_L2_0_locShape" -p "finger_L2_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L2_0_loc25Shape" -p "finger_L2_0_loc"; - rename -uid "55F0FA6C-4229-1934-6648-BEB19EF0DC66"; +createNode nurbsCurve -n "finger_L2_0_loc28Shape" -p "finger_L2_0_loc"; + rename -uid "DBF01B79-43BC-64D4-F64A-A293C4C2143D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2677,8 +2749,8 @@ createNode nurbsCurve -n "finger_L2_0_loc25Shape" -p "finger_L2_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L2_0_loc26Shape" -p "finger_L2_0_loc"; - rename -uid "9CAE441E-4F96-27AC-E2FC-B3BF6906C41F"; +createNode nurbsCurve -n "finger_L2_0_loc29Shape" -p "finger_L2_0_loc"; + rename -uid "C8C34CC6-424A-4B27-C4AE-418DC501E188"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2690,8 +2762,8 @@ createNode nurbsCurve -n "finger_L2_0_loc26Shape" -p "finger_L2_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L2_0_loc27Shape" -p "finger_L2_0_loc"; - rename -uid "9D01ACE1-457A-57BF-852D-78A2128241D5"; +createNode nurbsCurve -n "finger_L2_0_loc30Shape" -p "finger_L2_0_loc"; + rename -uid "7197DDE7-4AD5-2617-9EDD-769A510024DA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2708,8 +2780,8 @@ createNode nurbsCurve -n "finger_L2_0_loc27Shape" -p "finger_L2_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L2_0_loc27_0crvShape" -p "finger_L2_0_loc"; - rename -uid "3BA7BBDD-4DC8-7E9D-B657-EE95BB3D677E"; +createNode nurbsCurve -n "finger_L2_0_loc30_0crvShape" -p "finger_L2_0_loc"; + rename -uid "9811DA9C-4910-1A00-623D-3897CBAD77ED"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2726,8 +2798,8 @@ createNode nurbsCurve -n "finger_L2_0_loc27_0crvShape" -p "finger_L2_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L2_0_loc27_1crvShape" -p "finger_L2_0_loc"; - rename -uid "05582C86-40CA-F893-618E-68987E1BB617"; +createNode nurbsCurve -n "finger_L2_0_loc30_1crvShape" -p "finger_L2_0_loc"; + rename -uid "2064B136-424E-C896-9E4D-CE9A261D7344"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2745,10 +2817,10 @@ createNode nurbsCurve -n "finger_L2_0_loc27_1crvShape" -p "finger_L2_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L2_1_loc" -p "finger_L2_0_loc"; - rename -uid "FADAD962-4DA5-8140-8979-B08382F6D154"; + rename -uid "22EEE0FE-4605-0FF0-0996-2CB7ECDE849D"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.76775488587175289 2.4868995751603507e-014 0 ; + setAttr ".t" -type "double3" 0.76775488587175467 2.1316282072803006e-014 -2.2204460492503131e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2756,12 +2828,12 @@ createNode transform -n "finger_L2_1_loc" -p "finger_L2_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999933 0.99999999999999944 ; + setAttr ".s" -type "double3" 0.99999999999999911 0.99999999999999944 0.99999999999999922 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L2_1_locShape" -p "finger_L2_1_loc"; - rename -uid "6F4C2477-4DD0-F330-CD98-14A13292E9DC"; + rename -uid "AA0FE053-440E-AD19-4D34-DEADB8C4541A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2773,8 +2845,8 @@ createNode nurbsCurve -n "finger_L2_1_locShape" -p "finger_L2_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L2_1_loc25Shape" -p "finger_L2_1_loc"; - rename -uid "3ED30EBA-42E2-DF5B-52DD-BE9D05362B29"; +createNode nurbsCurve -n "finger_L2_1_loc28Shape" -p "finger_L2_1_loc"; + rename -uid "EF6EF24A-4507-88CE-0D00-A5A00F208679"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2786,8 +2858,8 @@ createNode nurbsCurve -n "finger_L2_1_loc25Shape" -p "finger_L2_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L2_1_loc26Shape" -p "finger_L2_1_loc"; - rename -uid "FA8D048E-4D48-871D-175A-3B824044A305"; +createNode nurbsCurve -n "finger_L2_1_loc29Shape" -p "finger_L2_1_loc"; + rename -uid "1CCDFF1B-4735-B19D-3583-05B98B747F28"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2799,8 +2871,8 @@ createNode nurbsCurve -n "finger_L2_1_loc26Shape" -p "finger_L2_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L2_1_loc27Shape" -p "finger_L2_1_loc"; - rename -uid "69155E43-4909-5C12-54E1-A281E47C89DE"; +createNode nurbsCurve -n "finger_L2_1_loc30Shape" -p "finger_L2_1_loc"; + rename -uid "50EB4404-4948-518D-1332-0CAAC10BA3D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2817,8 +2889,8 @@ createNode nurbsCurve -n "finger_L2_1_loc27Shape" -p "finger_L2_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L2_1_loc27_0crvShape" -p "finger_L2_1_loc"; - rename -uid "BD13DE84-47BA-39F5-DF80-CCACCD58893F"; +createNode nurbsCurve -n "finger_L2_1_loc30_0crvShape" -p "finger_L2_1_loc"; + rename -uid "B31452CD-48C6-513A-4A29-A8B97F1A5B5B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2835,8 +2907,8 @@ createNode nurbsCurve -n "finger_L2_1_loc27_0crvShape" -p "finger_L2_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L2_1_loc27_1crvShape" -p "finger_L2_1_loc"; - rename -uid "AA19BC1C-42B2-D073-9D26-BF9382E8F5C2"; +createNode nurbsCurve -n "finger_L2_1_loc30_1crvShape" -p "finger_L2_1_loc"; + rename -uid "44314BD5-4758-F2AE-4CB6-19AD4869F483"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2854,10 +2926,10 @@ createNode nurbsCurve -n "finger_L2_1_loc27_1crvShape" -p "finger_L2_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L2_2_loc" -p "finger_L2_1_loc"; - rename -uid "7605DAC8-4F2A-7FDF-1B1E-A39651BD58C2"; + rename -uid "D425715E-4685-EEF0-0D5A-D28CCD022306"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.67457026674915621 -2.1316282072803006e-014 -6.6613381477509392e-016 ; + setAttr ".t" -type "double3" 0.67457026674915532 -1.7763568394002505e-014 -6.6613381477509392e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2865,12 +2937,12 @@ createNode transform -n "finger_L2_2_loc" -p "finger_L2_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 1.0000000000000007 1.0000000000000007 ; + setAttr ".s" -type "double3" 1.0000000000000009 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L2_2_locShape" -p "finger_L2_2_loc"; - rename -uid "3A32DE55-4E27-B7CD-9476-5F8818B319B9"; + rename -uid "969B6AE1-4303-18B6-C06C-2EB94C9D6C74"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2882,8 +2954,8 @@ createNode nurbsCurve -n "finger_L2_2_locShape" -p "finger_L2_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L2_2_loc25Shape" -p "finger_L2_2_loc"; - rename -uid "85C4FAAD-428A-3416-52D1-AFBA8B3BFF38"; +createNode nurbsCurve -n "finger_L2_2_loc28Shape" -p "finger_L2_2_loc"; + rename -uid "23B75318-4542-5E2F-C337-569B215A206E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2895,8 +2967,8 @@ createNode nurbsCurve -n "finger_L2_2_loc25Shape" -p "finger_L2_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L2_2_loc26Shape" -p "finger_L2_2_loc"; - rename -uid "A571F53E-4054-85A1-7284-E2946189CE4B"; +createNode nurbsCurve -n "finger_L2_2_loc29Shape" -p "finger_L2_2_loc"; + rename -uid "8FD92D2F-4BD5-6F00-993E-E1BFD9FE66C0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2908,8 +2980,8 @@ createNode nurbsCurve -n "finger_L2_2_loc26Shape" -p "finger_L2_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L2_2_loc27Shape" -p "finger_L2_2_loc"; - rename -uid "415C9857-4012-6A95-88AD-88928E148DDA"; +createNode nurbsCurve -n "finger_L2_2_loc30Shape" -p "finger_L2_2_loc"; + rename -uid "F1385FFC-41F8-22B9-E3D8-CEBEF22D9AE2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2926,8 +2998,8 @@ createNode nurbsCurve -n "finger_L2_2_loc27Shape" -p "finger_L2_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L2_2_loc27_0crvShape" -p "finger_L2_2_loc"; - rename -uid "888DD5B4-415C-26EB-04AE-46A76F7506D9"; +createNode nurbsCurve -n "finger_L2_2_loc30_0crvShape" -p "finger_L2_2_loc"; + rename -uid "58E2DBF7-47CF-D73B-467D-A4AD570D0BCE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2944,8 +3016,8 @@ createNode nurbsCurve -n "finger_L2_2_loc27_0crvShape" -p "finger_L2_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L2_2_loc27_1crvShape" -p "finger_L2_2_loc"; - rename -uid "711E5706-4CB5-12E8-2468-9993C5BE643A"; +createNode nurbsCurve -n "finger_L2_2_loc30_1crvShape" -p "finger_L2_2_loc"; + rename -uid "76F45813-4EAF-68BA-567F-23B44C5B88E0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2963,7 +3035,7 @@ createNode nurbsCurve -n "finger_L2_2_loc27_1crvShape" -p "finger_L2_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L2_blade" -p "finger_L2_root"; - rename -uid "D3D2D781-412E-DC37-4F68-1BA09F4CAD1C"; + rename -uid "89394188-4369-A302-77E4-A0A65A6E53B6"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -2973,13 +3045,13 @@ createNode transform -n "finger_L2_blade" -p "finger_L2_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000013 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000011 1.0000000000000016 1.0000000000000007 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_L2_bladeShape" -p "finger_L2_blade"; - rename -uid "393DBB1F-4585-1C8C-D8AE-48AB246C2C17"; + rename -uid "A6F0E146-4640-EE70-A700-72B69C43FDEE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2989,12 +3061,12 @@ createNode nurbsCurve -n "finger_L2_bladeShape" -p "finger_L2_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970788 0 0 - 0 0.25859336491323598 0 + 0.77578009473970744 0 0 + 0 0.25859336491323581 0 0 0 0 ; -createNode aimConstraint -n "finger_L2_blade_aimConstraint9" -p "finger_L2_blade"; - rename -uid "9BCA5B4B-4F48-0883-0994-B08AD2561380"; +createNode aimConstraint -n "finger_L2_blade_aimConstraint10" -p "finger_L2_blade"; + rename -uid "D5BCF1DD-48DD-BFA1-D2F5-15919A47A4DA"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_L2_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -3010,8 +3082,8 @@ createNode aimConstraint -n "finger_L2_blade_aimConstraint9" -p "finger_L2_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_L2_blade_pointConstraint9" -p "finger_L2_blade"; - rename -uid "744ABBFC-4F07-503C-41C2-379A445E22B5"; +createNode pointConstraint -n "finger_L2_blade_pointConstraint10" -p "finger_L2_blade"; + rename -uid "1B1EC012-4C00-9D52-399F-23B5D6D92153"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_L2_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -3025,23 +3097,22 @@ createNode pointConstraint -n "finger_L2_blade_pointConstraint9" -p "finger_L2_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 1.7763568394002505e-015 -3.5527136788005009e-015 - 2.2204460492503131e-016 ; + setAttr ".rst" -type "double3" 1.7763568394002505e-015 0 0 ; setAttr -k on ".w0"; createNode transform -n "finger_L2_crv" -p "finger_L2_root"; - rename -uid "8F8871FF-4166-7BF0-60CD-63B0FC453FEE"; + rename -uid "2A97DE37-46C2-1452-248A-32B7CC2B0932"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 8.0630938931309331 -29.023661369441623 1.4173349723071398 ; - setAttr ".r" -type "double3" -0.54140613098892132 -1.5904804996521624 47.737641631363935 ; - setAttr ".s" -type "double3" 2.6320983106786131 2.6320983106786016 2.6320983106786082 ; + setAttr ".t" -type "double3" 8.0630938931309526 -29.023661369441573 1.4173349723079571 ; + setAttr ".r" -type "double3" -0.54140613098998569 -1.5904804996509363 47.737641631363992 ; + setAttr ".s" -type "double3" 2.6320983106786136 2.632098310678602 2.6320983106786082 ; createNode nurbsCurve -n "finger_L2_crvShape" -p "finger_L2_crv"; - rename -uid "9467EEEC-46D6-0333-8CE5-6FBCDF060E58"; + rename -uid "C9D9C989-43AF-78E0-D574-DD8FE0F978A2"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_L2_crvShapeOrig" -p "finger_L2_crv"; - rename -uid "32FEF6ED-439D-0C04-E46E-358F480AA929"; + rename -uid "6484CD8B-4000-A0E3-5649-118CDD3D104E"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -3054,48 +3125,44 @@ createNode nurbsCurve -n "finger_L2_crvShapeOrig" -p "finger_L2_crv"; 0 0 0 ; createNode transform -n "finger_L1_root" -p "meta_L0_0_loc"; - rename -uid "A04BFEC1-4A08-706E-C6D8-408B5B777EF7"; + rename -uid "0C271F39-460C-265F-D87C-09B7D908AFF8"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; - addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -dv 1 -min 0 -at "long"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.0077643969605949437 -0.12358406696715463 2.9483952421545823 ; + setAttr ".t" -type "double3" -0.0077643969605958318 -0.1235840669671262 2.9483952421545823 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 121.34021398870092 -79.977014017422619 -112.77222628638373 ; + setAttr ".r" -type "double3" 121.34021398870121 -79.977014017422945 -112.77222628638467 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.2929668245661787 1.2929668245661801 1.2929668245661796 ; + setAttr ".s" -type "double3" 1.2929668245661792 1.2929668245661801 1.2929668245661796 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "chain_01"; setAttr ".comp_name" -type "string" "finger"; setAttr ".comp_side" -type "string" "L"; - setAttr ".comp_index" 1; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_L1_rootShape" -p "finger_L1_root"; - rename -uid "54528121-438C-D748-FF73-1C907C47321A"; + rename -uid "23943D21-493A-41CE-FD6C-C68F9870AD74"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3107,8 +3174,8 @@ createNode nurbsCurve -n "finger_L1_rootShape" -p "finger_L1_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L1_root25Shape" -p "finger_L1_root"; - rename -uid "DAA904AA-4A78-7FF0-32BC-7E816ABB14C3"; +createNode nurbsCurve -n "finger_L1_root28Shape" -p "finger_L1_root"; + rename -uid "3D7453AC-46C9-0752-C5C0-66BAAA2F97DA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3120,8 +3187,8 @@ createNode nurbsCurve -n "finger_L1_root25Shape" -p "finger_L1_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L1_root26Shape" -p "finger_L1_root"; - rename -uid "5CE9A806-4263-E546-EB0F-1797451E7BFD"; +createNode nurbsCurve -n "finger_L1_root29Shape" -p "finger_L1_root"; + rename -uid "B436E7B0-4582-B969-2FB0-AD84AC776642"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3133,8 +3200,8 @@ createNode nurbsCurve -n "finger_L1_root26Shape" -p "finger_L1_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L1_root27Shape" -p "finger_L1_root"; - rename -uid "9F4CD028-4E3D-DF92-8353-95A6CC29335C"; +createNode nurbsCurve -n "finger_L1_root30Shape" -p "finger_L1_root"; + rename -uid "080CE05D-4013-2F76-66FD-00BF89BD0507"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3161,10 +3228,10 @@ createNode nurbsCurve -n "finger_L1_root27Shape" -p "finger_L1_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_L1_0_loc" -p "finger_L1_root"; - rename -uid "914DFF79-4DCC-0535-A6D7-8BA8E1C19F42"; + rename -uid "13F05939-4CF8-EE62-91B8-57A880D1DF8C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.99999999999998401 1.4210854715202004e-014 -8.8817841970012523e-016 ; + setAttr ".t" -type "double3" 0.99999999999998224 7.1054273576010019e-015 -2.2204460492503131e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3172,12 +3239,12 @@ createNode transform -n "finger_L1_0_loc" -p "finger_L1_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999967 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L1_0_locShape" -p "finger_L1_0_loc"; - rename -uid "99DC0949-4A62-910E-25FC-22BC53BD9B72"; + rename -uid "F136D4DF-4641-1040-7273-C9998F1CCA19"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3189,8 +3256,8 @@ createNode nurbsCurve -n "finger_L1_0_locShape" -p "finger_L1_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L1_0_loc25Shape" -p "finger_L1_0_loc"; - rename -uid "BD5EC430-474D-BA8A-A3F4-C5B79FCA5B6B"; +createNode nurbsCurve -n "finger_L1_0_loc28Shape" -p "finger_L1_0_loc"; + rename -uid "4D0237A0-4F00-3C9B-F6BA-F19DF485A1A4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3202,8 +3269,8 @@ createNode nurbsCurve -n "finger_L1_0_loc25Shape" -p "finger_L1_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L1_0_loc26Shape" -p "finger_L1_0_loc"; - rename -uid "644C7DA4-4E3D-0E5F-283D-5594FDE07BEA"; +createNode nurbsCurve -n "finger_L1_0_loc29Shape" -p "finger_L1_0_loc"; + rename -uid "DFAC43FB-4218-B221-AFAB-DD9C779C1F93"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3215,8 +3282,8 @@ createNode nurbsCurve -n "finger_L1_0_loc26Shape" -p "finger_L1_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L1_0_loc27Shape" -p "finger_L1_0_loc"; - rename -uid "C24A8415-40A7-778F-EAFA-25A3D5179477"; +createNode nurbsCurve -n "finger_L1_0_loc30Shape" -p "finger_L1_0_loc"; + rename -uid "1FB8DFC0-4AEB-E26B-8C3D-37BA59F2B8CD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3233,8 +3300,8 @@ createNode nurbsCurve -n "finger_L1_0_loc27Shape" -p "finger_L1_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L1_0_loc27_0crvShape" -p "finger_L1_0_loc"; - rename -uid "76FA84C1-49F5-7162-CD38-EEA0BF66C0D8"; +createNode nurbsCurve -n "finger_L1_0_loc30_0crvShape" -p "finger_L1_0_loc"; + rename -uid "3735BCB6-4201-163A-55B9-2D9B530CA9F2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3251,8 +3318,8 @@ createNode nurbsCurve -n "finger_L1_0_loc27_0crvShape" -p "finger_L1_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L1_0_loc27_1crvShape" -p "finger_L1_0_loc"; - rename -uid "B00B141F-4E0C-B331-5B2D-4DB82DAF3862"; +createNode nurbsCurve -n "finger_L1_0_loc30_1crvShape" -p "finger_L1_0_loc"; + rename -uid "1D1576D8-461B-71A3-87F6-078E8CD459D2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3270,10 +3337,10 @@ createNode nurbsCurve -n "finger_L1_0_loc27_1crvShape" -p "finger_L1_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L1_1_loc" -p "finger_L1_0_loc"; - rename -uid "D58DE242-4530-0ADD-DF28-C99703B41832"; + rename -uid "4792E878-4C51-3D6A-9B26-EC8C334199AD"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.96412528414018439 1.0658141036401503e-014 -4.4408920985006262e-016 ; + setAttr ".t" -type "double3" 0.96412528414018617 1.0658141036401503e-014 4.4408920985006262e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3281,12 +3348,12 @@ createNode transform -n "finger_L1_1_loc" -p "finger_L1_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999933 0.99999999999999978 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999956 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L1_1_locShape" -p "finger_L1_1_loc"; - rename -uid "41289926-43A2-3FD4-A9D5-338844686161"; + rename -uid "7E590291-4B62-A4F9-2877-A692459603C2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3298,8 +3365,8 @@ createNode nurbsCurve -n "finger_L1_1_locShape" -p "finger_L1_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L1_1_loc25Shape" -p "finger_L1_1_loc"; - rename -uid "E775FA73-4F9B-05A4-9FA2-43B5FDF83936"; +createNode nurbsCurve -n "finger_L1_1_loc28Shape" -p "finger_L1_1_loc"; + rename -uid "113BFA7C-4E92-F10E-A9B4-B385004A336E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3311,8 +3378,8 @@ createNode nurbsCurve -n "finger_L1_1_loc25Shape" -p "finger_L1_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L1_1_loc26Shape" -p "finger_L1_1_loc"; - rename -uid "8AAE2251-4F64-374D-1BF0-D083858E6841"; +createNode nurbsCurve -n "finger_L1_1_loc29Shape" -p "finger_L1_1_loc"; + rename -uid "33CAD94C-421F-0747-2B06-E794833052F5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3324,8 +3391,8 @@ createNode nurbsCurve -n "finger_L1_1_loc26Shape" -p "finger_L1_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L1_1_loc27Shape" -p "finger_L1_1_loc"; - rename -uid "93F596BE-42C1-0909-D4CF-7DAFCFC49AD1"; +createNode nurbsCurve -n "finger_L1_1_loc30Shape" -p "finger_L1_1_loc"; + rename -uid "59DC19EC-4185-A2D4-1E15-3480D319C0EA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3342,8 +3409,8 @@ createNode nurbsCurve -n "finger_L1_1_loc27Shape" -p "finger_L1_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L1_1_loc27_0crvShape" -p "finger_L1_1_loc"; - rename -uid "96A8A97A-4077-15E0-34F6-A98484365CC1"; +createNode nurbsCurve -n "finger_L1_1_loc30_0crvShape" -p "finger_L1_1_loc"; + rename -uid "E84F6F0B-40D2-32EF-86AB-6797BF96ADAD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3360,8 +3427,8 @@ createNode nurbsCurve -n "finger_L1_1_loc27_0crvShape" -p "finger_L1_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L1_1_loc27_1crvShape" -p "finger_L1_1_loc"; - rename -uid "162611A8-4B13-3853-77B8-0CA4A32E7A4E"; +createNode nurbsCurve -n "finger_L1_1_loc30_1crvShape" -p "finger_L1_1_loc"; + rename -uid "7B87ABF2-43D6-FF1F-5F1D-D6B00CC2704D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3379,10 +3446,10 @@ createNode nurbsCurve -n "finger_L1_1_loc27_1crvShape" -p "finger_L1_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L1_2_loc" -p "finger_L1_1_loc"; - rename -uid "47CC3376-4ECC-B8F3-88E9-DBB62B628062"; + rename -uid "1D495523-40DC-BBBE-337D-E7923BEB96AC"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.58017281549591004 -1.7763568394002505e-014 -2.2204460492503131e-016 ; + setAttr ".t" -type "double3" 0.58017281549589939 -1.4210854715202004e-014 -4.4408920985006262e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3390,12 +3457,12 @@ createNode transform -n "finger_L1_2_loc" -p "finger_L1_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000002 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L1_2_locShape" -p "finger_L1_2_loc"; - rename -uid "282047B1-49AA-871B-07B7-919E38C9D04B"; + rename -uid "99AE3963-4377-47A0-8DE7-85A0A5232BEC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3407,8 +3474,8 @@ createNode nurbsCurve -n "finger_L1_2_locShape" -p "finger_L1_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L1_2_loc25Shape" -p "finger_L1_2_loc"; - rename -uid "2FD991A2-4CA0-27ED-3E81-2FAF32C96F71"; +createNode nurbsCurve -n "finger_L1_2_loc28Shape" -p "finger_L1_2_loc"; + rename -uid "8A194ADA-4587-ADC8-3893-A5B1D1FBD01E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3420,8 +3487,8 @@ createNode nurbsCurve -n "finger_L1_2_loc25Shape" -p "finger_L1_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L1_2_loc26Shape" -p "finger_L1_2_loc"; - rename -uid "7FAA8180-4F96-70D2-0AC7-D68143CC5823"; +createNode nurbsCurve -n "finger_L1_2_loc29Shape" -p "finger_L1_2_loc"; + rename -uid "D4C988F9-49B4-5BD6-54DD-B987A98C9316"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3433,8 +3500,8 @@ createNode nurbsCurve -n "finger_L1_2_loc26Shape" -p "finger_L1_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L1_2_loc27Shape" -p "finger_L1_2_loc"; - rename -uid "349CE503-4825-C7E0-EA43-72B9F4C491BF"; +createNode nurbsCurve -n "finger_L1_2_loc30Shape" -p "finger_L1_2_loc"; + rename -uid "A296DCAD-4468-2665-D014-8C9BEA22B76E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3451,8 +3518,8 @@ createNode nurbsCurve -n "finger_L1_2_loc27Shape" -p "finger_L1_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L1_2_loc27_0crvShape" -p "finger_L1_2_loc"; - rename -uid "E1896AC6-47BD-5411-2387-6E9F8222510C"; +createNode nurbsCurve -n "finger_L1_2_loc30_0crvShape" -p "finger_L1_2_loc"; + rename -uid "085A8154-407E-63C7-BF10-7F9310EABFFC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3469,8 +3536,8 @@ createNode nurbsCurve -n "finger_L1_2_loc27_0crvShape" -p "finger_L1_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L1_2_loc27_1crvShape" -p "finger_L1_2_loc"; - rename -uid "973DBA8B-4506-A4D7-F00C-2881BF4B5356"; +createNode nurbsCurve -n "finger_L1_2_loc30_1crvShape" -p "finger_L1_2_loc"; + rename -uid "0467786D-45BB-1434-DA57-AE817A1AEDEE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3488,7 +3555,7 @@ createNode nurbsCurve -n "finger_L1_2_loc27_1crvShape" -p "finger_L1_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L1_blade" -p "finger_L1_root"; - rename -uid "AA12360A-4FEA-F921-DE8E-DF82A3632553"; + rename -uid "A98F837B-4A92-7ECD-3F39-3A973A576A0A"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -3498,13 +3565,13 @@ createNode transform -n "finger_L1_blade" -p "finger_L1_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999967 1 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_L1_bladeShape" -p "finger_L1_blade"; - rename -uid "18F6A578-43A4-F839-F182-B2B3F3621213"; + rename -uid "BCC94EA1-432C-5292-D8B3-2393C001F71C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3514,12 +3581,12 @@ createNode nurbsCurve -n "finger_L1_bladeShape" -p "finger_L1_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970722 0 0 - 0 0.25859336491323576 0 + 0.77578009473970744 0 0 + 0 0.25859336491323581 0 0 0 0 ; -createNode aimConstraint -n "finger_L1_blade_aimConstraint9" -p "finger_L1_blade"; - rename -uid "0977C3F1-463D-7884-2BAE-829B396AECEF"; +createNode aimConstraint -n "finger_L1_blade_aimConstraint10" -p "finger_L1_blade"; + rename -uid "B6410DF7-43E0-970B-722C-B0BC7A04DED4"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_L1_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -3535,8 +3602,8 @@ createNode aimConstraint -n "finger_L1_blade_aimConstraint9" -p "finger_L1_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_L1_blade_pointConstraint9" -p "finger_L1_blade"; - rename -uid "19A29D51-4444-F99A-A3B5-5E848EE4D7B0"; +createNode pointConstraint -n "finger_L1_blade_pointConstraint10" -p "finger_L1_blade"; + rename -uid "87618FA0-4F86-0369-01CA-9DA206C5573C"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_L1_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -3550,22 +3617,22 @@ createNode pointConstraint -n "finger_L1_blade_pointConstraint9" -p "finger_L1_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 0 -4.4408920985006262e-016 ; + setAttr ".rst" -type "double3" 0 -3.5527136788005009e-015 0 ; setAttr -k on ".w0"; createNode transform -n "finger_L1_crv" -p "finger_L1_root"; - rename -uid "DE0F1137-43DD-03F9-0D8D-D185908B1641"; + rename -uid "45445143-4606-ECE9-260F-618CB52AC206"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 11.22243322515321 -28.040620010901346 1.1418187531094541 ; - setAttr ".r" -type "double3" 5.8484943948543453 9.9768879508748096 54.111347352878276 ; - setAttr ".s" -type "double3" 2.632098310678614 2.6320983106786024 2.6320983106786096 ; + setAttr ".t" -type "double3" 11.222433225153219 -28.040620010901346 1.1418187531091182 ; + setAttr ".r" -type "double3" 5.8484943948547619 9.9768879508742643 54.111347352878354 ; + setAttr ".s" -type "double3" 2.6320983106786122 2.6320983106786016 2.6320983106786091 ; createNode nurbsCurve -n "finger_L1_crvShape" -p "finger_L1_crv"; - rename -uid "7BADF064-49AF-5077-6366-EB806FFFF150"; + rename -uid "026E55F7-477A-80BD-52A9-BAA05ECE7689"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_L1_crvShapeOrig" -p "finger_L1_crv"; - rename -uid "E241D1E0-40A4-A4E6-032B-3C8CD2F280CD"; + rename -uid "F3171980-49A0-84C7-EB19-29A6CE1C78BD"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -3578,7 +3645,7 @@ createNode nurbsCurve -n "finger_L1_crvShapeOrig" -p "finger_L1_crv"; 0 0 0 ; createNode transform -n "meta_L0_blade" -p "meta_L0_root"; - rename -uid "9BB5FA11-41A5-3B37-903E-FCBE43840668"; + rename -uid "CDB7EC57-4A43-F40A-3C6D-37BC1C021665"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -3588,13 +3655,13 @@ createNode transform -n "meta_L0_blade" -p "meta_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.999999999999999 0.99999999999999956 0.99999999999999878 ; + setAttr ".s" -type "double3" 0.99999999999999911 0.99999999999999956 0.99999999999999878 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "meta_L0_bladeShape" -p "meta_L0_blade"; - rename -uid "9F053794-4937-EE26-481B-0380F76D495A"; + rename -uid "699FB832-4934-4C70-1FF1-679BF365BDAE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3604,12 +3671,12 @@ createNode nurbsCurve -n "meta_L0_bladeShape" -p "meta_L0_blade"; 4 0 1 2 3 4 0 0 0 - 0.18503232649030155 0 0 - 0 0.061677442163433849 0 + 0.1850323264903016 0 0 + 0 0.06167744216343387 0 0 0 0 ; -createNode aimConstraint -n "meta_L0_blade_aimConstraint9" -p "meta_L0_blade"; - rename -uid "E5E0B159-4675-9503-6D5C-6DB8044F7ACB"; +createNode aimConstraint -n "meta_L0_blade_aimConstraint10" -p "meta_L0_blade"; + rename -uid "DC966F8E-4599-C5FD-B4FB-1DAFAFEA4BB5"; addAttr -dcb 0 -ci true -sn "w0" -ln "meta_L0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -3625,8 +3692,8 @@ createNode aimConstraint -n "meta_L0_blade_aimConstraint9" -p "meta_L0_blade"; setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "meta_L0_blade_pointConstraint9" -p "meta_L0_blade"; - rename -uid "C75117B7-49DE-6ADE-F10B-B5B19FADB509"; +createNode pointConstraint -n "meta_L0_blade_pointConstraint10" -p "meta_L0_blade"; + rename -uid "42680D6C-4B21-16CB-E1A4-49AAEC8470FE"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "meta_L0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -3640,22 +3707,22 @@ createNode pointConstraint -n "meta_L0_blade_pointConstraint9" -p "meta_L0_blade setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 8.8817841970012523e-016 7.1054273576010019e-015 3.5527136788005009e-015 ; + setAttr ".rst" -type "double3" 4.4408920985006262e-016 7.1054273576010019e-015 3.5527136788005009e-015 ; setAttr -k on ".w0"; createNode transform -n "meta_L0_crv" -p "meta_L0_root"; - rename -uid "2774ED76-4F6A-905A-333D-2FB4D67BC8EF"; + rename -uid "0CB4B827-4A4C-1E95-2AC0-37B3FE6D0D64"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 3.8070066058400576 -38.076493243285029 11.714163621936251 ; - setAttr ".r" -type "double3" -81.595645682431496 -44.654258545702959 89.275820115296384 ; - setAttr ".s" -type "double3" 3.403215794704129 3.4032157947041144 3.4032157947041237 ; + setAttr ".t" -type "double3" 3.8070066058400549 -38.076493243284943 11.714163621936518 ; + setAttr ".r" -type "double3" -81.59564568243151 -44.654258545702575 89.275820115296355 ; + setAttr ".s" -type "double3" 3.4032157947041286 3.4032157947041144 3.4032157947041233 ; createNode nurbsCurve -n "meta_L0_crvShape" -p "meta_L0_crv"; - rename -uid "07A0FDC4-4673-FFDF-8AF5-1AA73C50A091"; + rename -uid "27800BDA-42CB-8210-A5F6-6795EDC64001"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "meta_L0_crvShapeOrig" -p "meta_L0_crv"; - rename -uid "362A1693-45A0-82DF-31DA-4695797DC3A0"; + rename -uid "EA47BFC2-409D-1966-B843-5BB4A3D3967D"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -3668,7 +3735,7 @@ createNode nurbsCurve -n "meta_L0_crvShapeOrig" -p "meta_L0_crv"; 0 0 0 ; createNode transform -n "finger_L0_root" -p "meta_L0_root"; - rename -uid "D7475171-467F-6198-F86B-D0B28D53BC22"; + rename -uid "62978EF3-446E-5E22-88BE-6C857ECD38F6"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -3678,22 +3745,22 @@ createNode transform -n "finger_L0_root" -p "meta_L0_root"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.18403723679762996 -0.30586006047049352 2.7614233959505619 ; + setAttr ".t" -type "double3" -0.18403723679763084 -0.3058600604704651 2.7614233959505619 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 150.01356893808432 -71.60667945009736 -133.79382708613258 ; + setAttr ".r" -type "double3" 150.01356893808463 -71.606679450097616 -133.7938270861334 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.2929668245661794 1.2929668245661798 1.292966824566181 ; + setAttr ".s" -type "double3" 1.2929668245661792 1.2929668245661798 1.2929668245661807 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -3703,12 +3770,9 @@ createNode transform -n "finger_L0_root" -p "meta_L0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_L0_rootShape" -p "finger_L0_root"; - rename -uid "8BB9A925-4602-FA44-38D5-43B271A4ED57"; + rename -uid "5A6AA596-4603-1158-0E2D-C598C41C1CC5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3720,8 +3784,8 @@ createNode nurbsCurve -n "finger_L0_rootShape" -p "finger_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L0_root25Shape" -p "finger_L0_root"; - rename -uid "37CFAE10-4D3C-CB1A-510C-B3BC05ED422C"; +createNode nurbsCurve -n "finger_L0_root28Shape" -p "finger_L0_root"; + rename -uid "838DFE9A-4D64-79A8-3664-03BBDC4B6B09"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3733,8 +3797,8 @@ createNode nurbsCurve -n "finger_L0_root25Shape" -p "finger_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L0_root26Shape" -p "finger_L0_root"; - rename -uid "5BE7BB30-4386-6CBD-AE3C-FB83ED8DAF9A"; +createNode nurbsCurve -n "finger_L0_root29Shape" -p "finger_L0_root"; + rename -uid "A7F38F7F-40FC-0761-B4B1-C18F9143AA66"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3746,8 +3810,8 @@ createNode nurbsCurve -n "finger_L0_root26Shape" -p "finger_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L0_root27Shape" -p "finger_L0_root"; - rename -uid "0DD423FD-4F97-8A3C-4A93-559840C36AFE"; +createNode nurbsCurve -n "finger_L0_root30Shape" -p "finger_L0_root"; + rename -uid "478AA95E-4F22-21D4-CCF5-7AB0DEFEC649"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3774,10 +3838,10 @@ createNode nurbsCurve -n "finger_L0_root27Shape" -p "finger_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_L0_0_loc" -p "finger_L0_root"; - rename -uid "C56B8332-464E-EBAC-E176-4887C3F29EED"; + rename -uid "11B8034C-40D1-45EC-D9D4-749BEEE123E6"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1 -3.5527136788005009e-015 6.6613381477509392e-015 ; + setAttr ".t" -type "double3" 1.0000000000000018 -7.1054273576010019e-015 6.6613381477509392e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3785,12 +3849,12 @@ createNode transform -n "finger_L0_0_loc" -p "finger_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999911 0.999999999999999 0.99999999999999933 ; + setAttr ".s" -type "double3" 0.99999999999999944 0.99999999999999889 0.99999999999999933 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L0_0_locShape" -p "finger_L0_0_loc"; - rename -uid "DB3810B2-43D8-11C3-6B2A-27AF4D91BC68"; + rename -uid "852A603E-492C-7D20-AD5B-0F9B8DC98B75"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3802,8 +3866,8 @@ createNode nurbsCurve -n "finger_L0_0_locShape" -p "finger_L0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L0_0_loc25Shape" -p "finger_L0_0_loc"; - rename -uid "82B6854C-47D3-2F1D-C48D-B98175B0587A"; +createNode nurbsCurve -n "finger_L0_0_loc28Shape" -p "finger_L0_0_loc"; + rename -uid "8AD6D44B-4D13-A6EE-2154-ECB3CF9CA2BF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3815,8 +3879,8 @@ createNode nurbsCurve -n "finger_L0_0_loc25Shape" -p "finger_L0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L0_0_loc26Shape" -p "finger_L0_0_loc"; - rename -uid "01768107-4CE0-FAF3-918A-5FB5E229C7CB"; +createNode nurbsCurve -n "finger_L0_0_loc29Shape" -p "finger_L0_0_loc"; + rename -uid "C19919C8-48B0-4627-7D00-D288E31B142A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3828,8 +3892,8 @@ createNode nurbsCurve -n "finger_L0_0_loc26Shape" -p "finger_L0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L0_0_loc27Shape" -p "finger_L0_0_loc"; - rename -uid "2E4931D0-4B10-56C8-39C1-4CA3C72281A9"; +createNode nurbsCurve -n "finger_L0_0_loc30Shape" -p "finger_L0_0_loc"; + rename -uid "899FA033-4E8E-01C5-41E9-CEBCDFC00A50"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3846,8 +3910,8 @@ createNode nurbsCurve -n "finger_L0_0_loc27Shape" -p "finger_L0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L0_0_loc27_0crvShape" -p "finger_L0_0_loc"; - rename -uid "16FCC055-431F-76CE-6CF9-8B997B411763"; +createNode nurbsCurve -n "finger_L0_0_loc30_0crvShape" -p "finger_L0_0_loc"; + rename -uid "67A64DC9-4CD9-4C64-40F8-01A8BE24AEC7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3864,8 +3928,8 @@ createNode nurbsCurve -n "finger_L0_0_loc27_0crvShape" -p "finger_L0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L0_0_loc27_1crvShape" -p "finger_L0_0_loc"; - rename -uid "64F284BC-45A5-D92F-5FD3-22B89EB4C9A0"; +createNode nurbsCurve -n "finger_L0_0_loc30_1crvShape" -p "finger_L0_0_loc"; + rename -uid "8CAAD295-4F76-1D06-1CA0-6CB991046947"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3883,10 +3947,10 @@ createNode nurbsCurve -n "finger_L0_0_loc27_1crvShape" -p "finger_L0_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L0_1_loc" -p "finger_L0_0_loc"; - rename -uid "8E8E5E7D-43CC-17AB-3BF0-9B9B2DA8DD06"; + rename -uid "2552A075-4DCD-06DF-276F-9F9B4DA3DC6B"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.8044200808092814 -7.1054273576010019e-015 -1.3322676295501878e-015 ; + setAttr ".t" -type "double3" 0.80442008080927785 -1.7763568394002505e-014 1.7763568394002505e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3899,7 +3963,7 @@ createNode transform -n "finger_L0_1_loc" -p "finger_L0_0_loc"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L0_1_locShape" -p "finger_L0_1_loc"; - rename -uid "4B5FF05B-44FD-2C70-3B7D-C9899C97D89F"; + rename -uid "D34C0DF1-4239-C1A2-86F3-888E9B1BAF03"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3911,8 +3975,8 @@ createNode nurbsCurve -n "finger_L0_1_locShape" -p "finger_L0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L0_1_loc25Shape" -p "finger_L0_1_loc"; - rename -uid "68DAE13E-4579-E9DF-E9B9-57A16E00BDF2"; +createNode nurbsCurve -n "finger_L0_1_loc28Shape" -p "finger_L0_1_loc"; + rename -uid "2D77368E-4706-E62C-4B00-5CAB2B968870"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3924,8 +3988,8 @@ createNode nurbsCurve -n "finger_L0_1_loc25Shape" -p "finger_L0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L0_1_loc26Shape" -p "finger_L0_1_loc"; - rename -uid "58E20511-471A-0982-2B11-AFA258BF0092"; +createNode nurbsCurve -n "finger_L0_1_loc29Shape" -p "finger_L0_1_loc"; + rename -uid "9D5C41E7-4623-7251-C991-BB80D734CFD6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3937,8 +4001,8 @@ createNode nurbsCurve -n "finger_L0_1_loc26Shape" -p "finger_L0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L0_1_loc27Shape" -p "finger_L0_1_loc"; - rename -uid "A7D37F20-464B-263F-6C7B-0A8458E97226"; +createNode nurbsCurve -n "finger_L0_1_loc30Shape" -p "finger_L0_1_loc"; + rename -uid "9FA0C7B4-4DCD-367A-C1CB-B8BF724ABAFA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3955,8 +4019,8 @@ createNode nurbsCurve -n "finger_L0_1_loc27Shape" -p "finger_L0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L0_1_loc27_0crvShape" -p "finger_L0_1_loc"; - rename -uid "FB0A7166-4806-4671-51C0-1E929E2D4CA0"; +createNode nurbsCurve -n "finger_L0_1_loc30_0crvShape" -p "finger_L0_1_loc"; + rename -uid "FE764952-4EAC-2CB8-6101-32A3BAE47000"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3973,8 +4037,8 @@ createNode nurbsCurve -n "finger_L0_1_loc27_0crvShape" -p "finger_L0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L0_1_loc27_1crvShape" -p "finger_L0_1_loc"; - rename -uid "DB631527-4CFD-41F4-C981-4CB52C18B567"; +createNode nurbsCurve -n "finger_L0_1_loc30_1crvShape" -p "finger_L0_1_loc"; + rename -uid "0D5FA66B-4B58-48BC-FAD6-F0811512F230"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3992,10 +4056,10 @@ createNode nurbsCurve -n "finger_L0_1_loc27_1crvShape" -p "finger_L0_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L0_2_loc" -p "finger_L0_1_loc"; - rename -uid "C254DFA4-4683-36DB-9F88-299ECB9FB501"; + rename -uid "39101F5E-43E6-656C-F247-539BDBE1A072"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.58431370392367654 2.1316282072803006e-014 -2.6645352591003757e-015 ; + setAttr ".t" -type "double3" 0.58431370392367832 2.4868995751603507e-014 -4.4408920985006262e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4003,12 +4067,12 @@ createNode transform -n "finger_L0_2_loc" -p "finger_L0_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999956 1 1 ; + setAttr ".s" -type "double3" 0.99999999999999933 1 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_L0_2_locShape" -p "finger_L0_2_loc"; - rename -uid "346BB767-4F43-A73B-E245-50A86D9CD434"; + rename -uid "86F80F96-467C-626B-2B7C-F384B8579057"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4020,8 +4084,8 @@ createNode nurbsCurve -n "finger_L0_2_locShape" -p "finger_L0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_L0_2_loc25Shape" -p "finger_L0_2_loc"; - rename -uid "6C528BD7-4EE5-26DB-5B9D-8A964CFB7F71"; +createNode nurbsCurve -n "finger_L0_2_loc28Shape" -p "finger_L0_2_loc"; + rename -uid "51713412-49FA-6A1A-EB57-39BF5D10DCBA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4033,8 +4097,8 @@ createNode nurbsCurve -n "finger_L0_2_loc25Shape" -p "finger_L0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_L0_2_loc26Shape" -p "finger_L0_2_loc"; - rename -uid "273B95B2-4DDD-BB6A-9A8D-95A49E04382F"; +createNode nurbsCurve -n "finger_L0_2_loc29Shape" -p "finger_L0_2_loc"; + rename -uid "AE08FCD4-4DED-F437-52B5-7F903D8142C7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4046,8 +4110,8 @@ createNode nurbsCurve -n "finger_L0_2_loc26Shape" -p "finger_L0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_L0_2_loc27Shape" -p "finger_L0_2_loc"; - rename -uid "A9D532FE-4E54-E7F7-3810-009A92697224"; +createNode nurbsCurve -n "finger_L0_2_loc30Shape" -p "finger_L0_2_loc"; + rename -uid "D9A642BA-46F8-C18E-C574-28B69F6E77D7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4064,8 +4128,8 @@ createNode nurbsCurve -n "finger_L0_2_loc27Shape" -p "finger_L0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L0_2_loc27_0crvShape" -p "finger_L0_2_loc"; - rename -uid "CA96E85E-46F9-F131-313D-BBB9CC1C771F"; +createNode nurbsCurve -n "finger_L0_2_loc30_0crvShape" -p "finger_L0_2_loc"; + rename -uid "AD1203B7-4443-5072-EC12-65AF6576749F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4082,8 +4146,8 @@ createNode nurbsCurve -n "finger_L0_2_loc27_0crvShape" -p "finger_L0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_L0_2_loc27_1crvShape" -p "finger_L0_2_loc"; - rename -uid "1EA89FBF-4B92-3587-7FA0-8CA1E6EE4453"; +createNode nurbsCurve -n "finger_L0_2_loc30_1crvShape" -p "finger_L0_2_loc"; + rename -uid "A593EEBB-47E4-60A4-28B0-938052D5BD7D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4101,7 +4165,7 @@ createNode nurbsCurve -n "finger_L0_2_loc27_1crvShape" -p "finger_L0_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_L0_blade" -p "finger_L0_root"; - rename -uid "7070BE5C-4B8D-DE18-146C-DCB82BF90F88"; + rename -uid "049B1532-4F86-7AD3-25A9-C59377345B73"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -4111,13 +4175,13 @@ createNode transform -n "finger_L0_blade" -p "finger_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999911 0.999999999999999 0.99999999999999933 ; + setAttr ".s" -type "double3" 0.99999999999999944 0.99999999999999889 0.99999999999999933 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_L0_bladeShape" -p "finger_L0_blade"; - rename -uid "A40013D2-4C0C-AAB2-E08C-4B8D40FFD4D8"; + rename -uid "9F317629-4088-8380-B52F-6C947534746E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4127,12 +4191,12 @@ createNode nurbsCurve -n "finger_L0_bladeShape" -p "finger_L0_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970766 0 0 - 0 0.25859336491323587 0 + 0.77578009473970744 0 0 + 0 0.25859336491323581 0 0 0 0 ; -createNode aimConstraint -n "finger_L0_blade_aimConstraint9" -p "finger_L0_blade"; - rename -uid "8BA9B3AF-46FC-5BAE-B4C5-D88DAE9B290C"; +createNode aimConstraint -n "finger_L0_blade_aimConstraint10" -p "finger_L0_blade"; + rename -uid "402FFE37-4FE7-4BAF-ABE0-7AADEDA34B8F"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_L0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -4148,8 +4212,8 @@ createNode aimConstraint -n "finger_L0_blade_aimConstraint9" -p "finger_L0_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_L0_blade_pointConstraint9" -p "finger_L0_blade"; - rename -uid "B17A06DA-409C-8208-452E-7DB9978B9A51"; +createNode pointConstraint -n "finger_L0_blade_pointConstraint10" -p "finger_L0_blade"; + rename -uid "18A83D25-47CE-7603-0536-E580E637915C"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_L0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -4163,23 +4227,22 @@ createNode pointConstraint -n "finger_L0_blade_pointConstraint9" -p "finger_L0_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" -3.5527136788005009e-015 -3.5527136788005009e-015 - 0 ; + setAttr ".rst" -type "double3" 5.3290705182007514e-015 3.5527136788005009e-015 -1.7763568394002505e-015 ; setAttr -k on ".w0"; createNode transform -n "finger_L0_crv" -p "finger_L0_root"; - rename -uid "24346A18-4532-F6F1-DE11-5B86F807DD3C"; + rename -uid "EEAA1DC4-4C5C-0BD1-32A8-20A8B42D86BA"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 12.549990763713115 -27.336008057181125 2.4648652761305296 ; - setAttr ".r" -type "double3" 9.1654334880180617 22.111176212556721 57.120615095544899 ; - setAttr ".s" -type "double3" 2.6320983106786096 2.6320983106785993 2.6320983106786042 ; + setAttr ".t" -type "double3" 12.549990763713129 -27.33600805718115 2.4648652761302503 ; + setAttr ".r" -type "double3" 9.1654334880184116 22.111176212556234 57.120615095545027 ; + setAttr ".s" -type "double3" 2.63209831067861 2.6320983106786002 2.6320983106786047 ; createNode nurbsCurve -n "finger_L0_crvShape" -p "finger_L0_crv"; - rename -uid "9FDCE824-4C73-399C-0467-F18F2910EEDE"; + rename -uid "2AF8F7E6-40BB-4BBE-6462-7D8779CE676F"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_L0_crvShapeOrig" -p "finger_L0_crv"; - rename -uid "9463B66B-491A-7181-0CE8-11B9838024C4"; + rename -uid "CCCC1B8E-4174-9438-5701-A7B993781878"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4192,7 +4255,7 @@ createNode nurbsCurve -n "finger_L0_crvShapeOrig" -p "finger_L0_crv"; 0 0 0 ; createNode transform -n "thumbRoll_L0_root" -p "meta_L0_root"; - rename -uid "AAB31DE8-429B-5FC3-DA13-8C81B088184E"; + rename -uid "56F0734C-4AAE-211C-7C6D-18B8834F0BC6"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -4205,32 +4268,33 @@ createNode transform -n "thumbRoll_L0_root" -p "meta_L0_root"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 0.7 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.21303623709073616 -0.22489125789798692 0.1307033745215378 ; + setAttr ".t" -type "double3" 0.2130362370907366 -0.22489125789797981 0.13070337452153957 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" -5.7735227848273638 -84.00156352323107 11.009204406906205 ; + setAttr ".r" -type "double3" -5.773522784831 -84.001563523230999 11.009204406909584 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 3.4032157947041286 3.4032157947041166 3.4032157947041224 ; + setAttr ".s" -type "double3" 3.4032157947041286 3.4032157947041157 3.4032157947041219 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -4242,20 +4306,8 @@ createNode transform -n "thumbRoll_L0_root" -p "meta_L0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "sphere"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".k_sx" yes; - setAttr ".k_sy" yes; - setAttr ".k_sz" yes; - setAttr ".ctlSize" 0.7; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "thumbRoll_L0_rootShape" -p "thumbRoll_L0_root"; - rename -uid "F5F93CBB-4F6A-3DEB-AD3C-92B1C21AA14E"; + rename -uid "AFB2EF7B-443D-F9A6-AA20-FA8FD6A61FDC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4267,8 +4319,8 @@ createNode nurbsCurve -n "thumbRoll_L0_rootShape" -p "thumbRoll_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumbRoll_L0_root16Shape" -p "thumbRoll_L0_root"; - rename -uid "3A3C32F2-4219-7BCA-0B3D-51918385A020"; +createNode nurbsCurve -n "thumbRoll_L0_root19Shape" -p "thumbRoll_L0_root"; + rename -uid "CBB388FB-4546-B6D8-38A3-C4B843350EC9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4280,8 +4332,8 @@ createNode nurbsCurve -n "thumbRoll_L0_root16Shape" -p "thumbRoll_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumbRoll_L0_root17Shape" -p "thumbRoll_L0_root"; - rename -uid "7DAA059F-46AC-9CCB-601C-F28122D12D3F"; +createNode nurbsCurve -n "thumbRoll_L0_root20Shape" -p "thumbRoll_L0_root"; + rename -uid "1B2DBC0E-4FE2-0875-1188-DEBC970E85DD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4293,8 +4345,8 @@ createNode nurbsCurve -n "thumbRoll_L0_root17Shape" -p "thumbRoll_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumbRoll_L0_root18Shape" -p "thumbRoll_L0_root"; - rename -uid "994EF189-4347-A478-C8EA-C4BEDD2BCB2C"; +createNode nurbsCurve -n "thumbRoll_L0_root21Shape" -p "thumbRoll_L0_root"; + rename -uid "941625C0-436B-D98F-75C1-A696FDEA10F2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4321,24 +4373,24 @@ createNode nurbsCurve -n "thumbRoll_L0_root18Shape" -p "thumbRoll_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "thumbRoll_L0_sizeRef" -p "thumbRoll_L0_root"; - rename -uid "49508B2E-4AC0-D56E-5F7A-B38F5D3141D6"; + rename -uid "40C1EDC7-456D-4F66-FBD1-F39748112732"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 8.8817841970012523e-016 3.907985046680551e-014 1.0000000000000007 ; + setAttr ".t" -type "double3" -1.3322676295501878e-015 3.5527136788005009e-014 1.0000000000000007 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 0 44.430829212205673 ; + setAttr ".r" -type "double3" 0 0 44.43082921220573 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000018 0.99999999999999767 1.0000000000000007 ; + setAttr ".s" -type "double3" 1.0000000000000018 0.99999999999999756 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "thumb_L0_root" -p "thumbRoll_L0_root"; - rename -uid "9FB23058-4AAB-8137-5B1E-CAB9C32B953D"; + rename -uid "C5AB0929-4738-3785-69BD-28A62669F366"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -4348,22 +4400,22 @@ createNode transform -n "thumb_L0_root" -p "thumbRoll_L0_root"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3322676295501878e-015 -1.7763568394002505e-015 7.2164496600635175e-016 ; + setAttr ".t" -type "double3" -8.8817841970012523e-016 -1.7763568394002505e-015 9.9920072216264089e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 110.8010863191306 -43.900240512232479 -37.623269198287744 ; + setAttr ".r" -type "double3" 110.80108631913085 -43.900240512232322 -37.6232691982879 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.48936434703511106 0.48936434703511011 0.48936434703511167 ; + setAttr ".s" -type "double3" 0.48936434703511095 0.48936434703511011 0.48936434703511161 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -4373,12 +4425,9 @@ createNode transform -n "thumb_L0_root" -p "thumbRoll_L0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "thumb_L0_rootShape" -p "thumb_L0_root"; - rename -uid "719E89EB-4AED-B05F-09CD-6BB24EBBC03A"; + rename -uid "DED516A7-4EEE-040F-377F-71893EE01F21"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4390,8 +4439,8 @@ createNode nurbsCurve -n "thumb_L0_rootShape" -p "thumb_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_L0_root25Shape" -p "thumb_L0_root"; - rename -uid "E2708F55-4038-A343-55E0-DBA05BC303AA"; +createNode nurbsCurve -n "thumb_L0_root28Shape" -p "thumb_L0_root"; + rename -uid "B9A799BC-4A8A-4E03-16FF-C28192582122"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4403,8 +4452,8 @@ createNode nurbsCurve -n "thumb_L0_root25Shape" -p "thumb_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_L0_root26Shape" -p "thumb_L0_root"; - rename -uid "87AFFB0F-44A1-24B1-494C-8ABDCC501195"; +createNode nurbsCurve -n "thumb_L0_root29Shape" -p "thumb_L0_root"; + rename -uid "45E9DC20-46E3-F51C-B7B1-88B790B9D12F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4416,8 +4465,8 @@ createNode nurbsCurve -n "thumb_L0_root26Shape" -p "thumb_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_L0_root27Shape" -p "thumb_L0_root"; - rename -uid "4A6BFFBC-487C-3B74-93D6-9AB6942FD55F"; +createNode nurbsCurve -n "thumb_L0_root30Shape" -p "thumb_L0_root"; + rename -uid "75A9BA71-4260-65F8-936C-2BB28E6744C7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4444,24 +4493,24 @@ createNode nurbsCurve -n "thumb_L0_root27Shape" -p "thumb_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "thumb_L0_0_loc" -p "thumb_L0_root"; - rename -uid "BA7169C3-45D2-CF87-6749-3B9EB065B2D4"; + rename -uid "E39CC9AF-47C0-1B99-EDFA-AAAF1CEF7659"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.86054350703470206 0.0024095775966985755 -1.0658141036401503e-014 ; + setAttr ".t" -type "double3" 0.86054350703470561 0.0024095775966950228 -7.1054273576010019e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 0 -4.2384257498060656 ; + setAttr ".r" -type "double3" 0 0 -4.2384257498060629 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.999999999999999 0.99999999999999989 1.0000000000000007 ; + setAttr ".s" -type "double3" 0.999999999999999 0.99999999999999978 1.0000000000000011 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "thumb_L0_0_locShape" -p "thumb_L0_0_loc"; - rename -uid "AF49615B-410D-2FE5-7DF5-5F9DFD2C2A8A"; + rename -uid "C1DD1DF5-4074-F957-1E5C-EEADC2935C82"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4473,8 +4522,8 @@ createNode nurbsCurve -n "thumb_L0_0_locShape" -p "thumb_L0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_L0_0_loc25Shape" -p "thumb_L0_0_loc"; - rename -uid "B66FF03D-4B3F-4F55-8648-DC8EAC5941FF"; +createNode nurbsCurve -n "thumb_L0_0_loc28Shape" -p "thumb_L0_0_loc"; + rename -uid "A90EB3B7-4B18-CA82-5B88-C5A63F6302AA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4486,8 +4535,8 @@ createNode nurbsCurve -n "thumb_L0_0_loc25Shape" -p "thumb_L0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_L0_0_loc26Shape" -p "thumb_L0_0_loc"; - rename -uid "B912675B-4052-4400-FC98-4481B2760AB8"; +createNode nurbsCurve -n "thumb_L0_0_loc29Shape" -p "thumb_L0_0_loc"; + rename -uid "00CDDF69-4184-6F25-E047-2E9511EFD739"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4499,8 +4548,8 @@ createNode nurbsCurve -n "thumb_L0_0_loc26Shape" -p "thumb_L0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_L0_0_loc27Shape" -p "thumb_L0_0_loc"; - rename -uid "A73238E1-4537-1E6A-62DE-258A74ED4EF1"; +createNode nurbsCurve -n "thumb_L0_0_loc30Shape" -p "thumb_L0_0_loc"; + rename -uid "379B0EA3-4E65-A635-237B-669EAD20A88C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4517,8 +4566,8 @@ createNode nurbsCurve -n "thumb_L0_0_loc27Shape" -p "thumb_L0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_L0_0_loc27_0crvShape" -p "thumb_L0_0_loc"; - rename -uid "680DEB8B-472A-31EF-F268-338B2F3EF1D2"; +createNode nurbsCurve -n "thumb_L0_0_loc30_0crvShape" -p "thumb_L0_0_loc"; + rename -uid "6711751A-408C-05DE-9883-2DACAA74CA06"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4535,8 +4584,8 @@ createNode nurbsCurve -n "thumb_L0_0_loc27_0crvShape" -p "thumb_L0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_L0_0_loc27_1crvShape" -p "thumb_L0_0_loc"; - rename -uid "6ED52871-41C9-B2EF-85C2-61826A457C1C"; +createNode nurbsCurve -n "thumb_L0_0_loc30_1crvShape" -p "thumb_L0_0_loc"; + rename -uid "04951D39-4110-82F7-DF77-DD9AB1F643D5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4554,10 +4603,10 @@ createNode nurbsCurve -n "thumb_L0_0_loc27_1crvShape" -p "thumb_L0_0_loc"; 0 0 -0.1875 ; createNode transform -n "thumb_L0_1_loc" -p "thumb_L0_0_loc"; - rename -uid "AAE61BF0-446F-0DCC-E4D7-6A98E5C09990"; + rename -uid "CB6E009A-4684-408C-4017-2B960D2669F1"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.76442580145521433 -2.6645352591003757e-015 2.8421709430404007e-014 ; + setAttr ".t" -type "double3" 0.7644258014552161 -3.5527136788005009e-015 2.8421709430404007e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4565,12 +4614,12 @@ createNode transform -n "thumb_L0_1_loc" -p "thumb_L0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999956 0.99999999999999922 0.99999999999999989 ; + setAttr ".s" -type "double3" 0.99999999999999956 0.99999999999999889 0.99999999999999944 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "thumb_L0_1_locShape" -p "thumb_L0_1_loc"; - rename -uid "62F4B955-47B9-4424-3631-9AB8D6424E90"; + rename -uid "074BB02C-40BB-4CFB-33EA-7E9E40434338"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4582,8 +4631,8 @@ createNode nurbsCurve -n "thumb_L0_1_locShape" -p "thumb_L0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_L0_1_loc25Shape" -p "thumb_L0_1_loc"; - rename -uid "8678FE0F-457A-4735-0550-7BA11682B334"; +createNode nurbsCurve -n "thumb_L0_1_loc28Shape" -p "thumb_L0_1_loc"; + rename -uid "63DC77E2-4EA0-CE23-8603-F3A5EE602574"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4595,8 +4644,8 @@ createNode nurbsCurve -n "thumb_L0_1_loc25Shape" -p "thumb_L0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_L0_1_loc26Shape" -p "thumb_L0_1_loc"; - rename -uid "39057EC2-4E93-C2A8-242F-EA959F285A89"; +createNode nurbsCurve -n "thumb_L0_1_loc29Shape" -p "thumb_L0_1_loc"; + rename -uid "A7313799-476B-CC9F-8F70-E9B1E024281C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4608,8 +4657,8 @@ createNode nurbsCurve -n "thumb_L0_1_loc26Shape" -p "thumb_L0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_L0_1_loc27Shape" -p "thumb_L0_1_loc"; - rename -uid "5C77100B-4395-FFDB-3F5E-779F21ED9BD0"; +createNode nurbsCurve -n "thumb_L0_1_loc30Shape" -p "thumb_L0_1_loc"; + rename -uid "67531729-48DE-8B40-8D0A-9F8DEA92AF08"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4626,8 +4675,8 @@ createNode nurbsCurve -n "thumb_L0_1_loc27Shape" -p "thumb_L0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_L0_1_loc27_0crvShape" -p "thumb_L0_1_loc"; - rename -uid "085B2373-4299-F571-2314-808413654E4C"; +createNode nurbsCurve -n "thumb_L0_1_loc30_0crvShape" -p "thumb_L0_1_loc"; + rename -uid "3EB5C795-4CFC-7350-DE57-3D85CDEF72EB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4644,8 +4693,8 @@ createNode nurbsCurve -n "thumb_L0_1_loc27_0crvShape" -p "thumb_L0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_L0_1_loc27_1crvShape" -p "thumb_L0_1_loc"; - rename -uid "142ECD72-4B49-EEDC-5C1E-2A9881F7446B"; +createNode nurbsCurve -n "thumb_L0_1_loc30_1crvShape" -p "thumb_L0_1_loc"; + rename -uid "1E8F3478-4EF9-17EC-4259-37BEC3D2AB9A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4663,10 +4712,10 @@ createNode nurbsCurve -n "thumb_L0_1_loc27_1crvShape" -p "thumb_L0_1_loc"; 0 0 -0.1875 ; createNode transform -n "thumb_L0_2_loc" -p "thumb_L0_1_loc"; - rename -uid "B1E631F8-4293-6FDC-7B43-8CBB7563DD03"; + rename -uid "DEAF4FB6-4F48-8CF4-5CF8-0B8DE8709639"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.5948211491551092 5.3290705182007514e-015 3.5527136788005009e-015 ; + setAttr ".t" -type "double3" 0.5948211491551092 7.1054273576010019e-015 3.5527136788005009e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4674,12 +4723,12 @@ createNode transform -n "thumb_L0_2_loc" -p "thumb_L0_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999989 1.0000000000000004 0.99999999999999989 ; + setAttr ".s" -type "double3" 1 1.0000000000000004 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "thumb_L0_2_locShape" -p "thumb_L0_2_loc"; - rename -uid "C219A258-4780-1C86-6C55-9DB2B02B04C2"; + rename -uid "632FF905-4AE4-397D-FB66-87A04FDF20F6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4691,8 +4740,8 @@ createNode nurbsCurve -n "thumb_L0_2_locShape" -p "thumb_L0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_L0_2_loc25Shape" -p "thumb_L0_2_loc"; - rename -uid "0C89F030-4ED9-7E49-161E-53A6BCF32581"; +createNode nurbsCurve -n "thumb_L0_2_loc28Shape" -p "thumb_L0_2_loc"; + rename -uid "3970E56B-4858-FF19-EA73-BB967991523E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4704,8 +4753,8 @@ createNode nurbsCurve -n "thumb_L0_2_loc25Shape" -p "thumb_L0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_L0_2_loc26Shape" -p "thumb_L0_2_loc"; - rename -uid "7C02E248-4676-B005-0CB5-6E84BDF79CB2"; +createNode nurbsCurve -n "thumb_L0_2_loc29Shape" -p "thumb_L0_2_loc"; + rename -uid "9AFF6097-4072-64E1-8EB8-4CA296059716"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4717,8 +4766,8 @@ createNode nurbsCurve -n "thumb_L0_2_loc26Shape" -p "thumb_L0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_L0_2_loc27Shape" -p "thumb_L0_2_loc"; - rename -uid "DA807C21-4C01-9261-3654-E99F12A1FF6F"; +createNode nurbsCurve -n "thumb_L0_2_loc30Shape" -p "thumb_L0_2_loc"; + rename -uid "E304926F-4590-4E24-B7E5-93AC1104F076"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4735,8 +4784,8 @@ createNode nurbsCurve -n "thumb_L0_2_loc27Shape" -p "thumb_L0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_L0_2_loc27_0crvShape" -p "thumb_L0_2_loc"; - rename -uid "E826B159-4067-8A49-9D56-3CA5BACBC909"; +createNode nurbsCurve -n "thumb_L0_2_loc30_0crvShape" -p "thumb_L0_2_loc"; + rename -uid "B56B0E38-4910-B71D-3C9C-DE9993BB104D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4753,8 +4802,8 @@ createNode nurbsCurve -n "thumb_L0_2_loc27_0crvShape" -p "thumb_L0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_L0_2_loc27_1crvShape" -p "thumb_L0_2_loc"; - rename -uid "DFB66315-4A28-AAFF-034E-51BE00C316E3"; +createNode nurbsCurve -n "thumb_L0_2_loc30_1crvShape" -p "thumb_L0_2_loc"; + rename -uid "41E52D28-4CDB-8F79-23B0-F9B8BCC03EE5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4772,7 +4821,7 @@ createNode nurbsCurve -n "thumb_L0_2_loc27_1crvShape" -p "thumb_L0_2_loc"; 0 0 -0.1875 ; createNode transform -n "thumb_L0_blade" -p "thumb_L0_root"; - rename -uid "430F581D-4790-1B16-80A4-16BC17AC2318"; + rename -uid "0E6B6DF7-4134-6953-D8D3-029902A6D5D1"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -4782,13 +4831,13 @@ createNode transform -n "thumb_L0_blade" -p "thumb_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999833 0.99999999999999856 0.99999999999999956 ; + setAttr ".s" -type "double3" 0.99999999999999833 0.99999999999999845 1 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "thumb_L0_bladeShape" -p "thumb_L0_blade"; - rename -uid "BADAB491-4FDF-5B85-38E4-B49FF7F2CC28"; + rename -uid "1E6A47A3-45DF-62D2-08E9-B1BA0E975799"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4798,12 +4847,12 @@ createNode nurbsCurve -n "thumb_L0_bladeShape" -p "thumb_L0_blade"; 4 0 1 2 3 4 0 0 0 - 0.29361860822106661 0 0 - 0 0.097872869407022209 0 + 0.29361860822106656 0 0 + 0 0.097872869407022181 0 0 0 0 ; -createNode aimConstraint -n "thumb_L0_blade_aimConstraint9" -p "thumb_L0_blade"; - rename -uid "85D950F1-45D3-10E3-3044-60B6EFEA9FFB"; +createNode aimConstraint -n "thumb_L0_blade_aimConstraint10" -p "thumb_L0_blade"; + rename -uid "F35B721A-48F9-35EA-5007-5DB9368D634D"; addAttr -dcb 0 -ci true -sn "w0" -ln "thumb_L0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -4818,11 +4867,10 @@ createNode aimConstraint -n "thumb_L0_blade_aimConstraint9" -p "thumb_L0_blade"; setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".rsrr" -type "double3" 3.3116584830402002e-016 2.3654202254588611e-013 - 0.16043147704029556 ; + setAttr ".rsrr" -type "double3" 9.934975449124265e-016 7.0962606763791992e-013 0.16043147704029556 ; setAttr -k on ".w0"; -createNode pointConstraint -n "thumb_L0_blade_pointConstraint9" -p "thumb_L0_blade"; - rename -uid "679B9807-4181-97D4-7F50-3CA0C8DD2485"; +createNode pointConstraint -n "thumb_L0_blade_pointConstraint10" -p "thumb_L0_blade"; + rename -uid "37EDD312-490B-EE63-EB8E-F082B82883D7"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "thumb_L0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -4836,22 +4884,23 @@ createNode pointConstraint -n "thumb_L0_blade_pointConstraint9" -p "thumb_L0_bla setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 8.8817841970012523e-016 -3.5527136788005009e-015 ; + setAttr ".rst" -type "double3" -1.7763568394002505e-015 -8.8817841970012523e-016 + 0 ; setAttr -k on ".w0"; createNode transform -n "thumb_L0_crv" -p "thumb_L0_root"; - rename -uid "4206805A-476D-BC0D-AF60-94AD47F47A1B"; + rename -uid "64484089-4FD1-C20D-90A3-52960A6F8B67"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 14.330153889042865 -7.0737929587543249 17.725867635512838 ; - setAttr ".r" -type "double3" -124.44302205362676 63.100734454449608 -77.28135416270166 ; - setAttr ".s" -type "double3" 2.0434672163157259 2.0434672163157197 2.0434672163157264 ; + setAttr ".t" -type "double3" 14.330153889042876 -7.0737929587543391 17.725867635512838 ; + setAttr ".r" -type "double3" -124.44302205362676 63.100734454449658 -77.281354162701689 ; + setAttr ".s" -type "double3" 2.0434672163157259 2.0434672163157197 2.0434672163157259 ; createNode nurbsCurve -n "thumb_L0_crvShape" -p "thumb_L0_crv"; - rename -uid "4D358943-4D3C-93D5-D577-38BC0E9B3E17"; + rename -uid "8F2532CD-4CF7-9B1E-EDE4-3C9CE8C5CDAE"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "thumb_L0_crvShapeOrig" -p "thumb_L0_crv"; - rename -uid "370B39BF-47CA-A99A-5839-1589873CCD93"; + rename -uid "818E3ECC-420B-E1E1-1FE9-C9BB422C945E"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4864,19 +4913,19 @@ createNode nurbsCurve -n "thumb_L0_crvShapeOrig" -p "thumb_L0_crv"; 0 0 0 ; createNode transform -n "arm_L0_crv" -p "arm_L0_root"; - rename -uid "2F1FA4C8-49F1-C9F0-83B4-079A7C94E244"; + rename -uid "99BCA492-41E2-9E8B-169A-2D871CDD1B2D"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 9.5792744434200454 -11.86206180747303 1.1564412205648533 ; - setAttr ".r" -type "double3" -2.1534408611045537 -4.1959370793367032 45.437740049298291 ; - setAttr ".s" -type "double3" 1.0495082267377438 1.0495082267377391 1.0495082267377407 ; + setAttr ".t" -type "double3" 9.5792744434200454 -11.862061807473028 1.1564412205648515 ; + setAttr ".r" -type "double3" -2.1534408611045492 -4.1959370793367148 45.437740049298291 ; + setAttr ".s" -type "double3" 1.0495082267377434 1.0495082267377394 1.0495082267377407 ; createNode nurbsCurve -n "arm_L0_crvShape" -p "arm_L0_crv"; - rename -uid "7479117C-4533-B832-ABD5-CFB1DF5F3A6B"; + rename -uid "9C0D86B0-4808-570E-E6B8-F699F9092036"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "arm_L0_crvShapeOrig" -p "arm_L0_crv"; - rename -uid "DE25026E-412C-3265-E566-2F8062777107"; + rename -uid "685B06A5-499C-E560-180D-9191905AEDF0"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4889,8 +4938,9 @@ createNode nurbsCurve -n "arm_L0_crvShapeOrig" -p "arm_L0_crv"; 0 0 0 ; createNode transform -n "shoulder_L0_blade" -p "shoulder_L0_root"; - rename -uid "29E5D67E-4680-FB10-4031-D798000308F6"; - addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; + rename -uid "B7056E43-423D-E3BA-3956-3DBF335E010D"; + addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -dv 89.999999999999957 + -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; @@ -4899,13 +4949,13 @@ createNode transform -n "shoulder_L0_blade" -p "shoulder_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999656 0.99999999999999789 ; + setAttr ".s" -type "double3" 0.99999999999999944 0.99999999999999656 0.99999999999999778 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; - setAttr -k on ".bladeRollOffset" 90; + setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "shoulder_L0_bladeShape" -p "shoulder_L0_blade"; - rename -uid "1151CB8C-4317-DEC7-CBA5-93A4FAACBEF2"; + rename -uid "DF60BC27-427B-43DB-6B60-9F985C7D5F64"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4915,12 +4965,12 @@ createNode nurbsCurve -n "shoulder_L0_bladeShape" -p "shoulder_L0_blade"; 4 0 1 2 3 4 0 0 0 - 0.6000000000000012 0 0 - 0 0.2000000000000004 0 + 0.60000000000000131 0 0 + 0 0.20000000000000043 0 0 0 0 ; -createNode aimConstraint -n "shoulder_L0_blade_aimConstraint9" -p "shoulder_L0_blade"; - rename -uid "22B29C15-4AE9-1C60-5BB8-DA86C8B8660E"; +createNode aimConstraint -n "shoulder_L0_blade_aimConstraint10" -p "shoulder_L0_blade"; + rename -uid "1497BF7A-4FCA-DBFF-A106-B5865256E814"; addAttr -dcb 0 -ci true -sn "w0" -ln "shoulder_L0_tipW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -4935,11 +4985,11 @@ createNode aimConstraint -n "shoulder_L0_blade_aimConstraint9" -p "shoulder_L0_b setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".o" -type "double3" 90 179.99999999999957 180.00000000000017 ; - setAttr ".rsrr" -type "double3" 23.386262286473041 122.53864021838231 110.03040021520766 ; + setAttr ".o" -type "double3" 90 179.99999999999946 180.00000000000017 ; + setAttr ".rsrr" -type "double3" 23.386262286472864 122.53864021838226 110.03040021520748 ; setAttr -k on ".w0"; -createNode pointConstraint -n "shoulder_L0_blade_pointConstraint9" -p "shoulder_L0_blade"; - rename -uid "538E6DEA-47D6-3638-BD33-1AB24895BA87"; +createNode pointConstraint -n "shoulder_L0_blade_pointConstraint10" -p "shoulder_L0_blade"; + rename -uid "A9C7A008-4125-1CFD-121C-CB8F1AFAC82F"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "shoulder_L0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; @@ -4954,22 +5004,22 @@ createNode pointConstraint -n "shoulder_L0_blade_pointConstraint9" -p "shoulder_ setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 5.2041704279304213e-018 1.3877787807814457e-017 ; + setAttr ".rst" -type "double3" 0 -3.4694469519536142e-018 0 ; setAttr -k on ".w0"; createNode transform -n "shoulder_L0_crv" -p "shoulder_L0_root"; - rename -uid "E1BB91C1-46C2-FF48-B5DA-6B85E71EB663"; + rename -uid "B7121F34-467F-86D6-8EBB-588E3B3101E6"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 15.507521470509833 0.009276189738275686 0.11673327753265018 ; + setAttr ".t" -type "double3" 15.507521470509833 0.0092761897382756774 0.11673327753265013 ; setAttr ".r" -type "double3" -90.803889228153793 89.999999999999986 0 ; - setAttr ".s" -type "double3" 1.0495082267377416 1.0495082267377367 1.0495082267377369 ; + setAttr ".s" -type "double3" 1.0495082267377411 1.0495082267377365 1.0495082267377365 ; createNode nurbsCurve -n "shoulder_L0_crvShape" -p "shoulder_L0_crv"; - rename -uid "A729F4B8-4EAF-71B1-BDA2-40B2667DA058"; + rename -uid "B45BD63D-4285-7172-6C22-35AA79C3A602"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "shoulder_L0_crvShapeOrig" -p "shoulder_L0_crv"; - rename -uid "0C4B62B3-45A5-905E-3AA3-DE9551565913"; + rename -uid "556F7BF6-48CD-1D0D-AE10-7E9651E695D8"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4980,7 +5030,7 @@ createNode nurbsCurve -n "shoulder_L0_crvShapeOrig" -p "shoulder_L0_crv"; 0 0 0 ; createNode transform -n "neck_C0_root" -p "spine_C0_eff"; - rename -uid "B05286AF-486A-BB89-A37B-41B3690BFCE7"; + rename -uid "575C2E2B-43A1-DE1D-B608-B6A6DC98E647"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -4991,17 +5041,17 @@ createNode transform -n "neck_C0_root" -p "spine_C0_eff"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "headrefarray" -ln "headrefarray" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; - addAttr -ci true -sn "maxsquash" -ln "maxsquash" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; + addAttr -ci true -sn "maxsquash" -ln "maxsquash" -dv 0.5 -min 0 -max 1 -at "double"; addAttr -ci true -sn "softness" -ln "softness" -min 0 -max 1 -at "double"; addAttr -ci true -sn "division" -ln "division" -dv 3 -min 3 -at "long"; addAttr -ci true -sn "tangentControls" -ln "tangentControls" -min 0 -max 1 -at "bool"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.2667429610648462 0.5374818108556626 -4.2147015411630263e-016 ; + setAttr ".t" -type "double3" 2.266742961064848 0.5374818108556626 -4.2147015411630268e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5010,7 +5060,7 @@ createNode transform -n "neck_C0_root" -p "spine_C0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.59839228104243614 0.59839228104243236 0.59839228104243236 ; + setAttr ".s" -type "double3" 0.59839228104243647 0.59839228104243258 0.59839228104243258 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -5020,15 +5070,12 @@ createNode transform -n "neck_C0_root" -p "spine_C0_eff"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "spineUI_C0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".headrefarray" -type "string" "spine_C0_eff,body_C0_root,local_C0_root"; - setAttr ".ikrefarray" -type "string" "spine_C0_eff,body_C0_root,local_C0_root"; - setAttr ".maxstretch" 1.5; - setAttr ".maxsquash" 0.5; + setAttr ".headrefarray" -type "string" "spine_C0_eff,body_C0_root,local_C0_root,global_C0_root"; + setAttr ".ikrefarray" -type "string" "spine_C0_eff,body_C0_root,local_C0_root,global_C0_root"; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "neck_C0_rootShape" -p "neck_C0_root"; - rename -uid "20894899-46ED-2A57-A2C7-A982CCCAB321"; + rename -uid "0BDC3CFC-43E7-2A1D-5A43-68828F215582"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5040,8 +5087,8 @@ createNode nurbsCurve -n "neck_C0_rootShape" -p "neck_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_root25Shape" -p "neck_C0_root"; - rename -uid "370980C6-4BD6-C2D0-BA64-5C8D184E5B16"; +createNode nurbsCurve -n "neck_C0_root28Shape" -p "neck_C0_root"; + rename -uid "467B5ECE-4687-A006-C686-6EB96345EED7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5053,8 +5100,8 @@ createNode nurbsCurve -n "neck_C0_root25Shape" -p "neck_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_root26Shape" -p "neck_C0_root"; - rename -uid "2830CDCB-4611-8515-4979-AE896C979521"; +createNode nurbsCurve -n "neck_C0_root29Shape" -p "neck_C0_root"; + rename -uid "71E7C3C2-4C6A-9D49-1166-B8BAF5A9C69B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5066,8 +5113,8 @@ createNode nurbsCurve -n "neck_C0_root26Shape" -p "neck_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_root27Shape" -p "neck_C0_root"; - rename -uid "1B1D4C02-40CE-0ECF-266F-D8B83A11187C"; +createNode nurbsCurve -n "neck_C0_root30Shape" -p "neck_C0_root"; + rename -uid "31CCEE41-402D-1044-4C24-F689B6411D27"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5094,10 +5141,10 @@ createNode nurbsCurve -n "neck_C0_root27Shape" -p "neck_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "neck_C0_neck" -p "neck_C0_root"; - rename -uid "D9B33D7B-4EB5-E21F-7F6F-8AB852B8F554"; + rename -uid "06825BF4-4ACB-736D-BDCE-2F8641F636CD"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.66811733981641108 2.4674946259577837 1.5382908879615304e-016 ; + setAttr ".t" -type "double3" -0.66811733981641075 2.4674946259577801 1.5382908879615225e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5105,12 +5152,12 @@ createNode transform -n "neck_C0_neck" -p "neck_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999645 0.99999999999999678 0.99999999999999956 ; + setAttr ".s" -type "double3" 0.999999999999996 0.99999999999999623 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_neckShape" -p "neck_C0_neck"; - rename -uid "270D0CBF-4939-5A4E-E268-78AEF1099944"; + rename -uid "3FE8F192-49CE-B8DA-77EE-1AB2ABFF3313"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5122,8 +5169,8 @@ createNode nurbsCurve -n "neck_C0_neckShape" -p "neck_C0_neck"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_neck25Shape" -p "neck_C0_neck"; - rename -uid "ED021FD5-4E5D-7BA8-6FFE-A3998A979651"; +createNode nurbsCurve -n "neck_C0_neck28Shape" -p "neck_C0_neck"; + rename -uid "919A9360-47CB-05DE-8E29-2C816B152444"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5135,8 +5182,8 @@ createNode nurbsCurve -n "neck_C0_neck25Shape" -p "neck_C0_neck"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_neck26Shape" -p "neck_C0_neck"; - rename -uid "F7361CC6-42CA-EDE6-D669-F09E385141B0"; +createNode nurbsCurve -n "neck_C0_neck29Shape" -p "neck_C0_neck"; + rename -uid "85DD472F-411D-1D13-44A6-449717B29995"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5148,8 +5195,8 @@ createNode nurbsCurve -n "neck_C0_neck26Shape" -p "neck_C0_neck"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_neck27Shape" -p "neck_C0_neck"; - rename -uid "0CD12C7B-44BD-B267-A44D-AD8304339CCE"; +createNode nurbsCurve -n "neck_C0_neck30Shape" -p "neck_C0_neck"; + rename -uid "D85AB108-4F5F-A87D-0DDC-DAA52C33772F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5166,8 +5213,8 @@ createNode nurbsCurve -n "neck_C0_neck27Shape" -p "neck_C0_neck"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_neck27_0crvShape" -p "neck_C0_neck"; - rename -uid "4AF00464-40CC-BDA2-E8E6-31BC83EFF72F"; +createNode nurbsCurve -n "neck_C0_neck30_0crvShape" -p "neck_C0_neck"; + rename -uid "99EC088F-4F5E-CBEF-E687-16AB873C83C3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5184,8 +5231,8 @@ createNode nurbsCurve -n "neck_C0_neck27_0crvShape" -p "neck_C0_neck"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_neck27_1crvShape" -p "neck_C0_neck"; - rename -uid "B88E733C-43A1-4EF7-9E4B-BE8C9DB23B05"; +createNode nurbsCurve -n "neck_C0_neck30_1crvShape" -p "neck_C0_neck"; + rename -uid "91C34788-4B05-E93B-9EE0-E18FF750D7D4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5203,10 +5250,10 @@ createNode nurbsCurve -n "neck_C0_neck27_1crvShape" -p "neck_C0_neck"; 0 0 -0.1875 ; createNode transform -n "neck_C0_head" -p "neck_C0_neck"; - rename -uid "C0CC7A89-4CB3-5251-B9D1-20AEDF48188C"; + rename -uid "2B959624-4CB2-C39A-B10A-8BB5483A8C4F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3877787807814457e-016 0.10000000000004405 1.2246467991476512e-017 ; + setAttr ".t" -type "double3" 5.5511151231257827e-017 0.10000000000005116 1.2246467991476512e-017 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5214,12 +5261,12 @@ createNode transform -n "neck_C0_head" -p "neck_C0_neck"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000002 1.0000000000000018 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 1.0000000000000018 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_headShape" -p "neck_C0_head"; - rename -uid "11AA9789-4D9B-397E-F596-4CB931CD83E1"; + rename -uid "D09D91A8-4BD7-BF4D-AF64-8EABCF1B69D6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5231,8 +5278,8 @@ createNode nurbsCurve -n "neck_C0_headShape" -p "neck_C0_head"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_head25Shape" -p "neck_C0_head"; - rename -uid "CF231DB3-48EA-5176-22FD-69888B74514F"; +createNode nurbsCurve -n "neck_C0_head28Shape" -p "neck_C0_head"; + rename -uid "C824DE8B-4F27-86AD-2D70-F7AC45CD6C0F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5244,8 +5291,8 @@ createNode nurbsCurve -n "neck_C0_head25Shape" -p "neck_C0_head"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_head26Shape" -p "neck_C0_head"; - rename -uid "2C6A679D-435E-45A3-8D9B-40856BD8A5AC"; +createNode nurbsCurve -n "neck_C0_head29Shape" -p "neck_C0_head"; + rename -uid "2B5EB522-408C-9D5D-6FF7-B4939577AC51"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5257,8 +5304,8 @@ createNode nurbsCurve -n "neck_C0_head26Shape" -p "neck_C0_head"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_head27Shape" -p "neck_C0_head"; - rename -uid "72269914-4762-1747-FDB6-76A3425F847F"; +createNode nurbsCurve -n "neck_C0_head30Shape" -p "neck_C0_head"; + rename -uid "71726667-4781-FC9D-BC25-A4A44EE7C0C7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5275,8 +5322,8 @@ createNode nurbsCurve -n "neck_C0_head27Shape" -p "neck_C0_head"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_head27_0crvShape" -p "neck_C0_head"; - rename -uid "A19AF2F4-4B8C-97AD-8C0E-498470C45B77"; +createNode nurbsCurve -n "neck_C0_head30_0crvShape" -p "neck_C0_head"; + rename -uid "F7E2B8E3-4A55-F058-740C-12AE9C3D6FB8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5293,8 +5340,8 @@ createNode nurbsCurve -n "neck_C0_head27_0crvShape" -p "neck_C0_head"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_head27_1crvShape" -p "neck_C0_head"; - rename -uid "6AC6CC74-4CE4-0722-8B53-2D8E481A92CD"; +createNode nurbsCurve -n "neck_C0_head30_1crvShape" -p "neck_C0_head"; + rename -uid "8334F3E0-47E7-F094-BA05-D0A54CA3B365"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5312,10 +5359,10 @@ createNode nurbsCurve -n "neck_C0_head27_1crvShape" -p "neck_C0_head"; 0 0 -0.1875 ; createNode transform -n "neck_C0_eff" -p "neck_C0_head"; - rename -uid "D4514F1B-47C6-7BF7-AE56-779CC96EBF43"; + rename -uid "4658178F-4EDF-9F4C-1940-C79998D2E3DF"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.1657341758564144e-015 3.0746209978281733 2.3592239273284103e-016 ; + setAttr ".t" -type "double3" 1.1796119636642288e-015 3.0746209978281662 2.3592239273284182e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5323,12 +5370,12 @@ createNode transform -n "neck_C0_eff" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999944 0.99999999999999856 ; + setAttr ".s" -type "double3" 1 0.99999999999999944 0.99999999999999867 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_effShape" -p "neck_C0_eff"; - rename -uid "D5F7EB72-4DE4-ED8B-AD7F-3FBF66BE769C"; + rename -uid "428FAE81-48C6-5BBA-6824-24943579E314"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5340,8 +5387,8 @@ createNode nurbsCurve -n "neck_C0_effShape" -p "neck_C0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_eff25Shape" -p "neck_C0_eff"; - rename -uid "9AF215A0-4663-4FE1-BC31-BD9FB936AC37"; +createNode nurbsCurve -n "neck_C0_eff28Shape" -p "neck_C0_eff"; + rename -uid "D3D933DA-45AA-426C-6DC6-D7A232DB2261"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5353,8 +5400,8 @@ createNode nurbsCurve -n "neck_C0_eff25Shape" -p "neck_C0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_eff26Shape" -p "neck_C0_eff"; - rename -uid "0AC16C5B-44A3-9C77-1172-B38A3E3997BE"; +createNode nurbsCurve -n "neck_C0_eff29Shape" -p "neck_C0_eff"; + rename -uid "F57C9161-484B-F982-02F9-A4BAB282AA77"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5366,8 +5413,8 @@ createNode nurbsCurve -n "neck_C0_eff26Shape" -p "neck_C0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_eff27Shape" -p "neck_C0_eff"; - rename -uid "4C4964CD-45D3-CD16-AC61-5DB5FD856FA4"; +createNode nurbsCurve -n "neck_C0_eff30Shape" -p "neck_C0_eff"; + rename -uid "37D7DFAD-4253-1A05-260A-358A32A6C192"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5384,8 +5431,8 @@ createNode nurbsCurve -n "neck_C0_eff27Shape" -p "neck_C0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_eff27_0crvShape" -p "neck_C0_eff"; - rename -uid "AFEE6AFD-4BCF-98C2-9E10-118DCC73D3EE"; +createNode nurbsCurve -n "neck_C0_eff30_0crvShape" -p "neck_C0_eff"; + rename -uid "73867733-45E6-7FF3-14A4-A1B31CF50531"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5402,8 +5449,8 @@ createNode nurbsCurve -n "neck_C0_eff27_0crvShape" -p "neck_C0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_eff27_1crvShape" -p "neck_C0_eff"; - rename -uid "45D26B47-421B-9022-D039-6D84CCBC4A89"; +createNode nurbsCurve -n "neck_C0_eff30_1crvShape" -p "neck_C0_eff"; + rename -uid "148EE783-41CF-2C23-E9C7-168B7B763D57"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5421,7 +5468,7 @@ createNode nurbsCurve -n "neck_C0_eff27_1crvShape" -p "neck_C0_eff"; 0 0 -0.1875 ; createNode transform -n "faceUI_C0_root" -p "neck_C0_eff"; - rename -uid "50C942E1-4984-8C0B-9146-C4A906718F10"; + rename -uid "1619DD78-440E-3C81-7D23-BAACABA84C66"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -5445,12 +5492,14 @@ createNode transform -n "faceUI_C0_root" -p "neck_C0_eff"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.0261570199409107e-015 1.360468176387009 7.2046004192796409e-016 ; + setAttr ".t" -type "double3" 1.9984014443252818e-015 1.3604681763870019 7.204600419279633e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5458,7 +5507,7 @@ createNode transform -n "faceUI_C0_root" -p "neck_C0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000002 1.0000000000000007 ; + setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999989 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -5470,11 +5519,8 @@ createNode transform -n "faceUI_C0_root" -p "neck_C0_eff"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "faceUI_C0_rootShape" -p "faceUI_C0_root"; - rename -uid "F68552F2-420E-D1D1-818B-99B1C62FC27E"; + rename -uid "6066153E-4FA0-8338-618A-09927C885446"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5486,8 +5532,8 @@ createNode nurbsCurve -n "faceUI_C0_rootShape" -p "faceUI_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "faceUI_C0_root25Shape" -p "faceUI_C0_root"; - rename -uid "E95EE71D-44BE-2470-3A3D-56BC019263A0"; +createNode nurbsCurve -n "faceUI_C0_root28Shape" -p "faceUI_C0_root"; + rename -uid "BC51B35B-4048-93CC-5840-BDB51F3F9B49"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5499,8 +5545,8 @@ createNode nurbsCurve -n "faceUI_C0_root25Shape" -p "faceUI_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "faceUI_C0_root26Shape" -p "faceUI_C0_root"; - rename -uid "38E3EEFE-43A3-CC33-7FE6-A1AA808DE70B"; +createNode nurbsCurve -n "faceUI_C0_root29Shape" -p "faceUI_C0_root"; + rename -uid "19BED195-462D-EF5D-647B-F7B3FB96D9A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5512,8 +5558,8 @@ createNode nurbsCurve -n "faceUI_C0_root26Shape" -p "faceUI_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "faceUI_C0_root27Shape" -p "faceUI_C0_root"; - rename -uid "2DC97D68-4DDB-177B-9ACE-4497BE305B41"; +createNode nurbsCurve -n "faceUI_C0_root30Shape" -p "faceUI_C0_root"; + rename -uid "7CA9E17A-4D0C-7F95-1D82-3B939F43271B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5540,10 +5586,10 @@ createNode nurbsCurve -n "faceUI_C0_root27Shape" -p "faceUI_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "faceUI_C0_sizeRef" -p "faceUI_C0_root"; - rename -uid "1A1B3EFD-412C-E7E2-3805-D18AC508D77D"; + rename -uid "332A134D-4DA7-EC2A-D681-98AFD8D18840"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.7538799546502091 -7.1054273576010019e-015 -3.8943958161623829e-016 ; + setAttr ".t" -type "double3" -1.7538799546502091 0 -3.8943958161623671e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5552,12 +5598,12 @@ createNode transform -n "faceUI_C0_sizeRef" -p "faceUI_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.753879954650216 1.7538799546502188 1.7538799546502091 ; + setAttr ".s" -type "double3" 1.7538799546502164 1.7538799546502193 1.7538799546502095 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "mouth_C0_root" -p "neck_C0_head"; - rename -uid "12D5379E-4AB9-7DF3-94D4-AFB9AD649740"; + rename -uid "4C7AA725-48BF-E1DF-48F4-CD95D985FF41"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -5567,9 +5613,9 @@ createNode transform -n "mouth_C0_root" -p "neck_C0_head"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 8.7430063189231078e-016 -1.4210854715202004e-014 1.7723706024528312e-017 ; + setAttr ".t" -type "double3" 8.8817841970012523e-016 -2.1316282072803006e-014 1.7723706024530678e-017 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5578,7 +5624,7 @@ createNode transform -n "mouth_C0_root" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.95913545105009446 0.95913545105009301 0.95913545105009024 ; + setAttr ".s" -type "double3" 0.95913545105009468 0.95913545105009312 0.95913545105009024 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -5588,9 +5634,8 @@ createNode transform -n "mouth_C0_root" -p "neck_C0_head"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "faceUI_C0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "mouth_C0_rootShape" -p "mouth_C0_root"; - rename -uid "E2B303AE-4ECD-3907-67BA-4884734DA9E2"; + rename -uid "EB976A33-4E5F-2C82-9A8C-6DB7343B393C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5602,8 +5647,8 @@ createNode nurbsCurve -n "mouth_C0_rootShape" -p "mouth_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_root25Shape" -p "mouth_C0_root"; - rename -uid "1C790741-4056-C542-7339-75BB6CBA8327"; +createNode nurbsCurve -n "mouth_C0_root28Shape" -p "mouth_C0_root"; + rename -uid "B779541D-4178-08F9-2D29-EAAB811093F7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5615,8 +5660,8 @@ createNode nurbsCurve -n "mouth_C0_root25Shape" -p "mouth_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_root26Shape" -p "mouth_C0_root"; - rename -uid "5CC42036-4A56-4912-B075-E1A5D0BB04BD"; +createNode nurbsCurve -n "mouth_C0_root29Shape" -p "mouth_C0_root"; + rename -uid "ACAC3D40-47DA-61D0-4945-22A921D70B55"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5628,8 +5673,8 @@ createNode nurbsCurve -n "mouth_C0_root26Shape" -p "mouth_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_root27Shape" -p "mouth_C0_root"; - rename -uid "A417D0AB-4C63-9624-9F32-5A96F1AE0D32"; +createNode nurbsCurve -n "mouth_C0_root30Shape" -p "mouth_C0_root"; + rename -uid "7BDB1D95-44A3-E75C-D9FA-808C573A2827"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5656,10 +5701,10 @@ createNode nurbsCurve -n "mouth_C0_root27Shape" -p "mouth_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "mouth_C0_rotcenter" -p "mouth_C0_root"; - rename -uid "06FBCB1E-4FC5-B787-2E8D-7DB601982006"; + rename -uid "30D93966-49B5-761F-283C-7A917E04AADE"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -8.7644326417193379e-016 -0.62123610319594391 1.8022590188867564 ; + setAttr ".t" -type "double3" -8.7644326417193498e-016 -0.62123610319594391 1.8022590188867562 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5667,12 +5712,12 @@ createNode transform -n "mouth_C0_rotcenter" -p "mouth_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999722 0.99999999999999989 0.99999999999999745 ; + setAttr ".s" -type "double3" 0.99999999999999667 0.99999999999999978 0.99999999999999722 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_rotcenterShape" -p "mouth_C0_rotcenter"; - rename -uid "C8471712-4D4D-E5EE-0DF6-7D9662CE20D2"; + rename -uid "F64B509A-4EFC-720F-4AF1-2180AAA48D32"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5684,8 +5729,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenterShape" -p "mouth_C0_rotcenter"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter25Shape" -p "mouth_C0_rotcenter"; - rename -uid "0D5C923C-47C0-46B7-6C79-3089DD74C310"; +createNode nurbsCurve -n "mouth_C0_rotcenter28Shape" -p "mouth_C0_rotcenter"; + rename -uid "B75354F3-4B1D-0932-8058-849399062CFC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5697,8 +5742,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter25Shape" -p "mouth_C0_rotcenter"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter26Shape" -p "mouth_C0_rotcenter"; - rename -uid "182428C5-442A-0955-2747-94A52C6D79DC"; +createNode nurbsCurve -n "mouth_C0_rotcenter29Shape" -p "mouth_C0_rotcenter"; + rename -uid "E11DC3AB-4AF1-06BF-3C36-98914C898C21"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5710,8 +5755,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter26Shape" -p "mouth_C0_rotcenter"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_rotcenter27Shape" -p "mouth_C0_rotcenter"; - rename -uid "60A1C1FF-45C6-135B-44A1-2D9F722E7166"; +createNode nurbsCurve -n "mouth_C0_rotcenter30Shape" -p "mouth_C0_rotcenter"; + rename -uid "949986FC-4FCB-B2B1-BF0C-E1990028C0D7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5728,8 +5773,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter27Shape" -p "mouth_C0_rotcenter"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter27_0crvShape" -p "mouth_C0_rotcenter"; - rename -uid "89E24A94-41BE-20AC-FA76-999143748973"; +createNode nurbsCurve -n "mouth_C0_rotcenter30_0crvShape" -p "mouth_C0_rotcenter"; + rename -uid "652B5EBB-43D0-94F4-E6A0-D2B34F62A4FD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5746,8 +5791,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter27_0crvShape" -p "mouth_C0_rotcenter 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter27_1crvShape" -p "mouth_C0_rotcenter"; - rename -uid "D00C11A3-4CA4-9C37-9E55-11A73FFBD081"; +createNode nurbsCurve -n "mouth_C0_rotcenter30_1crvShape" -p "mouth_C0_rotcenter"; + rename -uid "59355029-4357-6B9A-4915-82A0463C8E5B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5765,10 +5810,10 @@ createNode nurbsCurve -n "mouth_C0_rotcenter27_1crvShape" -p "mouth_C0_rotcenter 0 0 -0.1875 ; createNode transform -n "mouth_C0_lipup" -p "mouth_C0_rotcenter"; - rename -uid "E69001F3-407F-5CAF-6BC0-8EB2648A5E13"; + rename -uid "15662483-4A37-51A4-CD50-9889247F5E9F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -8.9761536313416156e-017 0.12388352783449363 0.23628786867351526 ; + setAttr ".t" -type "double3" -8.9761536313416156e-017 0.12388352783449008 0.23628786867351503 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5776,12 +5821,12 @@ createNode transform -n "mouth_C0_lipup" -p "mouth_C0_rotcenter"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999956 0.999999999999999 ; + setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999944 0.999999999999999 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_lipupShape" -p "mouth_C0_lipup"; - rename -uid "374CEBC8-494E-1F46-7B7B-8388B9388D93"; + rename -uid "7DD94BB6-4E5D-BD03-5230-9E8458BDEB3E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5793,8 +5838,8 @@ createNode nurbsCurve -n "mouth_C0_lipupShape" -p "mouth_C0_lipup"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_lipup25Shape" -p "mouth_C0_lipup"; - rename -uid "274A0C8D-4CA7-5A0E-148A-26B973C7C638"; +createNode nurbsCurve -n "mouth_C0_lipup28Shape" -p "mouth_C0_lipup"; + rename -uid "CEFC6A6D-4592-338C-4E08-809FE54539FA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5806,8 +5851,8 @@ createNode nurbsCurve -n "mouth_C0_lipup25Shape" -p "mouth_C0_lipup"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_lipup26Shape" -p "mouth_C0_lipup"; - rename -uid "7F1818FF-4DB5-B73A-5E48-43A237887C6B"; +createNode nurbsCurve -n "mouth_C0_lipup29Shape" -p "mouth_C0_lipup"; + rename -uid "7B3E26FD-4CD6-B9E3-5946-42A2D2C533E0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5819,8 +5864,8 @@ createNode nurbsCurve -n "mouth_C0_lipup26Shape" -p "mouth_C0_lipup"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_lipup27Shape" -p "mouth_C0_lipup"; - rename -uid "473A8EA2-42DC-B2DC-E6D7-4FA5A7573D4E"; +createNode nurbsCurve -n "mouth_C0_lipup30Shape" -p "mouth_C0_lipup"; + rename -uid "4805435F-46BE-7ACB-A34A-799D23AD1DC5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5837,8 +5882,8 @@ createNode nurbsCurve -n "mouth_C0_lipup27Shape" -p "mouth_C0_lipup"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_lipup27_0crvShape" -p "mouth_C0_lipup"; - rename -uid "5FBFF75A-4E0C-6C6C-45F9-32AA862DA05A"; +createNode nurbsCurve -n "mouth_C0_lipup30_0crvShape" -p "mouth_C0_lipup"; + rename -uid "A8900DDF-4E0D-2833-FB1D-5189A13B4A6C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5855,8 +5900,8 @@ createNode nurbsCurve -n "mouth_C0_lipup27_0crvShape" -p "mouth_C0_lipup"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_lipup27_1crvShape" -p "mouth_C0_lipup"; - rename -uid "D3D36F09-48C4-CB31-7F42-75BB0FCA7604"; +createNode nurbsCurve -n "mouth_C0_lipup30_1crvShape" -p "mouth_C0_lipup"; + rename -uid "AD782877-453E-24F6-CF0B-509F58635EBF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5874,18 +5919,18 @@ createNode nurbsCurve -n "mouth_C0_lipup27_1crvShape" -p "mouth_C0_lipup"; 0 0 -0.1875 ; createNode transform -n "mouth_C0_crv" -p "mouth_C0_lipup"; - rename -uid "A1967D26-48D7-2A38-2785-06959A3C3DC4"; + rename -uid "B90FCDFF-4712-68F8-D0A9-999F4052C2B8"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -3.2860216724904479e-015 -30.115037669761499 -2.1322109539326486 ; - setAttr ".s" -type "double3" 1.8286050763007582 1.82860507630076 1.8286050763007613 ; -createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; - rename -uid "8753D95F-401F-5292-8F8B-B9A1ADF2487F"; + setAttr ".t" -type "double3" -3.2860216724904475e-015 -30.115037669761495 -2.1322109539326481 ; + setAttr ".s" -type "double3" 1.8286050763007577 1.8286050763007604 1.8286050763007606 ; +createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; + rename -uid "4A61F6FF-44BF-5178-0A5F-4AA1094ADB7A"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; - rename -uid "209F17B5-474A-580E-A066-F8BA40B3BAE1"; +createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; + rename -uid "8356F4A7-4387-88E5-3C51-A5B16EC62279"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -5896,10 +5941,10 @@ createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C 0 0 0 ; createNode transform -n "mouth_C0_liplow" -p "mouth_C0_rotcenter"; - rename -uid "32DE63AD-4B89-8B8C-9242-DCAF6851D166"; + rename -uid "FFFC39A4-4311-2A78-0909-CD8999D4DD2B"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -9.8775621283846274e-017 -0.1467824739346888 0.18194531820222393 ; + setAttr ".t" -type "double3" -9.8775621283846668e-017 -0.14678247393469235 0.1819453182022237 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5907,12 +5952,12 @@ createNode transform -n "mouth_C0_liplow" -p "mouth_C0_rotcenter"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999956 0.999999999999999 ; + setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999944 0.999999999999999 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_liplowShape" -p "mouth_C0_liplow"; - rename -uid "055CF040-424E-D7A6-D74F-C99947A7F9BB"; + rename -uid "89E62080-43F4-5EC0-7B84-2B88D0291E9B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5924,8 +5969,8 @@ createNode nurbsCurve -n "mouth_C0_liplowShape" -p "mouth_C0_liplow"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_liplow25Shape" -p "mouth_C0_liplow"; - rename -uid "7A31BFD7-4AFD-920B-29F9-AEBA53AAE603"; +createNode nurbsCurve -n "mouth_C0_liplow28Shape" -p "mouth_C0_liplow"; + rename -uid "DB7C5573-42AF-4FEA-8ED7-10B16B41634F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5937,8 +5982,8 @@ createNode nurbsCurve -n "mouth_C0_liplow25Shape" -p "mouth_C0_liplow"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_liplow26Shape" -p "mouth_C0_liplow"; - rename -uid "49B17946-4153-C649-AE0E-3D9589F11667"; +createNode nurbsCurve -n "mouth_C0_liplow29Shape" -p "mouth_C0_liplow"; + rename -uid "C31C3A0C-4F55-649C-990F-90B7E8F1B3B5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5950,8 +5995,8 @@ createNode nurbsCurve -n "mouth_C0_liplow26Shape" -p "mouth_C0_liplow"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_liplow27Shape" -p "mouth_C0_liplow"; - rename -uid "B48C08E3-4A92-F56D-5217-2983DBC220AD"; +createNode nurbsCurve -n "mouth_C0_liplow30Shape" -p "mouth_C0_liplow"; + rename -uid "8E39D662-4680-5C81-8AAF-1BAE79D9A928"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5968,8 +6013,8 @@ createNode nurbsCurve -n "mouth_C0_liplow27Shape" -p "mouth_C0_liplow"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_liplow27_0crvShape" -p "mouth_C0_liplow"; - rename -uid "54230183-4635-91B6-6C90-9A9B06844DC5"; +createNode nurbsCurve -n "mouth_C0_liplow30_0crvShape" -p "mouth_C0_liplow"; + rename -uid "39F4949F-4F36-3245-1B5A-A4975120BAC1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5986,8 +6031,8 @@ createNode nurbsCurve -n "mouth_C0_liplow27_0crvShape" -p "mouth_C0_liplow"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_liplow27_1crvShape" -p "mouth_C0_liplow"; - rename -uid "5C19D532-442C-F229-2F99-4A8F8B3B9C77"; +createNode nurbsCurve -n "mouth_C0_liplow30_1crvShape" -p "mouth_C0_liplow"; + rename -uid "9197E6FB-45B2-A40D-F7B9-3C92E4D22421"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6005,18 +6050,18 @@ createNode nurbsCurve -n "mouth_C0_liplow27_1crvShape" -p "mouth_C0_liplow"; 0 0 -0.1875 ; createNode transform -n "mouth_C0_crv" -p "mouth_C0_liplow"; - rename -uid "F2DE634F-4195-21A4-4AD2-98BECD352842"; + rename -uid "0386D929-44B1-B8CB-8758-F1996B42C571"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -3.2770075875200178e-015 -29.844371667992313 -2.0778684034613573 ; - setAttr ".s" -type "double3" 1.8286050763007582 1.82860507630076 1.8286050763007613 ; -createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; - rename -uid "96FCBE04-4983-1355-5E1B-BD939852EC5D"; + setAttr ".t" -type "double3" -3.2770075875200162e-015 -29.844371667992309 -2.0778684034613568 ; + setAttr ".s" -type "double3" 1.8286050763007577 1.8286050763007604 1.8286050763007606 ; +createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; + rename -uid "59708543-4F43-EC8E-FDA7-779C1CCA8ADC"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; - rename -uid "861F4894-4D3F-AB5B-4214-FDAC4FDF2BC2"; +createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; + rename -uid "A5EA3B9D-45C1-6AAE-6FB9-BD888156A9B9"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6027,10 +6072,10 @@ createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C 0 0 0 ; createNode transform -n "mouth_C0_jaw" -p "mouth_C0_root"; - rename -uid "76042B45-43F6-9BDB-8C84-FDB7BCD65A5E"; + rename -uid "0462D737-4EFF-8CEF-451A-F486301E5112"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.0917243463457493e-015 -1.4111110000775078 2.0692083234973273 ; + setAttr ".t" -type "double3" -1.0917243463457505e-015 -1.4111110000775113 2.0692083234973264 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6038,12 +6083,12 @@ createNode transform -n "mouth_C0_jaw" -p "mouth_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999722 0.99999999999999989 0.99999999999999745 ; + setAttr ".s" -type "double3" 0.99999999999999667 0.99999999999999978 0.99999999999999722 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_jawShape" -p "mouth_C0_jaw"; - rename -uid "1B74AEE9-4B5E-EDFB-698A-5C8C7B63862D"; + rename -uid "74B91E1C-4211-9B72-E2AD-D1B12DF8829F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6055,8 +6100,8 @@ createNode nurbsCurve -n "mouth_C0_jawShape" -p "mouth_C0_jaw"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_jaw25Shape" -p "mouth_C0_jaw"; - rename -uid "3EAF65CE-484B-9EFA-BC75-8081E0056350"; +createNode nurbsCurve -n "mouth_C0_jaw28Shape" -p "mouth_C0_jaw"; + rename -uid "D61CB066-4B97-2D74-3D57-6EA7E4C946FB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6068,8 +6113,8 @@ createNode nurbsCurve -n "mouth_C0_jaw25Shape" -p "mouth_C0_jaw"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_jaw26Shape" -p "mouth_C0_jaw"; - rename -uid "794EB6A5-49BF-076E-D894-D585B6781E4A"; +createNode nurbsCurve -n "mouth_C0_jaw29Shape" -p "mouth_C0_jaw"; + rename -uid "80F50ED9-4CDE-8CC3-A2FA-C1902D42D397"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6081,8 +6126,8 @@ createNode nurbsCurve -n "mouth_C0_jaw26Shape" -p "mouth_C0_jaw"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_jaw27Shape" -p "mouth_C0_jaw"; - rename -uid "22EEBE9E-449E-A39A-39BC-2BB6094C0E7D"; +createNode nurbsCurve -n "mouth_C0_jaw30Shape" -p "mouth_C0_jaw"; + rename -uid "18C70BAD-416B-77AA-CE39-1C9429819686"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6099,8 +6144,8 @@ createNode nurbsCurve -n "mouth_C0_jaw27Shape" -p "mouth_C0_jaw"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_jaw27_0crvShape" -p "mouth_C0_jaw"; - rename -uid "5170051C-4E93-34D3-7537-BE9131F9319B"; +createNode nurbsCurve -n "mouth_C0_jaw30_0crvShape" -p "mouth_C0_jaw"; + rename -uid "D17424BB-4BC3-3768-FBEC-80AF9538D4C4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6117,8 +6162,8 @@ createNode nurbsCurve -n "mouth_C0_jaw27_0crvShape" -p "mouth_C0_jaw"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_jaw27_1crvShape" -p "mouth_C0_jaw"; - rename -uid "4BE4D711-4130-6B25-AC58-B4931743162C"; +createNode nurbsCurve -n "mouth_C0_jaw30_1crvShape" -p "mouth_C0_jaw"; + rename -uid "A388E7B6-4A75-FF4B-5F59-6D898FE0BD07"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6136,7 +6181,7 @@ createNode nurbsCurve -n "mouth_C0_jaw27_1crvShape" -p "mouth_C0_jaw"; 0 0 -0.1875 ; createNode transform -n "tongue_C0_root" -p "mouth_C0_jaw"; - rename -uid "78496380-47A2-D0C1-399B-F4A092DF6BF6"; + rename -uid "D4F1382D-423E-9708-240B-34A303DC6439"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -6146,13 +6191,13 @@ createNode transform -n "tongue_C0_root" -p "mouth_C0_jaw"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 8.2909663197643836e-016 0.86108709817294127 -1.6295011454214565 ; + setAttr ".t" -type "double3" 8.2909663197643875e-016 0.86108709817294482 -1.6295011454214561 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6160,7 +6205,7 @@ createNode transform -n "tongue_C0_root" -p "mouth_C0_jaw"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.17172273903700594 0.17172273903700591 0.17172273903700599 ; + setAttr ".s" -type "double3" 0.17172273903700594 0.17172273903700588 0.17172273903700599 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -6170,12 +6215,9 @@ createNode transform -n "tongue_C0_root" -p "mouth_C0_jaw"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "tongue_C0_rootShape" -p "tongue_C0_root"; - rename -uid "EC05248E-4960-403D-55E3-E5821925B8F9"; + rename -uid "944BB210-40B0-453A-7346-BDB39A32F980"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6187,8 +6229,8 @@ createNode nurbsCurve -n "tongue_C0_rootShape" -p "tongue_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "tongue_C0_root25Shape" -p "tongue_C0_root"; - rename -uid "609B9035-46A3-53DA-5981-0BA99F1C029C"; +createNode nurbsCurve -n "tongue_C0_root28Shape" -p "tongue_C0_root"; + rename -uid "2D03AC14-49D8-1422-A361-7584565F3761"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6200,8 +6242,8 @@ createNode nurbsCurve -n "tongue_C0_root25Shape" -p "tongue_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "tongue_C0_root26Shape" -p "tongue_C0_root"; - rename -uid "943E944B-4B9D-4833-9B80-738515544F2D"; +createNode nurbsCurve -n "tongue_C0_root29Shape" -p "tongue_C0_root"; + rename -uid "659D9A24-40B4-E9F0-D434-38964E4B26FE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6213,8 +6255,8 @@ createNode nurbsCurve -n "tongue_C0_root26Shape" -p "tongue_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "tongue_C0_root27Shape" -p "tongue_C0_root"; - rename -uid "B04BC754-435B-C54C-646D-2BB37BD52DD6"; +createNode nurbsCurve -n "tongue_C0_root30Shape" -p "tongue_C0_root"; + rename -uid "D8F59BAE-4A4F-CED4-4220-B09DD293CC5A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6241,7 +6283,7 @@ createNode nurbsCurve -n "tongue_C0_root27Shape" -p "tongue_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "tongue_C0_0_loc" -p "tongue_C0_root"; - rename -uid "53660CA2-4297-684A-77DA-06A8F5AA6633"; + rename -uid "3B98908F-4948-D04A-3230-11BF1FB6D2BB"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" -7.0143079180640854e-016 -2.8421709430404007e-014 1.5794817263027459 ; @@ -6252,12 +6294,12 @@ createNode transform -n "tongue_C0_0_loc" -p "tongue_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000013 1.0000000000000016 ; + setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000016 1.0000000000000016 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "tongue_C0_0_locShape" -p "tongue_C0_0_loc"; - rename -uid "00830CBC-41CE-EDF5-A272-77BE033754F9"; + rename -uid "EC273AD5-49AB-9282-A6F9-66BED6041229"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6269,8 +6311,8 @@ createNode nurbsCurve -n "tongue_C0_0_locShape" -p "tongue_C0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "tongue_C0_0_loc25Shape" -p "tongue_C0_0_loc"; - rename -uid "D3505A8A-4F73-817A-095A-D79E317CA17D"; +createNode nurbsCurve -n "tongue_C0_0_loc28Shape" -p "tongue_C0_0_loc"; + rename -uid "5243FF57-4450-3C37-B5E3-5B9DC54CE08D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6282,8 +6324,8 @@ createNode nurbsCurve -n "tongue_C0_0_loc25Shape" -p "tongue_C0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "tongue_C0_0_loc26Shape" -p "tongue_C0_0_loc"; - rename -uid "5B07489F-40E0-6579-F151-6298A45E74C9"; +createNode nurbsCurve -n "tongue_C0_0_loc29Shape" -p "tongue_C0_0_loc"; + rename -uid "C5B692AF-4AE1-35F6-65E3-34A9064B3494"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6295,8 +6337,8 @@ createNode nurbsCurve -n "tongue_C0_0_loc26Shape" -p "tongue_C0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "tongue_C0_0_loc27Shape" -p "tongue_C0_0_loc"; - rename -uid "855CC5DC-4031-6DCE-4B08-C486DAFC5071"; +createNode nurbsCurve -n "tongue_C0_0_loc30Shape" -p "tongue_C0_0_loc"; + rename -uid "F70B94D1-49EB-FFE8-3AC8-D199A60200B4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6313,8 +6355,8 @@ createNode nurbsCurve -n "tongue_C0_0_loc27Shape" -p "tongue_C0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_0_loc27_0crvShape" -p "tongue_C0_0_loc"; - rename -uid "CFA09F9D-461A-772C-3357-AEB655D52B64"; +createNode nurbsCurve -n "tongue_C0_0_loc30_0crvShape" -p "tongue_C0_0_loc"; + rename -uid "1ABFA281-4814-D284-A842-418106CF9340"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6331,8 +6373,8 @@ createNode nurbsCurve -n "tongue_C0_0_loc27_0crvShape" -p "tongue_C0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_0_loc27_1crvShape" -p "tongue_C0_0_loc"; - rename -uid "E607EE18-491D-4907-9548-9EA7EAB67C06"; +createNode nurbsCurve -n "tongue_C0_0_loc30_1crvShape" -p "tongue_C0_0_loc"; + rename -uid "84C7C041-4854-625B-629F-C8999438B71F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6350,10 +6392,10 @@ createNode nurbsCurve -n "tongue_C0_0_loc27_1crvShape" -p "tongue_C0_0_loc"; 0 0 -0.1875 ; createNode transform -n "tongue_C0_1_loc" -p "tongue_C0_0_loc"; - rename -uid "923E5BE5-413B-7BA8-5958-47B4A7C7EF72"; + rename -uid "37EA9547-45C8-80F3-D0B8-3E886469AF7C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -7.2170680441439722e-016 -0.16556620751518381 1.5794817263027454 ; + setAttr ".t" -type "double3" -7.2170680441440353e-016 -0.16556620751518381 1.5794817263027454 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6361,12 +6403,12 @@ createNode transform -n "tongue_C0_1_loc" -p "tongue_C0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999944 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999922 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "tongue_C0_1_locShape" -p "tongue_C0_1_loc"; - rename -uid "0F3C8486-4998-BA01-C829-B897D0B92FC6"; + rename -uid "5448DFE7-4A56-9B75-E73F-25A9F70DCF4A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6378,8 +6420,8 @@ createNode nurbsCurve -n "tongue_C0_1_locShape" -p "tongue_C0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "tongue_C0_1_loc25Shape" -p "tongue_C0_1_loc"; - rename -uid "242E5E1F-4968-9158-7B4D-2FB2DE9286E9"; +createNode nurbsCurve -n "tongue_C0_1_loc28Shape" -p "tongue_C0_1_loc"; + rename -uid "6456C675-4EAB-044C-2707-B6AF67367998"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6391,8 +6433,8 @@ createNode nurbsCurve -n "tongue_C0_1_loc25Shape" -p "tongue_C0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "tongue_C0_1_loc26Shape" -p "tongue_C0_1_loc"; - rename -uid "5CB3EADB-4559-A096-6D62-1A818D9E0979"; +createNode nurbsCurve -n "tongue_C0_1_loc29Shape" -p "tongue_C0_1_loc"; + rename -uid "3491DE44-4480-BAB0-EF3E-30A078B12530"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6404,8 +6446,8 @@ createNode nurbsCurve -n "tongue_C0_1_loc26Shape" -p "tongue_C0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "tongue_C0_1_loc27Shape" -p "tongue_C0_1_loc"; - rename -uid "09C53A12-4604-195A-6126-CA9AE383FE6C"; +createNode nurbsCurve -n "tongue_C0_1_loc30Shape" -p "tongue_C0_1_loc"; + rename -uid "A42B14B6-4B51-6916-C794-4F868E94039E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6422,8 +6464,8 @@ createNode nurbsCurve -n "tongue_C0_1_loc27Shape" -p "tongue_C0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_1_loc27_0crvShape" -p "tongue_C0_1_loc"; - rename -uid "46AA5D62-4110-DCEF-CFDB-CD9B1203194E"; +createNode nurbsCurve -n "tongue_C0_1_loc30_0crvShape" -p "tongue_C0_1_loc"; + rename -uid "CAB734F7-409D-AFC3-537D-BA9AF1243D0E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6440,8 +6482,8 @@ createNode nurbsCurve -n "tongue_C0_1_loc27_0crvShape" -p "tongue_C0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_1_loc27_1crvShape" -p "tongue_C0_1_loc"; - rename -uid "A951022B-4882-3B5D-9777-67B9F22D0B00"; +createNode nurbsCurve -n "tongue_C0_1_loc30_1crvShape" -p "tongue_C0_1_loc"; + rename -uid "957D7797-4028-B7D2-C2C3-58B67D5D1859"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6459,10 +6501,10 @@ createNode nurbsCurve -n "tongue_C0_1_loc27_1crvShape" -p "tongue_C0_1_loc"; 0 0 -0.1875 ; createNode transform -n "tongue_C0_2_loc" -p "tongue_C0_1_loc"; - rename -uid "F4800C28-45B8-75BF-00CA-F8A43536D05D"; + rename -uid "FE9559AC-446F-51D3-AE68-6FBD399DB402"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -7.3944831544645201e-016 -0.31043663909051133 1.5794817263027401 ; + setAttr ".t" -type "double3" -7.3944831544645516e-016 -0.31043663909051133 1.5794817263027401 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6475,7 +6517,7 @@ createNode transform -n "tongue_C0_2_loc" -p "tongue_C0_1_loc"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "tongue_C0_2_locShape" -p "tongue_C0_2_loc"; - rename -uid "8514F0ED-43B9-55DD-3740-88BE50482E0A"; + rename -uid "C7EFB747-45CE-4FBE-6C33-9194825DFF08"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6487,8 +6529,8 @@ createNode nurbsCurve -n "tongue_C0_2_locShape" -p "tongue_C0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "tongue_C0_2_loc25Shape" -p "tongue_C0_2_loc"; - rename -uid "D2804665-4609-39DC-1975-03962D729CD9"; +createNode nurbsCurve -n "tongue_C0_2_loc28Shape" -p "tongue_C0_2_loc"; + rename -uid "9380BA52-4FA1-4ED8-48AA-3EB905250AA8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6500,8 +6542,8 @@ createNode nurbsCurve -n "tongue_C0_2_loc25Shape" -p "tongue_C0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "tongue_C0_2_loc26Shape" -p "tongue_C0_2_loc"; - rename -uid "0184400A-449E-9331-4B9E-20AEE3D3AD18"; +createNode nurbsCurve -n "tongue_C0_2_loc29Shape" -p "tongue_C0_2_loc"; + rename -uid "7219454A-4A46-5B48-C440-98BC24E587DB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6513,8 +6555,8 @@ createNode nurbsCurve -n "tongue_C0_2_loc26Shape" -p "tongue_C0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "tongue_C0_2_loc27Shape" -p "tongue_C0_2_loc"; - rename -uid "D267C40A-4496-0902-30A0-5D936FF9175D"; +createNode nurbsCurve -n "tongue_C0_2_loc30Shape" -p "tongue_C0_2_loc"; + rename -uid "9A7B646C-49B1-7969-7B9F-D582F16C85C6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6531,8 +6573,8 @@ createNode nurbsCurve -n "tongue_C0_2_loc27Shape" -p "tongue_C0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_2_loc27_0crvShape" -p "tongue_C0_2_loc"; - rename -uid "6FD5752E-4BD0-8846-6F7D-9393D721279B"; +createNode nurbsCurve -n "tongue_C0_2_loc30_0crvShape" -p "tongue_C0_2_loc"; + rename -uid "BD2B5C20-4F6C-6A89-18F0-D2997899486D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6549,8 +6591,8 @@ createNode nurbsCurve -n "tongue_C0_2_loc27_0crvShape" -p "tongue_C0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_2_loc27_1crvShape" -p "tongue_C0_2_loc"; - rename -uid "B6095E93-4AE8-09E2-B2CA-72907076282E"; +createNode nurbsCurve -n "tongue_C0_2_loc30_1crvShape" -p "tongue_C0_2_loc"; + rename -uid "D75AC879-4F90-3B3E-4B3E-9F83D447FB0D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6568,10 +6610,10 @@ createNode nurbsCurve -n "tongue_C0_2_loc27_1crvShape" -p "tongue_C0_2_loc"; 0 0 -0.1875 ; createNode transform -n "tongue_C0_3_loc" -p "tongue_C0_2_loc"; - rename -uid "00F7DA78-4313-FD20-B6CE-068B1B325DBD"; + rename -uid "76976970-4081-7E73-7F5D-A6B9FB582E9C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -7.0903429653441218e-016 -0.062087327818261429 1.5794817263027481 ; + setAttr ".t" -type "double3" -7.0903429653440587e-016 -0.06208732781828985 1.579481726302749 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6579,12 +6621,12 @@ createNode transform -n "tongue_C0_3_loc" -p "tongue_C0_2_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999944 0.999999999999999 0.99999999999999922 ; + setAttr ".s" -type "double3" 0.99999999999999944 0.999999999999999 0.99999999999999944 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "tongue_C0_3_locShape" -p "tongue_C0_3_loc"; - rename -uid "D25AB92D-47A8-C71A-97CE-75B65E25A9F3"; + rename -uid "504BFDA8-40C1-2988-8BC5-4DA21E45B1F9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6596,8 +6638,8 @@ createNode nurbsCurve -n "tongue_C0_3_locShape" -p "tongue_C0_3_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "tongue_C0_3_loc25Shape" -p "tongue_C0_3_loc"; - rename -uid "729DDE6B-42FD-5A6A-E9F2-25944E7B1D20"; +createNode nurbsCurve -n "tongue_C0_3_loc28Shape" -p "tongue_C0_3_loc"; + rename -uid "1487E921-4A4C-2C09-8AB9-7B84672E9B35"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6609,8 +6651,8 @@ createNode nurbsCurve -n "tongue_C0_3_loc25Shape" -p "tongue_C0_3_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "tongue_C0_3_loc26Shape" -p "tongue_C0_3_loc"; - rename -uid "29A0AD27-4984-BBF7-E0E7-428DB4438380"; +createNode nurbsCurve -n "tongue_C0_3_loc29Shape" -p "tongue_C0_3_loc"; + rename -uid "29408C29-4A5A-217E-66E9-758300C9BB0D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6622,8 +6664,8 @@ createNode nurbsCurve -n "tongue_C0_3_loc26Shape" -p "tongue_C0_3_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "tongue_C0_3_loc27Shape" -p "tongue_C0_3_loc"; - rename -uid "F90F389F-41B1-C3CC-7A12-02AC2767CC37"; +createNode nurbsCurve -n "tongue_C0_3_loc30Shape" -p "tongue_C0_3_loc"; + rename -uid "48984B67-4CE7-E5FB-3778-489FB7C146A5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6640,8 +6682,8 @@ createNode nurbsCurve -n "tongue_C0_3_loc27Shape" -p "tongue_C0_3_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_3_loc27_0crvShape" -p "tongue_C0_3_loc"; - rename -uid "B9B7D226-40EB-B390-6E05-1A82740B050F"; +createNode nurbsCurve -n "tongue_C0_3_loc30_0crvShape" -p "tongue_C0_3_loc"; + rename -uid "7C834444-49A1-5BA1-4D58-A5911E6D0F03"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6658,8 +6700,8 @@ createNode nurbsCurve -n "tongue_C0_3_loc27_0crvShape" -p "tongue_C0_3_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "tongue_C0_3_loc27_1crvShape" -p "tongue_C0_3_loc"; - rename -uid "62B43B48-47DB-D50E-885E-C9A539CD83B0"; +createNode nurbsCurve -n "tongue_C0_3_loc30_1crvShape" -p "tongue_C0_3_loc"; + rename -uid "86A2B3F2-46F7-62EB-3139-63B11E507596"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6677,7 +6719,7 @@ createNode nurbsCurve -n "tongue_C0_3_loc27_1crvShape" -p "tongue_C0_3_loc"; 0 0 -0.1875 ; createNode transform -n "tongue_C0_blade" -p "tongue_C0_root"; - rename -uid "FA83BC25-4DD1-9622-8D06-FC8B471521B2"; + rename -uid "177086F2-4229-9FF2-289E-1DA8C14FD075"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -6687,13 +6729,13 @@ createNode transform -n "tongue_C0_blade" -p "tongue_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000024 1.0000000000000013 1.0000000000000013 ; + setAttr ".s" -type "double3" 1.0000000000000024 1.0000000000000016 1.0000000000000013 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "tongue_C0_bladeShape" -p "tongue_C0_blade"; - rename -uid "F8D9D4A3-45E5-5465-3B4A-22801F2BD108"; + rename -uid "AB03CA26-474C-5C8E-1C7C-AE8188C819F9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6707,8 +6749,8 @@ createNode nurbsCurve -n "tongue_C0_bladeShape" -p "tongue_C0_blade"; 0 0.034344547807401184 0 0 0 0 ; -createNode aimConstraint -n "tongue_C0_blade_aimConstraint9" -p "tongue_C0_blade"; - rename -uid "E9904B03-4830-55F2-3435-529B64CCDE8F"; +createNode aimConstraint -n "tongue_C0_blade_aimConstraint10" -p "tongue_C0_blade"; + rename -uid "3D0E469A-4210-528C-3AAD-50AA6338BAF0"; addAttr -dcb 0 -ci true -sn "w0" -ln "tongue_C0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -6723,10 +6765,10 @@ createNode aimConstraint -n "tongue_C0_blade_aimConstraint9" -p "tongue_C0_blade setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".rsrr" -type "double3" -3.0929968415421635e-012 -89.999999999996902 0 ; + setAttr ".rsrr" -type "double3" -1.030998947180722e-012 -89.999999999998963 0 ; setAttr -k on ".w0"; -createNode pointConstraint -n "tongue_C0_blade_pointConstraint9" -p "tongue_C0_blade"; - rename -uid "2ABAEB1A-45F4-048B-A717-0494AEAD9025"; +createNode pointConstraint -n "tongue_C0_blade_pointConstraint10" -p "tongue_C0_blade"; + rename -uid "027C676F-47BE-539B-3669-7EB31E69677D"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "tongue_C0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -6740,21 +6782,21 @@ createNode pointConstraint -n "tongue_C0_blade_pointConstraint9" -p "tongue_C0_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" -6.3108872417680944e-030 0 -4.4408920985006262e-016 ; + setAttr ".rst" -type "double3" 3.1554436208840472e-030 0 0 ; setAttr -k on ".w0"; createNode transform -n "tongue_C0_crv" -p "tongue_C0_root"; - rename -uid "59255783-4A68-59EE-8AB3-9AB2E4A4C2AE"; + rename -uid "314009AD-4223-2330-90B8-CC93843CA9FF"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -2.3232792471046793e-014 -175.06339877760735 -3.1060024283289889 ; - setAttr ".s" -type "double3" 10.648590201596399 10.648590201596415 10.648590201596409 ; + setAttr ".t" -type "double3" -2.3232792471046787e-014 -175.06339877760738 -3.1060024283289889 ; + setAttr ".s" -type "double3" 10.648590201596397 10.648590201596416 10.648590201596406 ; createNode nurbsCurve -n "tongue_C0_crvShape" -p "tongue_C0_crv"; - rename -uid "B6815D27-4268-4311-FA61-3B9BD2EB3646"; + rename -uid "2C7D1F1C-41C0-0BB2-A767-FDBDF0CFF1D1"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "tongue_C0_crvShapeOrig" -p "tongue_C0_crv"; - rename -uid "529F11CC-41C7-C863-B3A7-C0A11D7E80CC"; + rename -uid "19DBC66C-4FFE-1501-3947-87B256841BFE"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6768,18 +6810,18 @@ createNode nurbsCurve -n "tongue_C0_crvShapeOrig" -p "tongue_C0_crv"; 0 0 0 ; createNode transform -n "mouth_C0_crv" -p "mouth_C0_root"; - rename -uid "B60D650B-43DA-1D6C-A637-CF829E90D7DD"; + rename -uid "226A4047-4659-F66D-B776-B48640B4D18B"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -4.2522264729757852e-015 -30.612390245122924 -0.093664066372369681 ; - setAttr ".s" -type "double3" 1.828605076300752 1.8286050763007591 1.8286050763007546 ; -createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; - rename -uid "FC674BC7-49FD-3678-B3EF-73B711E1A6F0"; + setAttr ".t" -type "double3" -4.2522264729757852e-015 -30.612390245122928 -0.093664066372369612 ; + setAttr ".s" -type "double3" 1.8286050763007506 1.8286050763007589 1.8286050763007538 ; +createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; + rename -uid "6B9598EB-4B4C-56F4-3DE1-73B8505B7331"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; - rename -uid "228FC052-4978-422B-3C65-719C152B3655"; +createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; + rename -uid "279E82F2-486D-FB20-9A9A-F38DBDF51C64"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6789,19 +6831,19 @@ createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C 0 0 0 0 0 0 ; -createNode transform -n "mouth_C0_crv9" -p "mouth_C0_root"; - rename -uid "387C64C5-4C7E-B90E-B72B-1384A492D8AD"; +createNode transform -n "mouth_C0_crv10" -p "mouth_C0_root"; + rename -uid "A8E8A3F1-4A27-1E70-F01A-D1B179476AB8"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -4.2522264729757852e-015 -30.612390245122924 -0.093664066372369681 ; - setAttr ".s" -type "double3" 1.828605076300752 1.8286050763007591 1.8286050763007546 ; -createNode nurbsCurve -n "mouth_C0_crv9Shape" -p "mouth_C0_crv9"; - rename -uid "92382422-4561-F367-3511-EA8E3CDF8F20"; + setAttr ".t" -type "double3" -4.2522264729757852e-015 -30.612390245122928 -0.093664066372369612 ; + setAttr ".s" -type "double3" 1.8286050763007506 1.8286050763007589 1.8286050763007538 ; +createNode nurbsCurve -n "mouth_C0_crv10Shape" -p "mouth_C0_crv10"; + rename -uid "0B5AECC3-46CD-4D88-7130-7296DFDB4AD0"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crv9ShapeOrig" -p "mouth_C0_crv9"; - rename -uid "944AE3CA-4E65-094B-8A7D-E980B0FC3BF7"; +createNode nurbsCurve -n "mouth_C0_crv10ShapeOrig" -p "mouth_C0_crv10"; + rename -uid "30704DDA-4665-CF9F-FD40-C8A37A1D1152"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6812,7 +6854,7 @@ createNode nurbsCurve -n "mouth_C0_crv9ShapeOrig" -p "mouth_C0_crv9"; 0 0 0 ; createNode transform -n "eyeslook_C0_root" -p "neck_C0_head"; - rename -uid "30AEA6E8-46E6-3A66-347F-309A060194EA"; + rename -uid "1DDAC81C-403E-2C7F-D8AF-70A0004295FB"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -6825,23 +6867,25 @@ createNode transform -n "eyeslook_C0_root" -p "neck_C0_head"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -5.2613992666289553 0.71045535901633627 -3.3130608822386209e-015 ; + setAttr ".t" -type "double3" -5.2613992666289535 0.71045535901632917 -3.3130608822386185e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6850,7 +6894,7 @@ createNode transform -n "eyeslook_C0_root" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.6711445512932588 1.6711445512932537 1.6711445512932512 ; + setAttr ".s" -type "double3" 1.671144551293259 1.6711445512932537 1.6711445512932515 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -6862,21 +6906,8 @@ createNode transform -n "eyeslook_C0_root" -p "neck_C0_head"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "square"; setAttr ".ikrefarray" -type "string" "neck_C0_head,local_C0_root,body_C0_root,spine_C0_eff"; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".k_sx" yes; - setAttr ".k_sy" yes; - setAttr ".k_sz" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "eyeslook_C0_rootShape" -p "eyeslook_C0_root"; - rename -uid "CDDEB93A-4BB8-5190-2AC5-B89C97587FC3"; + rename -uid "E55E0856-462C-EF85-68E2-0C88197CFD7A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6888,8 +6919,8 @@ createNode nurbsCurve -n "eyeslook_C0_rootShape" -p "eyeslook_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eyeslook_C0_root25Shape" -p "eyeslook_C0_root"; - rename -uid "04D74068-432A-1E73-87DA-5292FBF58529"; +createNode nurbsCurve -n "eyeslook_C0_root28Shape" -p "eyeslook_C0_root"; + rename -uid "947777DE-43E5-F88A-55CE-A3A4D730021B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6901,8 +6932,8 @@ createNode nurbsCurve -n "eyeslook_C0_root25Shape" -p "eyeslook_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eyeslook_C0_root26Shape" -p "eyeslook_C0_root"; - rename -uid "C832F54A-4A4C-9A57-A030-87BE28BE1BFB"; +createNode nurbsCurve -n "eyeslook_C0_root29Shape" -p "eyeslook_C0_root"; + rename -uid "DACB4333-458D-7A5D-8601-F5BB43009F4F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6914,8 +6945,8 @@ createNode nurbsCurve -n "eyeslook_C0_root26Shape" -p "eyeslook_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eyeslook_C0_root27Shape" -p "eyeslook_C0_root"; - rename -uid "AE180F52-49C6-8806-AE71-0C921CA3E966"; +createNode nurbsCurve -n "eyeslook_C0_root30Shape" -p "eyeslook_C0_root"; + rename -uid "84B14C87-41A4-3852-4E5C-E3B5B6E1C92D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6942,10 +6973,10 @@ createNode nurbsCurve -n "eyeslook_C0_root27Shape" -p "eyeslook_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "eyeslook_C0_sizeRef" -p "eyeslook_C0_root"; - rename -uid "0E06809C-4DE6-255B-E777-9A8C077DCC1D"; + rename -uid "BEA2E5DC-4010-A520-DC2E-368C959A7BD3"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -4.6607527914310037e-016 0 1.049508226737736 ; + setAttr ".t" -type "double3" -4.6607527914310057e-016 3.5527136788005009e-015 1.0495082267377356 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6953,12 +6984,12 @@ createNode transform -n "eyeslook_C0_sizeRef" -p "eyeslook_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0495082267377338 1.0495082267377396 1.0495082267377354 ; + setAttr ".s" -type "double3" 1.0495082267377336 1.0495082267377394 1.0495082267377349 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "eye_R0_root" -p "neck_C0_head"; - rename -uid "7499D1C7-472F-2481-3761-35BB26745471"; + rename -uid "C969A6A6-444F-EF88-9641-04ACC11D9DDD"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -6971,9 +7002,9 @@ createNode transform -n "eye_R0_root" -p "neck_C0_head"; -max 2 -en "X:Y:Z" -at "enum"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.4961368484464241 0.70921581084615326 -0.51425464314724334 ; + setAttr ".t" -type "double3" -1.4961368484464239 0.70921581084614616 -0.51425464314724323 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6982,7 +7013,7 @@ createNode transform -n "eye_R0_root" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999778 0.99999999999999933 -0.99999999999999867 ; + setAttr ".s" -type "double3" 0.99999999999999778 0.99999999999999944 -0.99999999999999845 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -6994,9 +7025,8 @@ createNode transform -n "eye_R0_root" -p "neck_C0_head"; setAttr ".ctlGrp" -type "string" ""; setAttr -k on ".upVectorDirection" 1; setAttr ".ikrefarray" -type "string" "eyeslook_C0_root"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "eye_R0_rootShape" -p "eye_R0_root"; - rename -uid "4763A777-4E38-333C-00FE-218B4B560E8C"; + rename -uid "6FE787A0-49AD-5B47-4E1F-AAAC5FC4C5EF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7008,8 +7038,8 @@ createNode nurbsCurve -n "eye_R0_rootShape" -p "eye_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_R0_root25Shape" -p "eye_R0_root"; - rename -uid "EF7B849B-4BAC-36BA-D360-A08C1756A2B2"; +createNode nurbsCurve -n "eye_R0_root28Shape" -p "eye_R0_root"; + rename -uid "4243ECD9-4752-2A11-C55C-259D6982F4A2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7021,8 +7051,8 @@ createNode nurbsCurve -n "eye_R0_root25Shape" -p "eye_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_R0_root26Shape" -p "eye_R0_root"; - rename -uid "673B01FD-466A-260E-423A-078694691261"; +createNode nurbsCurve -n "eye_R0_root29Shape" -p "eye_R0_root"; + rename -uid "C2CB86ED-4E8F-735B-CFCE-629F3AD656C0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7034,8 +7064,8 @@ createNode nurbsCurve -n "eye_R0_root26Shape" -p "eye_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_R0_root27Shape" -p "eye_R0_root"; - rename -uid "BBF3B01E-4A28-4716-EE2D-4BAE3BA1DBD1"; +createNode nurbsCurve -n "eye_R0_root30Shape" -p "eye_R0_root"; + rename -uid "B9631821-403C-F0E2-71F7-06915F45AE7B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7062,10 +7092,10 @@ createNode nurbsCurve -n "eye_R0_root27Shape" -p "eye_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "eye_R0_look" -p "eye_R0_root"; - rename -uid "40E96273-4115-42EF-68F4-1182AB036B95"; + rename -uid "E0652A61-41C0-B4EF-B860-9EA1A9E1101C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -4.4408920985006262e-016 -1.0658141036401503e-014 3.7697842257179222 ; + setAttr ".t" -type "double3" -4.4408920985006262e-016 -1.0658141036401503e-014 3.769784225717923 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7073,12 +7103,12 @@ createNode transform -n "eye_R0_look" -p "eye_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999878 0.99999999999999978 0.99999999999999944 ; + setAttr ".s" -type "double3" 0.99999999999999856 0.99999999999999978 0.99999999999999944 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "eye_R0_lookShape" -p "eye_R0_look"; - rename -uid "D2535EDC-4236-3DBD-0821-2193A802CAD5"; + rename -uid "0E0D8FE2-4906-A32F-AAA8-2DAD4C5F866D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7090,8 +7120,8 @@ createNode nurbsCurve -n "eye_R0_lookShape" -p "eye_R0_look"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_R0_look25Shape" -p "eye_R0_look"; - rename -uid "BA0012AC-4194-5252-6A9B-95B8867AFA5A"; +createNode nurbsCurve -n "eye_R0_look28Shape" -p "eye_R0_look"; + rename -uid "27EFCC86-4545-9EB3-E5B7-B8AB6CB561B5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7103,8 +7133,8 @@ createNode nurbsCurve -n "eye_R0_look25Shape" -p "eye_R0_look"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_R0_look26Shape" -p "eye_R0_look"; - rename -uid "8EC6428A-4FF4-1A8D-04A2-B0B415E33152"; +createNode nurbsCurve -n "eye_R0_look29Shape" -p "eye_R0_look"; + rename -uid "DB3FEDE8-4AE2-7971-C0C0-A9B79A552573"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7116,8 +7146,8 @@ createNode nurbsCurve -n "eye_R0_look26Shape" -p "eye_R0_look"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_R0_look27Shape" -p "eye_R0_look"; - rename -uid "A9C55788-46B6-A7D5-408E-1C827905F7AE"; +createNode nurbsCurve -n "eye_R0_look30Shape" -p "eye_R0_look"; + rename -uid "D22D63CF-412A-1F92-C612-979B264BF65B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7134,8 +7164,8 @@ createNode nurbsCurve -n "eye_R0_look27Shape" -p "eye_R0_look"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_R0_look27_0crvShape" -p "eye_R0_look"; - rename -uid "29864C94-47BE-133D-7197-578BF9DE6FE7"; +createNode nurbsCurve -n "eye_R0_look30_0crvShape" -p "eye_R0_look"; + rename -uid "B78C4C39-47ED-5F54-CDB7-C5BB6BD1CD76"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7152,8 +7182,8 @@ createNode nurbsCurve -n "eye_R0_look27_0crvShape" -p "eye_R0_look"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_R0_look27_1crvShape" -p "eye_R0_look"; - rename -uid "E3AB140B-4092-14BB-AEB1-1F8576A82F40"; +createNode nurbsCurve -n "eye_R0_look30_1crvShape" -p "eye_R0_look"; + rename -uid "96AE0AA2-4DCD-331B-3DF8-FC8F6A0B0BF0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7171,19 +7201,19 @@ createNode nurbsCurve -n "eye_R0_look27_1crvShape" -p "eye_R0_look"; 0 0 -0.1875 ; createNode transform -n "eye_R0_crv" -p "eye_R0_root"; - rename -uid "FF97753C-467B-F8A0-9219-349AD9D5D443"; + rename -uid "E8824A92-433A-3EE1-23AE-3F97B6F69B74"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -0.51425464314723923 -30.070644536323631 -1.585973374993676 ; + setAttr ".t" -type "double3" -0.51425464314723912 -30.070644536323631 -1.585973374993676 ; setAttr ".r" -type "double3" 0 179.99999999999997 0 ; - setAttr ".s" -type "double3" 1.7538799546502182 1.7538799546502193 -1.7538799546502115 ; + setAttr ".s" -type "double3" 1.7538799546502175 1.7538799546502193 -1.7538799546502111 ; createNode nurbsCurve -n "eye_R0_crvShape" -p "eye_R0_crv"; - rename -uid "CED9EF38-44B5-EBA5-0FF6-D3BCF1059013"; + rename -uid "7C6EBD7B-451B-AC95-2A73-E3BF1D41529A"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "eye_R0_crvShapeOrig" -p "eye_R0_crv"; - rename -uid "9E883FF7-4DE6-EF05-2F89-FEA06109FD46"; + rename -uid "2C4C5F8F-48D5-E770-8B67-1EA329BBFF1F"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -7194,7 +7224,7 @@ createNode nurbsCurve -n "eye_R0_crvShapeOrig" -p "eye_R0_crv"; 0 0 0 ; createNode transform -n "eye_L0_root" -p "neck_C0_head"; - rename -uid "755B6301-49E8-3BBB-B127-EAB159004042"; + rename -uid "EDA094F8-4D77-4F5E-32B9-E88D3C2226CB"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -7207,9 +7237,9 @@ createNode transform -n "eye_L0_root" -p "neck_C0_head"; -max 2 -en "X:Y:Z" -at "enum"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.4961368484464233 0.70921581084615326 0.51425464314724123 ; + setAttr ".t" -type "double3" -1.4961368484464228 0.70921581084614616 0.51425464314724112 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7218,7 +7248,7 @@ createNode transform -n "eye_L0_root" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999911 0.99999999999999933 1 ; + setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999944 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -7230,9 +7260,8 @@ createNode transform -n "eye_L0_root" -p "neck_C0_head"; setAttr ".ctlGrp" -type "string" ""; setAttr -k on ".upVectorDirection" 1; setAttr ".ikrefarray" -type "string" "eyeslook_C0_root"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "eye_L0_rootShape" -p "eye_L0_root"; - rename -uid "58882392-4091-DCFD-FFB9-4AB54FDBFB5A"; + rename -uid "F0CDA6E8-4E57-C408-6EC7-7AA3FF73FFC2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7244,8 +7273,8 @@ createNode nurbsCurve -n "eye_L0_rootShape" -p "eye_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_L0_root25Shape" -p "eye_L0_root"; - rename -uid "81B3E851-4CAA-D209-821C-10AA568466E7"; +createNode nurbsCurve -n "eye_L0_root28Shape" -p "eye_L0_root"; + rename -uid "4DED7A65-4AEB-839D-B1C7-04AC75272E7A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7257,8 +7286,8 @@ createNode nurbsCurve -n "eye_L0_root25Shape" -p "eye_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_L0_root26Shape" -p "eye_L0_root"; - rename -uid "35DBF5B2-445E-14E2-F0EE-20BF469AFFB1"; +createNode nurbsCurve -n "eye_L0_root29Shape" -p "eye_L0_root"; + rename -uid "F2B05F02-4137-EBD9-2AD0-B4BFD9D4142D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7270,8 +7299,8 @@ createNode nurbsCurve -n "eye_L0_root26Shape" -p "eye_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_L0_root27Shape" -p "eye_L0_root"; - rename -uid "C74D80C4-4767-18E0-7E9B-8CBAA5EC2DB2"; +createNode nurbsCurve -n "eye_L0_root30Shape" -p "eye_L0_root"; + rename -uid "664F5D65-4540-53D5-5FF5-03BE0B90FE0C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7298,10 +7327,10 @@ createNode nurbsCurve -n "eye_L0_root27Shape" -p "eye_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "eye_L0_look" -p "eye_L0_root"; - rename -uid "6085B714-4C45-1064-696B-0EB09A46A831"; + rename -uid "7FD4FDC2-4E60-C518-9884-688DA2C441E0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.1102230246251565e-016 -1.7763568394002505e-014 3.7697842257179146 ; + setAttr ".t" -type "double3" 1.1102230246251565e-016 -1.7763568394002505e-014 3.7697842257179142 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7309,12 +7338,12 @@ createNode transform -n "eye_L0_look" -p "eye_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999689 0.99999999999999944 0.99999999999999745 ; + setAttr ".s" -type "double3" 0.99999999999999645 0.99999999999999944 0.99999999999999722 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "eye_L0_lookShape" -p "eye_L0_look"; - rename -uid "BBC2ED41-4C09-F2D6-35DF-2583322EA5BB"; + rename -uid "4D766FEE-4B7B-1921-74C5-4D9D06036010"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7326,8 +7355,8 @@ createNode nurbsCurve -n "eye_L0_lookShape" -p "eye_L0_look"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_L0_look25Shape" -p "eye_L0_look"; - rename -uid "61089163-4989-708D-5D1A-E0A3DE1C1014"; +createNode nurbsCurve -n "eye_L0_look28Shape" -p "eye_L0_look"; + rename -uid "8CA44C0A-48FF-3F70-1F9C-81843DADB9CC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7339,8 +7368,8 @@ createNode nurbsCurve -n "eye_L0_look25Shape" -p "eye_L0_look"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_L0_look26Shape" -p "eye_L0_look"; - rename -uid "7E62F14E-4AD7-1BB9-9ED9-7DB69D3763EE"; +createNode nurbsCurve -n "eye_L0_look29Shape" -p "eye_L0_look"; + rename -uid "4D00E227-4613-E47C-CAD0-119765347F40"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7352,8 +7381,8 @@ createNode nurbsCurve -n "eye_L0_look26Shape" -p "eye_L0_look"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_L0_look27Shape" -p "eye_L0_look"; - rename -uid "63DFA5E4-4900-B3E2-208F-6584285F91EF"; +createNode nurbsCurve -n "eye_L0_look30Shape" -p "eye_L0_look"; + rename -uid "E73479A6-4484-E4F0-46BB-DF8183FC38AD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7370,8 +7399,8 @@ createNode nurbsCurve -n "eye_L0_look27Shape" -p "eye_L0_look"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_L0_look27_0crvShape" -p "eye_L0_look"; - rename -uid "231B75F5-44BD-0FC0-10FF-7EA338CA70B3"; +createNode nurbsCurve -n "eye_L0_look30_0crvShape" -p "eye_L0_look"; + rename -uid "16C4173F-4C43-5342-C2FF-B0BD408CD1EF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7388,8 +7417,8 @@ createNode nurbsCurve -n "eye_L0_look27_0crvShape" -p "eye_L0_look"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_L0_look27_1crvShape" -p "eye_L0_look"; - rename -uid "4BCB31E4-4773-701D-FAF1-65B34CEC7F5E"; +createNode nurbsCurve -n "eye_L0_look30_1crvShape" -p "eye_L0_look"; + rename -uid "C2E6AF09-43DA-304F-C2CE-16BDD12902A5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7407,18 +7436,18 @@ createNode nurbsCurve -n "eye_L0_look27_1crvShape" -p "eye_L0_look"; 0 0 -0.1875 ; createNode transform -n "eye_L0_crv" -p "eye_L0_root"; - rename -uid "CE3B8FAB-4FD5-F116-DA96-6D8CF223EBAB"; + rename -uid "0710EAD5-4CBF-B059-6762-44B8B1B63150"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -0.51425464314724534 -30.070644536323631 -1.5859733749936722 ; - setAttr ".s" -type "double3" 1.7538799546502155 1.7538799546502193 1.7538799546502086 ; + setAttr ".t" -type "double3" -0.51425464314724501 -30.070644536323631 -1.5859733749936715 ; + setAttr ".s" -type "double3" 1.7538799546502144 1.7538799546502193 1.753879954650208 ; createNode nurbsCurve -n "eye_L0_crvShape" -p "eye_L0_crv"; - rename -uid "AB54E08C-4CD6-6E0B-4FB2-CB9C304BDC39"; + rename -uid "7FF1F799-4598-EA6C-FCB4-2088527B8461"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "eye_L0_crvShapeOrig" -p "eye_L0_crv"; - rename -uid "956162A3-450C-CE3A-866C-CF9DE733BAA8"; + rename -uid "D59DB5DA-49A1-572C-673B-2A843358BA13"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -7429,10 +7458,10 @@ createNode nurbsCurve -n "eye_L0_crvShapeOrig" -p "eye_L0_crv"; 0 0 0 ; createNode transform -n "neck_C0_tan1" -p "neck_C0_neck"; - rename -uid "56683CF9-4647-00D3-CA57-55A59B3348E0"; + rename -uid "F0121DBB-49A5-C22F-DC46-329325A80A5F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.09787009621156309 -0.34322132772767233 -2.0300963192813322e-017 ; + setAttr ".t" -type "double3" 0.097870096211563007 -0.34322132772766523 -2.0300963192813322e-017 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7440,12 +7469,12 @@ createNode transform -n "neck_C0_tan1" -p "neck_C0_neck"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000002 1.0000000000000018 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 1.0000000000000018 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_tanShape1" -p "neck_C0_tan1"; - rename -uid "4430335D-4DF2-3752-E033-13AB8FF0DF6B"; + rename -uid "58BF6E9E-4BB5-92D9-59BB-998F95B6F1F9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7457,8 +7486,8 @@ createNode nurbsCurve -n "neck_C0_tanShape1" -p "neck_C0_tan1"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_tanShape18" -p "neck_C0_tan1"; - rename -uid "39A6617A-4582-E630-98FA-FD9CEC98593B"; +createNode nurbsCurve -n "neck_C0_tanShape20" -p "neck_C0_tan1"; + rename -uid "09EAF420-4E4A-4A15-96F1-818CB75322ED"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7470,8 +7499,8 @@ createNode nurbsCurve -n "neck_C0_tanShape18" -p "neck_C0_tan1"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_tanShape19" -p "neck_C0_tan1"; - rename -uid "AD7BF26F-4B2E-4B87-D4FA-F5BD08ED9748"; +createNode nurbsCurve -n "neck_C0_tanShape21" -p "neck_C0_tan1"; + rename -uid "8C95E0A1-4C5E-2BA7-6FEC-43A35131EFF3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7483,8 +7512,8 @@ createNode nurbsCurve -n "neck_C0_tanShape19" -p "neck_C0_tan1"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_tanShape20" -p "neck_C0_tan1"; - rename -uid "35AFD3E4-46AA-EE2D-E00B-AAA356E4CAC4"; +createNode nurbsCurve -n "neck_C0_tanShape22" -p "neck_C0_tan1"; + rename -uid "5EE996D4-491B-725D-9E08-3C9694954819"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7501,8 +7530,8 @@ createNode nurbsCurve -n "neck_C0_tanShape20" -p "neck_C0_tan1"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan18_0crvShape" -p "neck_C0_tan1"; - rename -uid "985A10C8-4337-C1B5-995F-4A9A19903D70"; +createNode nurbsCurve -n "neck_C0_tan20_0crvShape" -p "neck_C0_tan1"; + rename -uid "3B2F4A47-4924-9B2E-076C-518E62385F79"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7519,8 +7548,8 @@ createNode nurbsCurve -n "neck_C0_tan18_0crvShape" -p "neck_C0_tan1"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan18_1crvShape" -p "neck_C0_tan1"; - rename -uid "52B1CD05-47DD-68D4-8971-B5A77C560CEA"; +createNode nurbsCurve -n "neck_C0_tan20_1crvShape" -p "neck_C0_tan1"; + rename -uid "5AE2BFA7-4B13-1732-4F6B-2CB9919ADA48"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7538,19 +7567,19 @@ createNode nurbsCurve -n "neck_C0_tan18_1crvShape" -p "neck_C0_tan1"; 0 0 -0.1875 ; createNode transform -n "neck_C0_head_crv" -p "neck_C0_neck"; - rename -uid "A2242760-4388-30CC-57E2-A8A04A7C9DBA"; + rename -uid "0654AE50-4535-0C92-C868-2081C527B5AE"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 0.08983652654724944 -29.261428725477426 -4.0684386981538073e-015 ; + setAttr ".t" -type "double3" 0.089836526547249329 -29.261428725477415 -4.0684386981538041e-015 ; setAttr ".r" -type "double3" 0 -89.999999999999986 0 ; - setAttr ".s" -type "double3" 1.753879954650218 1.7538799546502188 1.7538799546502095 ; + setAttr ".s" -type "double3" 1.7538799546502168 1.7538799546502186 1.7538799546502091 ; createNode nurbsCurve -n "neck_C0_head_crvShape" -p "neck_C0_head_crv"; - rename -uid "1CD880D3-45F6-902F-20F9-8A9F947EB759"; + rename -uid "25ABB189-4BB4-EF41-C281-F9A6E92FB623"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "neck_C0_head_crvShapeOrig" -p "neck_C0_head_crv"; - rename -uid "7C192F4E-4741-002F-6629-EC9D20CD35A7"; + rename -uid "D921A649-41CC-7629-48CC-27AF008B1670"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -7562,10 +7591,10 @@ createNode nurbsCurve -n "neck_C0_head_crvShapeOrig" -p "neck_C0_head_crv"; 0 0 0 ; createNode transform -n "neck_C0_tan0" -p "neck_C0_root"; - rename -uid "E5BCD85F-49CB-A941-BC19-549F8F780A96"; + rename -uid "D44527DB-49EF-E254-B033-E6A2BD9ACCB0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.076579783198171825 0.45329667709497912 3.850870476136893e-017 ; + setAttr ".t" -type "double3" -0.076579783198171825 0.45329667709497912 3.8508704761368141e-017 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7573,12 +7602,12 @@ createNode transform -n "neck_C0_tan0" -p "neck_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999645 0.99999999999999678 0.99999999999999956 ; + setAttr ".s" -type "double3" 0.999999999999996 0.99999999999999623 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_tanShape0" -p "neck_C0_tan0"; - rename -uid "9A5E4CF2-4F4E-2F4C-4413-8797BD1A7974"; + rename -uid "910E5454-4588-B969-0C66-C4AFE319EA88"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7590,8 +7619,8 @@ createNode nurbsCurve -n "neck_C0_tanShape0" -p "neck_C0_tan0"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_tanShape17" -p "neck_C0_tan0"; - rename -uid "45522055-4649-8DA5-669C-3B817F4F46AB"; +createNode nurbsCurve -n "neck_C0_tanShape19" -p "neck_C0_tan0"; + rename -uid "926AB24F-4E81-3384-1823-249E8CBE6D1E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7603,8 +7632,8 @@ createNode nurbsCurve -n "neck_C0_tanShape17" -p "neck_C0_tan0"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_tanShape18" -p "neck_C0_tan0"; - rename -uid "786C15EB-48CB-2945-B699-8C83A2FFC321"; +createNode nurbsCurve -n "neck_C0_tanShape20" -p "neck_C0_tan0"; + rename -uid "37E434CC-48ED-4D72-0AAD-CFA5BE476453"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7616,8 +7645,8 @@ createNode nurbsCurve -n "neck_C0_tanShape18" -p "neck_C0_tan0"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_tanShape19" -p "neck_C0_tan0"; - rename -uid "15733AD9-4C63-0B0D-67EA-D883C4007C50"; +createNode nurbsCurve -n "neck_C0_tanShape21" -p "neck_C0_tan0"; + rename -uid "71371F31-4E74-DF26-B155-52BCFAC02E47"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7634,8 +7663,8 @@ createNode nurbsCurve -n "neck_C0_tanShape19" -p "neck_C0_tan0"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan17_0crvShape" -p "neck_C0_tan0"; - rename -uid "6FF5CDE2-4485-D6FE-59C2-F1972FBEB58C"; +createNode nurbsCurve -n "neck_C0_tan19_0crvShape" -p "neck_C0_tan0"; + rename -uid "94E5732C-415A-688E-D751-B4BBD318FC5B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7652,8 +7681,8 @@ createNode nurbsCurve -n "neck_C0_tan17_0crvShape" -p "neck_C0_tan0"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan17_1crvShape" -p "neck_C0_tan0"; - rename -uid "3B72D67F-46E6-C2E0-BC14-C1A428039E59"; +createNode nurbsCurve -n "neck_C0_tan19_1crvShape" -p "neck_C0_tan0"; + rename -uid "2C837AA3-46BD-8BDE-3AD5-E4B5C93A6309"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7671,8 +7700,8 @@ createNode nurbsCurve -n "neck_C0_tan17_1crvShape" -p "neck_C0_tan0"; 0 0 -0.1875 ; createNode transform -n "neck_C0_blade" -p "neck_C0_root"; - rename -uid "14B42D1E-41A4-214B-C62F-D8A83F668305"; - addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; + rename -uid "DC717246-432F-EE6C-BDD6-938AD66365A3"; + addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -dv 360 -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; @@ -7681,13 +7710,13 @@ createNode transform -n "neck_C0_blade" -p "neck_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.6711445512932508 1.6711445512932459 1.6711445512932432 ; + setAttr ".s" -type "double3" 1.6711445512932501 1.671144551293245 1.6711445512932428 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; - setAttr -k on ".bladeRollOffset" 360; + setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "neck_C0_bladeShape" -p "neck_C0_blade"; - rename -uid "E033B395-43FB-5568-7616-E2B9D0BA0D4E"; + rename -uid "21658D5F-4454-0036-0682-AF9D5DCFFFD0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7697,12 +7726,12 @@ createNode nurbsCurve -n "neck_C0_bladeShape" -p "neck_C0_blade"; 4 0 1 2 3 4 0 0 0 - 0.35903536862546165 0 0 - 0 0.11967845620848722 0 + 0.35903536862546187 0 0 + 0 0.11967845620848729 0 0 0 0 ; -createNode aimConstraint -n "neck_C0_blade_aimConstraint9" -p "neck_C0_blade"; - rename -uid "530B89A8-4961-8A24-A462-C4A59F59421E"; +createNode aimConstraint -n "neck_C0_blade_aimConstraint10" -p "neck_C0_blade"; + rename -uid "DCDAC093-4E74-2047-5057-FD8F24F20956"; addAttr -dcb 0 -ci true -sn "w0" -ln "neck_C0_tan0W0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -7717,11 +7746,11 @@ createNode aimConstraint -n "neck_C0_blade_aimConstraint9" -p "neck_C0_blade"; setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".o" -type "double3" 360 0 359.99999999999977 ; - setAttr ".rsrr" -type "double3" 540 2.5424100276768916e-029 459.5889880226357 ; + setAttr ".o" -type "double3" 360 0 359.9999999999996 ; + setAttr ".rsrr" -type "double3" 540 5.2260650568913885e-029 459.58898802263559 ; setAttr -k on ".w0"; -createNode pointConstraint -n "neck_C0_blade_pointConstraint9" -p "neck_C0_blade"; - rename -uid "F67E3FB2-4620-DD11-6D46-88B909877034"; +createNode pointConstraint -n "neck_C0_blade_pointConstraint10" -p "neck_C0_blade"; + rename -uid "0766E5B3-40F1-B6B9-9673-4C930E0656D3"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "neck_C0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -7735,22 +7764,22 @@ createNode pointConstraint -n "neck_C0_blade_pointConstraint9" -p "neck_C0_blade setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 -3.5527136788005009e-015 0 ; + setAttr ".rst" -type "double3" 1.1102230246251565e-016 3.5527136788005009e-015 0 ; setAttr -k on ".w0"; createNode transform -n "neck_C0_neck_crv" -p "neck_C0_root"; - rename -uid "21559A42-4276-A137-617A-A6AE24BF2C6E"; + rename -uid "D7CA43FE-4C66-D72C-C9B2-3CBAE3FE0EE3"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -0.57828081326916192 -26.793934099519543 -3.9146096093576519e-015 ; + setAttr ".t" -type "double3" -0.5782808132691617 -26.793934099519529 -3.9146096093576503e-015 ; setAttr ".r" -type "double3" 0 -89.999999999999986 0 ; - setAttr ".s" -type "double3" 1.7538799546502168 1.7538799546502126 1.7538799546502031 ; + setAttr ".s" -type "double3" 1.7538799546502162 1.753879954650212 1.7538799546502017 ; createNode nurbsCurve -n "neck_C0_neck_crvShape" -p "neck_C0_neck_crv"; - rename -uid "60358A8E-4A38-AFDC-8AB5-2EB3C7610EFF"; + rename -uid "B495D211-4560-B45D-B8A9-818CFC9E72E3"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "neck_C0_neck_crvShapeOrig" -p "neck_C0_neck_crv"; - rename -uid "107153BD-46D8-E4A1-6740-0CA0D4E69762"; + rename -uid "F77F6A54-4A5D-32C7-61CC-A9AE1A29EADC"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -7763,7 +7792,7 @@ createNode nurbsCurve -n "neck_C0_neck_crvShapeOrig" -p "neck_C0_neck_crv"; 0 0 0 ; createNode transform -n "shoulder_R0_root" -p "spine_C0_eff"; - rename -uid "EC0BF0F8-4916-45E5-F399-05993FFEB71C"; + rename -uid "BABED455-4A07-D0A3-901E-7EB7C2272278"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -7774,9 +7803,9 @@ createNode transform -n "shoulder_R0_root" -p "spine_C0_eff"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "refArray" -ln "refArray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.7395848890977401 -0.016853043661003264 0.11673327753265016 ; + setAttr ".t" -type "double3" 1.7395848890977383 -0.016853043661003375 0.1167332775326502 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7785,7 +7814,7 @@ createNode transform -n "shoulder_R0_root" -p "spine_C0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.000000000000002 1.0000000000000027 -0.99999999999999956 ; + setAttr ".s" -type "double3" 1.0000000000000022 1.0000000000000029 -0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -7795,10 +7824,9 @@ createNode transform -n "shoulder_R0_root" -p "spine_C0_eff"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "armUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".refArray" -type "string" "shoulder_R0_root,local_C0_root,body_C0_root,spine_C0_eff"; - setAttr ".parentJointIndex" -1; + setAttr ".refArray" -type "string" "shoulder_R0_root,local_C0_root,body_C0_root,spine_C0_eff,global_C0_root"; createNode nurbsCurve -n "shoulder_R0_rootShape" -p "shoulder_R0_root"; - rename -uid "6A451BB6-4E11-39D8-662D-7B9758DDDBF4"; + rename -uid "297CEB26-4D2F-AC1F-521C-92A307991DAD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7810,8 +7838,8 @@ createNode nurbsCurve -n "shoulder_R0_rootShape" -p "shoulder_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_R0_root10Shape" -p "shoulder_R0_root"; - rename -uid "9E3B1BC5-431C-4DD9-B25D-ADA7180644D1"; +createNode nurbsCurve -n "shoulder_R0_root4Shape" -p "shoulder_R0_root"; + rename -uid "24E326F4-40E6-E5D4-6763-968EE57984E2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7823,8 +7851,8 @@ createNode nurbsCurve -n "shoulder_R0_root10Shape" -p "shoulder_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_R0_root11Shape" -p "shoulder_R0_root"; - rename -uid "07B7183F-40EE-AA83-026D-C3B36C203D28"; +createNode nurbsCurve -n "shoulder_R0_root5Shape" -p "shoulder_R0_root"; + rename -uid "DC1779D0-4A1F-2DE0-176F-BEBF89CAC3D1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7836,8 +7864,8 @@ createNode nurbsCurve -n "shoulder_R0_root11Shape" -p "shoulder_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_R0_root12Shape" -p "shoulder_R0_root"; - rename -uid "AD6F5EF0-4704-7BC2-0B48-63B0E65DA496"; +createNode nurbsCurve -n "shoulder_R0_root6Shape" -p "shoulder_R0_root"; + rename -uid "BFBCC216-4D29-8FCE-A197-45AF668354DB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7864,10 +7892,10 @@ createNode nurbsCurve -n "shoulder_R0_root12Shape" -p "shoulder_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "shoulder_R0_tip" -p "shoulder_R0_root"; - rename -uid "E445464A-4CCC-EBE4-66BF-118975B827C4"; + rename -uid "C0337023-4C65-22F4-40E5-46920F3EF77C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.33303929285646028 -0.91350954729966849 -1.5239746815175856 ; + setAttr ".t" -type "double3" 0.33303929285645495 -0.91350954729966938 -1.5239746815175856 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7875,12 +7903,12 @@ createNode transform -n "shoulder_R0_tip" -p "shoulder_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999822 0.999999999999996 0.99999999999999867 ; + setAttr ".s" -type "double3" 0.99999999999999845 0.99999999999999589 0.99999999999999878 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "shoulder_R0_tipShape" -p "shoulder_R0_tip"; - rename -uid "93118612-4D0F-18C2-B94D-AB8D9798AFA3"; + rename -uid "0E3CF373-4FBB-BAC4-320C-2D9E0304F4CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7892,8 +7920,8 @@ createNode nurbsCurve -n "shoulder_R0_tipShape" -p "shoulder_R0_tip"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_R0_tip10Shape" -p "shoulder_R0_tip"; - rename -uid "86EE52CE-43E6-2CDD-F7CD-818360F3AD1A"; +createNode nurbsCurve -n "shoulder_R0_tip4Shape" -p "shoulder_R0_tip"; + rename -uid "08F44BA0-468F-65A2-C4FA-339E265ADB9D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7905,8 +7933,8 @@ createNode nurbsCurve -n "shoulder_R0_tip10Shape" -p "shoulder_R0_tip"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_R0_tip11Shape" -p "shoulder_R0_tip"; - rename -uid "01358800-4AC8-F72C-BCA1-9F8D79994ACA"; +createNode nurbsCurve -n "shoulder_R0_tip5Shape" -p "shoulder_R0_tip"; + rename -uid "F14BB49D-4875-A8BF-0022-B59B8CAF15C5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7918,8 +7946,8 @@ createNode nurbsCurve -n "shoulder_R0_tip11Shape" -p "shoulder_R0_tip"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_R0_tip12Shape" -p "shoulder_R0_tip"; - rename -uid "FA36E237-4691-B7B4-BDF8-A59BF2BAC3AC"; +createNode nurbsCurve -n "shoulder_R0_tip6Shape" -p "shoulder_R0_tip"; + rename -uid "47796A86-4153-15F5-9736-DA866FB99F9F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7936,8 +7964,8 @@ createNode nurbsCurve -n "shoulder_R0_tip12Shape" -p "shoulder_R0_tip"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_R0_tip12_0crvShape" -p "shoulder_R0_tip"; - rename -uid "3087D336-467A-EAB3-83F4-A68AB963F132"; +createNode nurbsCurve -n "shoulder_R0_tip6_0crvShape" -p "shoulder_R0_tip"; + rename -uid "C599754E-448E-FEB8-8549-938B6315F7C9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7954,8 +7982,8 @@ createNode nurbsCurve -n "shoulder_R0_tip12_0crvShape" -p "shoulder_R0_tip"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_R0_tip12_1crvShape" -p "shoulder_R0_tip"; - rename -uid "640844C8-4011-A307-BB2D-73BCD48E5FB0"; +createNode nurbsCurve -n "shoulder_R0_tip6_1crvShape" -p "shoulder_R0_tip"; + rename -uid "D590A9EE-40E5-A504-A1CC-09BE5E2624B5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7973,7 +8001,7 @@ createNode nurbsCurve -n "shoulder_R0_tip12_1crvShape" -p "shoulder_R0_tip"; 0 0 -0.1875 ; createNode transform -n "arm_R0_root" -p "shoulder_R0_tip"; - rename -uid "5A511CB6-4CED-052C-24D2-8CB941372467"; + rename -uid "8A7FF4CF-420E-31D4-C79F-17A9CAE1779E"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -7986,49 +8014,43 @@ createNode transform -n "arm_R0_root" -p "shoulder_R0_tip"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; addAttr -ci true -sn "pinrefarray" -ln "pinrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; - addAttr -ci true -sn "ikTR" -ln "ikTR" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "mirrorMid" -ln "mirrorMid" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; + addAttr -ci true -sn "ikTR" -ln "ikTR" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "mirrorMid" -ln "mirrorMid" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "mirrorIK" -ln "mirrorIK" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 5.3290705182007514e-015 -8.8817841970012523e-016 -1.3322676295501878e-015 ; + setAttr ".t" -type "double3" 1.4210854715202004e-014 4.4408920985006262e-016 -1.5543122344752192e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" -95.878962023386919 44.411212983179865 -5.4710434405384927 ; + setAttr ".r" -type "double3" -95.878962023386919 44.41121298317988 -5.4710434405384891 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000009 0.99999999999999867 1.0000000000000007 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999833 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "arm_2jnt_01"; setAttr ".comp_name" -type "string" "arm"; setAttr ".comp_side" -type "string" "R"; - setAttr ".connector" -type "string" "standard"; + setAttr ".connector" -type "string" "shoulder_01"; setAttr ".ui_host" -type "string" "armUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".ikrefarray" -type "string" "shoulder_R0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root"; - setAttr ".upvrefarray" -type "string" "shoulder_R0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root"; - setAttr ".pinrefarray" -type "string" "shoulder_R0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root"; - setAttr ".maxstretch" 1.5; - setAttr ".ikTR" yes; - setAttr ".mirrorMid" yes; - setAttr ".div0" 2; - setAttr ".div1" 2; + setAttr ".ikrefarray" -type "string" "shoulder_R0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "shoulder_R0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root,global_C0_root"; + setAttr ".pinrefarray" -type "string" "shoulder_R0_tip,local_C0_root,body_C0_root,spine_C0_eff,spine_C0_root,global_C0_root"; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "arm_R0_rootShape" -p "arm_R0_root"; - rename -uid "91CF4B93-4CAD-A175-1AC6-158A7C6FB333"; + rename -uid "C1DC4267-4B97-5D9B-A199-F391020E6739"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8040,8 +8062,8 @@ createNode nurbsCurve -n "arm_R0_rootShape" -p "arm_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_R0_root10Shape" -p "arm_R0_root"; - rename -uid "6EF6ECE3-4343-5AEF-4F0B-258A403BAF28"; +createNode nurbsCurve -n "arm_R0_root4Shape" -p "arm_R0_root"; + rename -uid "32DD88BD-4218-9D14-212B-C38CB5CEEC65"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8053,8 +8075,8 @@ createNode nurbsCurve -n "arm_R0_root10Shape" -p "arm_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_R0_root11Shape" -p "arm_R0_root"; - rename -uid "725A8F93-45ED-4D18-D2FB-15BD8D4B0933"; +createNode nurbsCurve -n "arm_R0_root5Shape" -p "arm_R0_root"; + rename -uid "B333549D-44EA-B1E2-B9D1-B7A43266A27A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8066,8 +8088,8 @@ createNode nurbsCurve -n "arm_R0_root11Shape" -p "arm_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_R0_root12Shape" -p "arm_R0_root"; - rename -uid "CFACADBF-46CA-B9EE-12AE-26895B0D5F48"; +createNode nurbsCurve -n "arm_R0_root6Shape" -p "arm_R0_root"; + rename -uid "5C44A207-4322-B817-1084-71B0BAA6C4FF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8094,24 +8116,24 @@ createNode nurbsCurve -n "arm_R0_root12Shape" -p "arm_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "arm_R0_elbow" -p "arm_R0_root"; - rename -uid "904F7568-4C76-7697-9659-F898BF28EC46"; + rename -uid "D777A6BB-470F-52A9-0262-6883D7F5800D"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.8283335982323363 -3.5527136788005009e-015 0.078976790252910822 ; + setAttr ".t" -type "double3" 2.8283335982323248 7.1054273576010019e-015 0.078976790252910378 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 -10.688700162784276 0 ; + setAttr ".r" -type "double3" 0 -10.688700162784281 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999878 0.99999999999999911 0.99999999999999956 ; + setAttr ".s" -type "double3" 0.99999999999999822 0.99999999999999845 0.99999999999999845 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "arm_R0_elbowShape" -p "arm_R0_elbow"; - rename -uid "28C17219-409B-FF1A-A427-5E98B2D26B06"; + rename -uid "E46DEF72-49E9-0378-9235-CDAEE1888E8C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8123,8 +8145,8 @@ createNode nurbsCurve -n "arm_R0_elbowShape" -p "arm_R0_elbow"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_R0_elbow10Shape" -p "arm_R0_elbow"; - rename -uid "B437C1F3-4EBB-02D9-71C6-BC8EC3592E4B"; +createNode nurbsCurve -n "arm_R0_elbow4Shape" -p "arm_R0_elbow"; + rename -uid "5F38415C-489A-ED25-6F57-9289AF0A7771"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8136,8 +8158,8 @@ createNode nurbsCurve -n "arm_R0_elbow10Shape" -p "arm_R0_elbow"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_R0_elbow11Shape" -p "arm_R0_elbow"; - rename -uid "472CD6F2-42AE-B21A-CBE9-3F8BB372A869"; +createNode nurbsCurve -n "arm_R0_elbow5Shape" -p "arm_R0_elbow"; + rename -uid "A333E810-4659-876C-BA72-39B24511FABD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8149,8 +8171,8 @@ createNode nurbsCurve -n "arm_R0_elbow11Shape" -p "arm_R0_elbow"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_R0_elbow12Shape" -p "arm_R0_elbow"; - rename -uid "5057770C-4200-B5EF-8FC8-19A784FDC971"; +createNode nurbsCurve -n "arm_R0_elbow6Shape" -p "arm_R0_elbow"; + rename -uid "7F09BF4C-41C1-476B-2DF2-B3ACAF382539"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8167,8 +8189,8 @@ createNode nurbsCurve -n "arm_R0_elbow12Shape" -p "arm_R0_elbow"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_R0_elbow12_0crvShape" -p "arm_R0_elbow"; - rename -uid "1598BD80-44F8-2F19-EB47-C58119C701B0"; +createNode nurbsCurve -n "arm_R0_elbow6_0crvShape" -p "arm_R0_elbow"; + rename -uid "684C9420-44BE-922E-A303-23B9830E8841"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8185,8 +8207,8 @@ createNode nurbsCurve -n "arm_R0_elbow12_0crvShape" -p "arm_R0_elbow"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_R0_elbow12_1crvShape" -p "arm_R0_elbow"; - rename -uid "E28248F5-4562-1BD5-63B9-87A22DC88556"; +createNode nurbsCurve -n "arm_R0_elbow6_1crvShape" -p "arm_R0_elbow"; + rename -uid "4FB6AFBA-4133-F7E3-EB53-279922B84F26"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8204,10 +8226,10 @@ createNode nurbsCurve -n "arm_R0_elbow12_1crvShape" -p "arm_R0_elbow"; 0 0 -0.1875 ; createNode transform -n "arm_R0_wrist" -p "arm_R0_elbow"; - rename -uid "83E9D882-4164-F7F9-6683-E18695EB5C33"; + rename -uid "93E37CDC-4ED0-E734-955D-C4B26FAC9116"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.9351547891496894 0 -0.11960611218230408 ; + setAttr ".t" -type "double3" 2.9351547891497014 -1.7763568394002505e-015 -0.11960611218230607 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8215,12 +8237,12 @@ createNode transform -n "arm_R0_wrist" -p "arm_R0_elbow"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 1.0000000000000024 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000011 1.0000000000000022 1.0000000000000016 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "arm_R0_wristShape" -p "arm_R0_wrist"; - rename -uid "71172AB2-41E6-F71C-2158-F09D65C9F55E"; + rename -uid "841D9686-4FED-C071-4FAD-68952224A795"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8232,8 +8254,8 @@ createNode nurbsCurve -n "arm_R0_wristShape" -p "arm_R0_wrist"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_R0_wrist10Shape" -p "arm_R0_wrist"; - rename -uid "27B40DB0-46F0-5024-F3E7-3EA0CC79E5B3"; +createNode nurbsCurve -n "arm_R0_wrist4Shape" -p "arm_R0_wrist"; + rename -uid "F8778ECC-4792-4B69-8214-44A35445543B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8245,8 +8267,8 @@ createNode nurbsCurve -n "arm_R0_wrist10Shape" -p "arm_R0_wrist"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_R0_wrist11Shape" -p "arm_R0_wrist"; - rename -uid "DA7B5411-4215-AA4A-11C2-488F46D4FB52"; +createNode nurbsCurve -n "arm_R0_wrist5Shape" -p "arm_R0_wrist"; + rename -uid "64A23620-4CFC-5F72-AD9C-068BD2999CC0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8258,8 +8280,8 @@ createNode nurbsCurve -n "arm_R0_wrist11Shape" -p "arm_R0_wrist"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_R0_wrist12Shape" -p "arm_R0_wrist"; - rename -uid "F0DAB3C9-4E17-6EEC-586E-B791423C062B"; +createNode nurbsCurve -n "arm_R0_wrist6Shape" -p "arm_R0_wrist"; + rename -uid "175483C2-4137-818B-B4F4-E7B6F3E971AE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8276,8 +8298,8 @@ createNode nurbsCurve -n "arm_R0_wrist12Shape" -p "arm_R0_wrist"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_R0_wrist12_0crvShape" -p "arm_R0_wrist"; - rename -uid "35388687-4634-1D14-3080-A89B8594CD36"; +createNode nurbsCurve -n "arm_R0_wrist6_0crvShape" -p "arm_R0_wrist"; + rename -uid "826AB5AD-4570-D290-2FAE-B48711F1CB47"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8294,8 +8316,8 @@ createNode nurbsCurve -n "arm_R0_wrist12_0crvShape" -p "arm_R0_wrist"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_R0_wrist12_1crvShape" -p "arm_R0_wrist"; - rename -uid "F7F31B8E-4E17-AA12-7B9C-1AA02B8F43EA"; +createNode nurbsCurve -n "arm_R0_wrist6_1crvShape" -p "arm_R0_wrist"; + rename -uid "4BAA9601-4D79-8C3A-57EC-7FB1F43E578E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8313,10 +8335,10 @@ createNode nurbsCurve -n "arm_R0_wrist12_1crvShape" -p "arm_R0_wrist"; 0 0 -0.1875 ; createNode transform -n "arm_R0_eff" -p "arm_R0_wrist"; - rename -uid "2048A907-4CE1-BAA8-EEAE-42874C6C8610"; + rename -uid "DE7DEE0C-4EAC-A3D4-C630-AC850E9A3F3B"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3207237066308193 1.7763568394002505e-014 8.3266726846886741e-016 ; + setAttr ".t" -type "double3" 1.3207237066308193 1.7763568394002505e-015 4.4408920985006262e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8324,12 +8346,12 @@ createNode transform -n "arm_R0_eff" -p "arm_R0_wrist"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999978 0.99999999999999944 ; + setAttr ".s" -type "double3" 1.0000000000000009 1 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "arm_R0_effShape" -p "arm_R0_eff"; - rename -uid "EF4B7C23-48DB-A026-7EF6-E2A11A84D990"; + rename -uid "6C1E0597-4DBF-D56F-07BE-4294790434FB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8341,8 +8363,8 @@ createNode nurbsCurve -n "arm_R0_effShape" -p "arm_R0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "arm_R0_eff10Shape" -p "arm_R0_eff"; - rename -uid "D5700F01-4719-1B4A-7171-E2BB060B2761"; +createNode nurbsCurve -n "arm_R0_eff4Shape" -p "arm_R0_eff"; + rename -uid "5CE5418F-429D-D6EC-1A6C-279305AE53A6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8354,8 +8376,8 @@ createNode nurbsCurve -n "arm_R0_eff10Shape" -p "arm_R0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "arm_R0_eff11Shape" -p "arm_R0_eff"; - rename -uid "ADB566D2-446C-109B-F5AD-95B9C74F1ACE"; +createNode nurbsCurve -n "arm_R0_eff5Shape" -p "arm_R0_eff"; + rename -uid "32F96BEE-49AC-D690-54BA-51BD3F90A8AF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8367,8 +8389,8 @@ createNode nurbsCurve -n "arm_R0_eff11Shape" -p "arm_R0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "arm_R0_eff12Shape" -p "arm_R0_eff"; - rename -uid "F2B0BFD0-4526-227B-D0EF-479883C391B5"; +createNode nurbsCurve -n "arm_R0_eff6Shape" -p "arm_R0_eff"; + rename -uid "370867A7-4117-3B53-E6E6-03BE08216392"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8385,8 +8407,8 @@ createNode nurbsCurve -n "arm_R0_eff12Shape" -p "arm_R0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_R0_eff12_0crvShape" -p "arm_R0_eff"; - rename -uid "F1E9CDB9-4441-8965-AC22-9C8CFD04AF61"; +createNode nurbsCurve -n "arm_R0_eff6_0crvShape" -p "arm_R0_eff"; + rename -uid "1397F1B8-4C48-4CB5-1EFF-67AF9368D152"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8403,8 +8425,8 @@ createNode nurbsCurve -n "arm_R0_eff12_0crvShape" -p "arm_R0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "arm_R0_eff12_1crvShape" -p "arm_R0_eff"; - rename -uid "F6D77D9A-4321-CEED-B2F4-83A5AE2A3C7D"; +createNode nurbsCurve -n "arm_R0_eff6_1crvShape" -p "arm_R0_eff"; + rename -uid "DA291FBB-408F-1C8B-948E-F7B2FDF83C42"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8422,7 +8444,7 @@ createNode nurbsCurve -n "arm_R0_eff12_1crvShape" -p "arm_R0_eff"; 0 0 -0.1875 ; createNode transform -n "armUI_R0_root" -p "arm_R0_eff"; - rename -uid "54D5B0D3-4595-D06B-C3FF-49A5AB2E5F39"; + rename -uid "58E53DD5-47FA-6B88-8066-979B7D0F5809"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -8446,12 +8468,14 @@ createNode transform -n "armUI_R0_root" -p "arm_R0_eff"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.2124561875008171 0.56073114764518017 -0.29276117198398854 ; + setAttr ".t" -type "double3" -1.2124561875008064 0.5607311476451784 -0.29276117198398954 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8459,7 +8483,7 @@ createNode transform -n "armUI_R0_root" -p "arm_R0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000002 1.0000000000000011 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 1.0000000000000011 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -8471,11 +8495,8 @@ createNode transform -n "armUI_R0_root" -p "arm_R0_eff"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "armUI_R0_rootShape" -p "armUI_R0_root"; - rename -uid "69D27EE2-4A84-2DEA-CEA4-3886153266FC"; + rename -uid "059A3C31-4893-DD92-5E9F-E79B35E4C528"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8487,8 +8508,8 @@ createNode nurbsCurve -n "armUI_R0_rootShape" -p "armUI_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "armUI_R0_root10Shape" -p "armUI_R0_root"; - rename -uid "4F79214D-41CE-466A-853F-D0AFEBC31AE9"; +createNode nurbsCurve -n "armUI_R0_root4Shape" -p "armUI_R0_root"; + rename -uid "F5F1E962-4E6C-5B50-F50C-64A2C5AED75A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8500,8 +8521,8 @@ createNode nurbsCurve -n "armUI_R0_root10Shape" -p "armUI_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "armUI_R0_root11Shape" -p "armUI_R0_root"; - rename -uid "BE95065F-4761-0952-66D9-679577A4097D"; +createNode nurbsCurve -n "armUI_R0_root5Shape" -p "armUI_R0_root"; + rename -uid "07319F72-45D5-7F99-D787-DD81E459CBB4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8513,8 +8534,8 @@ createNode nurbsCurve -n "armUI_R0_root11Shape" -p "armUI_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "armUI_R0_root12Shape" -p "armUI_R0_root"; - rename -uid "91C159D7-47F6-375D-3AB8-DE8E3FDB310A"; +createNode nurbsCurve -n "armUI_R0_root6Shape" -p "armUI_R0_root"; + rename -uid "A77E2C43-4BC8-931D-3FE9-2D9CAA1C6CC3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8541,24 +8562,24 @@ createNode nurbsCurve -n "armUI_R0_root12Shape" -p "armUI_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "armUI_R0_sizeRef" -p "armUI_R0_root"; - rename -uid "76E00CEA-4189-6F0F-9E6A-07A8CA089422"; + rename -uid "5CB715CB-4723-090B-663C-B7AE6EF40CC4"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.11347623085809433 -0.027001577630491269 1.0430060296210661 ; + setAttr ".t" -type "double3" 0.11347623085809122 -0.027001577630489493 1.0430060296210659 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 174.54691598541183 -3.3190804973696055 -134.6206758497523 ; + setAttr ".r" -type "double3" 5.4530840145881605 3.3190804973696189 45.37932415024774 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0495082267377429 1.049508226737738 -1.0495082267377398 ; + setAttr ".s" -type "double3" 1.0495082267377429 1.0495082267377378 1.0495082267377394 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "meta_R0_root" -p "arm_R0_eff"; - rename -uid "75512256-461E-C923-F331-76909B40C1BF"; + rename -uid "4BC9E70A-4AE6-D495-47F9-0EB1823774D0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -8567,22 +8588,22 @@ createNode transform -n "meta_R0_root" -p "arm_R0_eff"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "intScale" -ln "intScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "intRotation" -ln "intRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "intTranslation" -ln "intTranslation" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "intScale" -ln "intScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "intRotation" -ln "intRotation" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "intTranslation" -ln "intTranslation" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.0556240028445742 -0.075350553640975093 0.3529622528885028 ; + setAttr ".t" -type "double3" -1.055624002844568 -0.075350553640975093 0.3529622528885023 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 86.350349008867184 93.717381466937269 86.467960127478548 ; + setAttr ".r" -type "double3" 86.350349008866772 93.71738146693724 86.467960127478321 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.30838721081716908 0.30838721081716913 0.30838721081716913 ; + setAttr ".s" -type "double3" 0.30838721081716924 0.30838721081716941 0.30838721081716963 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -8592,12 +8613,8 @@ createNode transform -n "meta_R0_root" -p "arm_R0_eff"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".intScale" yes; - setAttr ".intRotation" yes; - setAttr ".intTranslation" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "meta_R0_rootShape" -p "meta_R0_root"; - rename -uid "31867632-444C-ED87-3A38-EAB46A67ACD6"; + rename -uid "3970A0AB-4BE4-4684-7A8E-668B4C05EB0A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8609,8 +8626,8 @@ createNode nurbsCurve -n "meta_R0_rootShape" -p "meta_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_R0_root10Shape" -p "meta_R0_root"; - rename -uid "B5678D21-4FB4-05E3-9DE2-D0833C22508E"; +createNode nurbsCurve -n "meta_R0_root4Shape" -p "meta_R0_root"; + rename -uid "8BC6228B-4F94-1BD7-9C5A-E1B5974C0447"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8622,8 +8639,8 @@ createNode nurbsCurve -n "meta_R0_root10Shape" -p "meta_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_R0_root11Shape" -p "meta_R0_root"; - rename -uid "A913896D-4195-946D-58DC-EA9682419007"; +createNode nurbsCurve -n "meta_R0_root5Shape" -p "meta_R0_root"; + rename -uid "B3BD0860-450F-D1AA-F868-66A03BE7BEA7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8635,8 +8652,8 @@ createNode nurbsCurve -n "meta_R0_root11Shape" -p "meta_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_R0_root12Shape" -p "meta_R0_root"; - rename -uid "BDFCBA38-4319-C9D8-E322-D1B1BC39D13C"; +createNode nurbsCurve -n "meta_R0_root6Shape" -p "meta_R0_root"; + rename -uid "0495BDB8-45ED-7258-5A76-7C814B2F7D3B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8663,10 +8680,10 @@ createNode nurbsCurve -n "meta_R0_root12Shape" -p "meta_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "meta_R0_0_loc" -p "meta_R0_root"; - rename -uid "A357D75A-429A-935C-588B-F780017230E7"; + rename -uid "CBE6345D-4209-F451-998A-8AB173108E4F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.66320847353617562 -2.1316282072803006e-014 -3.5527136788005009e-015 ; + setAttr ".t" -type "double3" 0.66320847353617252 2.1316282072803006e-014 -3.0198066269804258e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8674,12 +8691,12 @@ createNode transform -n "meta_R0_0_loc" -p "meta_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999967 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999956 0.99999999999999833 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "meta_R0_0_locShape" -p "meta_R0_0_loc"; - rename -uid "6F019EEE-41F6-E0C0-53A3-41B8085EF946"; + rename -uid "4A0ADDC7-4D3C-28D7-23F1-5283E36FC02C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8691,8 +8708,8 @@ createNode nurbsCurve -n "meta_R0_0_locShape" -p "meta_R0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_R0_0_loc10Shape" -p "meta_R0_0_loc"; - rename -uid "15E374F8-4761-F1FA-98BE-BFB5C004DBA4"; +createNode nurbsCurve -n "meta_R0_0_loc4Shape" -p "meta_R0_0_loc"; + rename -uid "B81D9EF3-4E06-F5DD-3E9A-118C30C2546C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8704,8 +8721,8 @@ createNode nurbsCurve -n "meta_R0_0_loc10Shape" -p "meta_R0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_R0_0_loc11Shape" -p "meta_R0_0_loc"; - rename -uid "993C4757-4CCA-2250-68A7-75BC68EAE145"; +createNode nurbsCurve -n "meta_R0_0_loc5Shape" -p "meta_R0_0_loc"; + rename -uid "1E243561-41B5-4843-C341-15A4EFBACD1C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8717,8 +8734,8 @@ createNode nurbsCurve -n "meta_R0_0_loc11Shape" -p "meta_R0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_R0_0_loc12Shape" -p "meta_R0_0_loc"; - rename -uid "A724338A-453A-8D89-F0CC-F7A447B6ACD1"; +createNode nurbsCurve -n "meta_R0_0_loc6Shape" -p "meta_R0_0_loc"; + rename -uid "D4F0A3E1-4032-F4C0-2AC8-95AD8F713C98"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8735,8 +8752,8 @@ createNode nurbsCurve -n "meta_R0_0_loc12Shape" -p "meta_R0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_R0_0_loc12_0crvShape" -p "meta_R0_0_loc"; - rename -uid "63DDE021-448C-1222-5285-0A94BF8AD51F"; +createNode nurbsCurve -n "meta_R0_0_loc6_0crvShape" -p "meta_R0_0_loc"; + rename -uid "89875F7F-44B1-1EF9-6EA2-70BDCAF20B62"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8753,8 +8770,8 @@ createNode nurbsCurve -n "meta_R0_0_loc12_0crvShape" -p "meta_R0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_R0_0_loc12_1crvShape" -p "meta_R0_0_loc"; - rename -uid "D42F27ED-4D47-096F-C102-5ABDBD3BC3DB"; +createNode nurbsCurve -n "meta_R0_0_loc6_1crvShape" -p "meta_R0_0_loc"; + rename -uid "80F4B257-441C-9DE4-C8D9-BDB21446BD1A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8772,10 +8789,10 @@ createNode nurbsCurve -n "meta_R0_0_loc12_1crvShape" -p "meta_R0_0_loc"; 0 0 -0.1875 ; createNode transform -n "meta_R0_1_loc" -p "meta_R0_0_loc"; - rename -uid "E305A535-4EE6-2518-FA6B-878945ED086F"; + rename -uid "6C16C35A-496C-AB06-0F1D-F58000B227B0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.66320847353618095 3.5527136788005009e-014 -8.8817841970012523e-015 ; + setAttr ".t" -type "double3" 0.66320847353618362 -7.1054273576010019e-015 1.0658141036401503e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8783,12 +8800,12 @@ createNode transform -n "meta_R0_1_loc" -p "meta_R0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999967 1 1.0000000000000004 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "meta_R0_1_locShape" -p "meta_R0_1_loc"; - rename -uid "E3FBDFCF-4E97-54E6-0ABA-FCAE7A6E2735"; + rename -uid "F65FEDD6-4D77-0E85-DB06-8683A969B46F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8800,8 +8817,8 @@ createNode nurbsCurve -n "meta_R0_1_locShape" -p "meta_R0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_R0_1_loc10Shape" -p "meta_R0_1_loc"; - rename -uid "A948031A-4546-329B-CC50-B789B5908F1B"; +createNode nurbsCurve -n "meta_R0_1_loc4Shape" -p "meta_R0_1_loc"; + rename -uid "96AA0D7E-464B-6DD5-7E1A-2E9020809277"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8813,8 +8830,8 @@ createNode nurbsCurve -n "meta_R0_1_loc10Shape" -p "meta_R0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_R0_1_loc11Shape" -p "meta_R0_1_loc"; - rename -uid "CF051AE8-4DDA-494F-02E4-1CA548DCF3A0"; +createNode nurbsCurve -n "meta_R0_1_loc5Shape" -p "meta_R0_1_loc"; + rename -uid "295F19B4-4170-F4D2-EB9D-EBA8320411C1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8826,8 +8843,8 @@ createNode nurbsCurve -n "meta_R0_1_loc11Shape" -p "meta_R0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_R0_1_loc12Shape" -p "meta_R0_1_loc"; - rename -uid "33851D11-4490-91CC-32DF-8D898247F0AB"; +createNode nurbsCurve -n "meta_R0_1_loc6Shape" -p "meta_R0_1_loc"; + rename -uid "E06A1752-4A55-26F6-605B-BBA4633866B3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8844,8 +8861,8 @@ createNode nurbsCurve -n "meta_R0_1_loc12Shape" -p "meta_R0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_R0_1_loc12_0crvShape" -p "meta_R0_1_loc"; - rename -uid "04A0FE69-4440-6313-970E-E9A71CEA9922"; +createNode nurbsCurve -n "meta_R0_1_loc6_0crvShape" -p "meta_R0_1_loc"; + rename -uid "C2AED62B-4EB3-0022-5C35-70B8FD90D385"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8862,8 +8879,8 @@ createNode nurbsCurve -n "meta_R0_1_loc12_0crvShape" -p "meta_R0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_R0_1_loc12_1crvShape" -p "meta_R0_1_loc"; - rename -uid "348DA87E-467D-96F4-1773-7CA64D510493"; +createNode nurbsCurve -n "meta_R0_1_loc6_1crvShape" -p "meta_R0_1_loc"; + rename -uid "0361B981-49A4-4929-0CC7-A98531B5D75C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8881,10 +8898,10 @@ createNode nurbsCurve -n "meta_R0_1_loc12_1crvShape" -p "meta_R0_1_loc"; 0 0 -0.1875 ; createNode transform -n "meta_R0_2_loc" -p "meta_R0_1_loc"; - rename -uid "3CC8B824-4B55-E3A2-C728-7D889941637A"; + rename -uid "88299E7F-4E94-45AC-8B2E-C48137698367"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.66320847353618673 -7.1054273576010019e-015 -1.4210854715202004e-014 ; + setAttr ".t" -type "double3" 0.66320847353618229 1.4210854715202004e-014 -3.0198066269804258e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8892,12 +8909,12 @@ createNode transform -n "meta_R0_2_loc" -p "meta_R0_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000004 0.99999999999999911 ; + setAttr ".s" -type "double3" 0.99999999999999944 0.999999999999999 0.99999999999999867 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "meta_R0_2_locShape" -p "meta_R0_2_loc"; - rename -uid "BE94C958-4E97-E39B-A5E4-918C673D7F9A"; + rename -uid "2868A4AB-4A66-AF06-DCAE-2CBC80FAE59D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8909,8 +8926,8 @@ createNode nurbsCurve -n "meta_R0_2_locShape" -p "meta_R0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "meta_R0_2_loc10Shape" -p "meta_R0_2_loc"; - rename -uid "0957809A-451A-0CAE-C8DA-95982E6BDE68"; +createNode nurbsCurve -n "meta_R0_2_loc4Shape" -p "meta_R0_2_loc"; + rename -uid "03FEA0B9-4009-0B27-E287-B8A8F1E65EA8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8922,8 +8939,8 @@ createNode nurbsCurve -n "meta_R0_2_loc10Shape" -p "meta_R0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "meta_R0_2_loc11Shape" -p "meta_R0_2_loc"; - rename -uid "B1C5ADEE-477A-B564-9F23-628BA01A9C56"; +createNode nurbsCurve -n "meta_R0_2_loc5Shape" -p "meta_R0_2_loc"; + rename -uid "5CFBFADA-4D62-D3F3-A2BD-98B89742A12C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8935,8 +8952,8 @@ createNode nurbsCurve -n "meta_R0_2_loc11Shape" -p "meta_R0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "meta_R0_2_loc12Shape" -p "meta_R0_2_loc"; - rename -uid "C6088053-4BF5-5183-159F-28BCF3427976"; +createNode nurbsCurve -n "meta_R0_2_loc6Shape" -p "meta_R0_2_loc"; + rename -uid "F46B5AE1-41BC-3E66-4FF2-D59BE51FCC27"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8953,8 +8970,8 @@ createNode nurbsCurve -n "meta_R0_2_loc12Shape" -p "meta_R0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_R0_2_loc12_0crvShape" -p "meta_R0_2_loc"; - rename -uid "025956CC-4A29-5A97-FCAD-B5B7F133DD9C"; +createNode nurbsCurve -n "meta_R0_2_loc6_0crvShape" -p "meta_R0_2_loc"; + rename -uid "AA9FFBB5-4FC9-CA42-501B-1FA777577FD5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8971,8 +8988,8 @@ createNode nurbsCurve -n "meta_R0_2_loc12_0crvShape" -p "meta_R0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "meta_R0_2_loc12_1crvShape" -p "meta_R0_2_loc"; - rename -uid "843CB1D5-4F1A-88B3-79AE-5491C776A354"; +createNode nurbsCurve -n "meta_R0_2_loc6_1crvShape" -p "meta_R0_2_loc"; + rename -uid "D5C815CB-4917-B408-73FC-E0B23B91784E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8990,48 +9007,44 @@ createNode nurbsCurve -n "meta_R0_2_loc12_1crvShape" -p "meta_R0_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R3_root" -p "meta_R0_2_loc"; - rename -uid "CDB913A2-474F-EB8D-5F8D-27BFD8025ED1"; + rename -uid "0F9DB48B-4A2D-05E4-EC2F-36986D495EFA"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; - addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -dv 3 -min 0 -at "long"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.27518484001103305 -0.17360051577779956 2.4946799341790555 ; + setAttr ".t" -type "double3" 0.2751848400110346 -0.17360051577778535 2.4946799341790573 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 5.4173319878585096 -68.587073855452374 -5.8163374181194527 ; + setAttr ".r" -type "double3" 5.4173319878599075 -68.587073855452473 -5.8163374181201082 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.292966824566181 1.292966824566179 1.2929668245661803 ; + setAttr ".s" -type "double3" 1.2929668245661803 1.2929668245661792 1.292966824566181 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "chain_01"; setAttr ".comp_name" -type "string" "finger"; setAttr ".comp_side" -type "string" "R"; - setAttr ".comp_index" 3; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_R3_rootShape" -p "finger_R3_root"; - rename -uid "E0ED0A5C-441B-E53D-EBA4-538DFBFDB854"; + rename -uid "0B67E883-4E1B-22DC-A0C6-8CBFC2CBE083"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9043,8 +9056,8 @@ createNode nurbsCurve -n "finger_R3_rootShape" -p "finger_R3_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R3_root10Shape" -p "finger_R3_root"; - rename -uid "38AA28E4-42AC-584A-A501-FA8F53DADFF8"; +createNode nurbsCurve -n "finger_R3_root4Shape" -p "finger_R3_root"; + rename -uid "49579A6C-4531-8138-FA8D-39B7F0357982"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9056,8 +9069,8 @@ createNode nurbsCurve -n "finger_R3_root10Shape" -p "finger_R3_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R3_root11Shape" -p "finger_R3_root"; - rename -uid "87DDD11A-4560-B232-2DFD-0B8495D9B0DE"; +createNode nurbsCurve -n "finger_R3_root5Shape" -p "finger_R3_root"; + rename -uid "9611491D-4A3B-C66F-DCE9-7CB4EB0CAC11"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9069,8 +9082,8 @@ createNode nurbsCurve -n "finger_R3_root11Shape" -p "finger_R3_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R3_root12Shape" -p "finger_R3_root"; - rename -uid "B2B41A9F-46F1-351C-E252-C481B175337C"; +createNode nurbsCurve -n "finger_R3_root6Shape" -p "finger_R3_root"; + rename -uid "8E875A67-4FA8-E734-CFB2-14A5BCBC1C37"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9097,10 +9110,10 @@ createNode nurbsCurve -n "finger_R3_root12Shape" -p "finger_R3_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_R3_0_loc" -p "finger_R3_root"; - rename -uid "267D16BF-43B8-2E61-5D15-C7A73E4FBEC1"; + rename -uid "ADD7E061-4F81-9FD5-042C-3EB45606A74D"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.84766209830561579 2.8421709430404007e-014 -5.1070259132757201e-015 ; + setAttr ".t" -type "double3" 0.84766209830561312 2.8421709430404007e-014 -3.5527136788005009e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9108,12 +9121,12 @@ createNode transform -n "finger_R3_0_loc" -p "finger_R3_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999956 1.0000000000000011 ; + setAttr ".s" -type "double3" 1 1.0000000000000002 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R3_0_locShape" -p "finger_R3_0_loc"; - rename -uid "CA204D0E-4433-700F-0B42-52A702811C36"; + rename -uid "4F6393F1-4760-6609-F8CC-42BAC6818FA5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9125,8 +9138,8 @@ createNode nurbsCurve -n "finger_R3_0_locShape" -p "finger_R3_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R3_0_loc10Shape" -p "finger_R3_0_loc"; - rename -uid "266A8D3E-4201-859A-AA59-539E2A0681A2"; +createNode nurbsCurve -n "finger_R3_0_loc4Shape" -p "finger_R3_0_loc"; + rename -uid "6D926D25-442C-958C-A943-CC88F86A5109"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9138,8 +9151,8 @@ createNode nurbsCurve -n "finger_R3_0_loc10Shape" -p "finger_R3_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R3_0_loc11Shape" -p "finger_R3_0_loc"; - rename -uid "FB9B8944-4C30-E553-BEDF-FFA10B48270A"; +createNode nurbsCurve -n "finger_R3_0_loc5Shape" -p "finger_R3_0_loc"; + rename -uid "7064B1FB-4981-C27C-E283-489BB35BC403"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9151,8 +9164,8 @@ createNode nurbsCurve -n "finger_R3_0_loc11Shape" -p "finger_R3_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R3_0_loc12Shape" -p "finger_R3_0_loc"; - rename -uid "D8130D16-4541-B07E-B278-F1B17BE846A8"; +createNode nurbsCurve -n "finger_R3_0_loc6Shape" -p "finger_R3_0_loc"; + rename -uid "87AFC775-4099-D7F9-8BFF-86B34F45D69A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9169,8 +9182,8 @@ createNode nurbsCurve -n "finger_R3_0_loc12Shape" -p "finger_R3_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R3_0_loc12_0crvShape" -p "finger_R3_0_loc"; - rename -uid "072DCF7F-4AF2-F2ED-C63C-1BB6CF98A1E0"; +createNode nurbsCurve -n "finger_R3_0_loc6_0crvShape" -p "finger_R3_0_loc"; + rename -uid "A1C03AAC-4399-B438-331A-F9A3B60F0715"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9187,8 +9200,8 @@ createNode nurbsCurve -n "finger_R3_0_loc12_0crvShape" -p "finger_R3_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R3_0_loc12_1crvShape" -p "finger_R3_0_loc"; - rename -uid "9A0465AA-492E-0E7E-2EE0-C68C4D40A0CB"; +createNode nurbsCurve -n "finger_R3_0_loc6_1crvShape" -p "finger_R3_0_loc"; + rename -uid "35106F48-4AA3-B395-B342-8DA7E8EF2CC9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9206,10 +9219,10 @@ createNode nurbsCurve -n "finger_R3_0_loc12_1crvShape" -p "finger_R3_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R3_1_loc" -p "finger_R3_0_loc"; - rename -uid "13C32413-4F38-9365-58A0-44B266CB4B53"; + rename -uid "8A448344-457A-503A-BD92-C1BB8D4083C8"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.57524361070875241 3.5527136788005009e-015 4.4408920985006262e-015 ; + setAttr ".t" -type "double3" 0.57524361070876928 -2.1316282072803006e-014 -2.2204460492503131e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9217,12 +9230,12 @@ createNode transform -n "finger_R3_1_loc" -p "finger_R3_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999956 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999944 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R3_1_locShape" -p "finger_R3_1_loc"; - rename -uid "6572AA92-47D6-2661-D4B1-969835F09922"; + rename -uid "81916267-44E7-D8F5-B925-FBB316FCAE95"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9234,8 +9247,8 @@ createNode nurbsCurve -n "finger_R3_1_locShape" -p "finger_R3_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R3_1_loc10Shape" -p "finger_R3_1_loc"; - rename -uid "5958DE14-48B7-E176-1499-EABDC5278404"; +createNode nurbsCurve -n "finger_R3_1_loc4Shape" -p "finger_R3_1_loc"; + rename -uid "5D2DC5C7-4C2E-3B64-EB28-C583133324F1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9247,8 +9260,8 @@ createNode nurbsCurve -n "finger_R3_1_loc10Shape" -p "finger_R3_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R3_1_loc11Shape" -p "finger_R3_1_loc"; - rename -uid "BFC58D99-4842-0083-C2F8-0C8E618B6CA3"; +createNode nurbsCurve -n "finger_R3_1_loc5Shape" -p "finger_R3_1_loc"; + rename -uid "F054A5B3-41CC-F313-2748-209D5CAF4709"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9260,8 +9273,8 @@ createNode nurbsCurve -n "finger_R3_1_loc11Shape" -p "finger_R3_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R3_1_loc12Shape" -p "finger_R3_1_loc"; - rename -uid "99027AE2-4049-AA76-39CF-478B57A3BC2F"; +createNode nurbsCurve -n "finger_R3_1_loc6Shape" -p "finger_R3_1_loc"; + rename -uid "27AB33BC-4115-D1AB-7AA3-1F8CE23A6768"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9278,8 +9291,8 @@ createNode nurbsCurve -n "finger_R3_1_loc12Shape" -p "finger_R3_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R3_1_loc12_0crvShape" -p "finger_R3_1_loc"; - rename -uid "01AA1D38-4FA2-67A9-6117-A78D3FA4935F"; +createNode nurbsCurve -n "finger_R3_1_loc6_0crvShape" -p "finger_R3_1_loc"; + rename -uid "CF62549A-4B1F-1A9B-B2F9-BDBFB0A111B1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9296,8 +9309,8 @@ createNode nurbsCurve -n "finger_R3_1_loc12_0crvShape" -p "finger_R3_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R3_1_loc12_1crvShape" -p "finger_R3_1_loc"; - rename -uid "22A03EB2-429A-4513-442C-CB997D7B1EA1"; +createNode nurbsCurve -n "finger_R3_1_loc6_1crvShape" -p "finger_R3_1_loc"; + rename -uid "5D47F2A8-4A65-0C39-92AE-2FBAA0B487CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9315,10 +9328,10 @@ createNode nurbsCurve -n "finger_R3_1_loc12_1crvShape" -p "finger_R3_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R3_2_loc" -p "finger_R3_1_loc"; - rename -uid "7C41078C-4ACE-0D1A-BDF1-A2BDE3BEF470"; + rename -uid "F940BD21-4BFA-9187-5EDC-C784685C917C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.31616177259195322 3.5527136788005009e-015 1.3322676295501878e-015 ; + setAttr ".t" -type "double3" 0.31616177259193279 3.5527136788005009e-015 1.3322676295501878e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9326,12 +9339,12 @@ createNode transform -n "finger_R3_2_loc" -p "finger_R3_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999989 1.0000000000000007 1 ; + setAttr ".s" -type "double3" 0.99999999999999956 1.000000000000002 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R3_2_locShape" -p "finger_R3_2_loc"; - rename -uid "0A24C39F-4D46-6D73-B642-208CB010F531"; + rename -uid "92A01921-4DD1-7954-D53C-06BBB8E53193"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9343,8 +9356,8 @@ createNode nurbsCurve -n "finger_R3_2_locShape" -p "finger_R3_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R3_2_loc10Shape" -p "finger_R3_2_loc"; - rename -uid "D0CF8017-4D5D-CA8C-B534-F7A4C86E79F8"; +createNode nurbsCurve -n "finger_R3_2_loc4Shape" -p "finger_R3_2_loc"; + rename -uid "A423738D-47B7-38B0-3CB4-14A1000EA314"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9356,8 +9369,8 @@ createNode nurbsCurve -n "finger_R3_2_loc10Shape" -p "finger_R3_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R3_2_loc11Shape" -p "finger_R3_2_loc"; - rename -uid "3DFEA4CF-444D-1D49-1763-54A0F8D805B5"; +createNode nurbsCurve -n "finger_R3_2_loc5Shape" -p "finger_R3_2_loc"; + rename -uid "E0D81BD6-4B61-613D-E063-66A450900808"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9369,8 +9382,8 @@ createNode nurbsCurve -n "finger_R3_2_loc11Shape" -p "finger_R3_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R3_2_loc12Shape" -p "finger_R3_2_loc"; - rename -uid "18C1DA05-466A-D9DE-B6E1-A7A453211520"; +createNode nurbsCurve -n "finger_R3_2_loc6Shape" -p "finger_R3_2_loc"; + rename -uid "BDE8C67A-4D29-5318-6E7D-A6ABF0E821D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9387,8 +9400,8 @@ createNode nurbsCurve -n "finger_R3_2_loc12Shape" -p "finger_R3_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R3_2_loc12_0crvShape" -p "finger_R3_2_loc"; - rename -uid "F79D126D-40E3-2FA0-1730-4E9B42C43243"; +createNode nurbsCurve -n "finger_R3_2_loc6_0crvShape" -p "finger_R3_2_loc"; + rename -uid "6EB75CCF-43B5-1DBF-73F1-769860A9AB8A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9405,8 +9418,8 @@ createNode nurbsCurve -n "finger_R3_2_loc12_0crvShape" -p "finger_R3_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R3_2_loc12_1crvShape" -p "finger_R3_2_loc"; - rename -uid "9753C681-4D95-5D99-F52A-8CAC3478A974"; +createNode nurbsCurve -n "finger_R3_2_loc6_1crvShape" -p "finger_R3_2_loc"; + rename -uid "36C61695-4F98-6A09-F884-FBA35A3E20CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9424,7 +9437,7 @@ createNode nurbsCurve -n "finger_R3_2_loc12_1crvShape" -p "finger_R3_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R3_blade" -p "finger_R3_root"; - rename -uid "1EDCCFB8-4F6E-5C79-0BCB-C18181CBFB60"; + rename -uid "95CEF167-4D23-0588-82CA-DFBC5448A90A"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -9434,13 +9447,13 @@ createNode transform -n "finger_R3_blade" -p "finger_R3_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999956 1.0000000000000011 ; + setAttr ".s" -type "double3" 1 1.0000000000000002 1 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_R3_bladeShape" -p "finger_R3_blade"; - rename -uid "2D4BFB92-4195-B347-EEA4-12A29285EE95"; + rename -uid "24ED18EE-4B9B-76E5-B2DC-99969D29149E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9450,12 +9463,12 @@ createNode nurbsCurve -n "finger_R3_bladeShape" -p "finger_R3_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970855 0 0 - 0 0.2585933649132362 0 + 0.7757800947397081 0 0 + 0 0.25859336491323603 0 0 0 0 ; -createNode aimConstraint -n "finger_R3_blade_aimConstraint4" -p "finger_R3_blade"; - rename -uid "2DAC94BB-4278-6EBD-1F2C-348ABCD1AF96"; +createNode aimConstraint -n "finger_R3_blade_aimConstraint2" -p "finger_R3_blade"; + rename -uid "FCE53984-41CD-860A-8561-13985B753EA4"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_R3_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -9471,8 +9484,8 @@ createNode aimConstraint -n "finger_R3_blade_aimConstraint4" -p "finger_R3_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_R3_blade_pointConstraint4" -p "finger_R3_blade"; - rename -uid "85715AA2-4AC0-FCAA-C57D-65B933E14A10"; +createNode pointConstraint -n "finger_R3_blade_pointConstraint2" -p "finger_R3_blade"; + rename -uid "D60795D2-43E4-672A-0F07-AEACC6B9F59A"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_R3_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -9486,22 +9499,22 @@ createNode pointConstraint -n "finger_R3_blade_pointConstraint4" -p "finger_R3_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 0 -2.2204460492503131e-016 ; + setAttr ".rst" -type "double3" -1.7763568394002505e-015 0 4.4408920985006262e-016 ; setAttr -k on ".w0"; createNode transform -n "finger_R3_crv" -p "finger_R3_root"; - rename -uid "23997B5B-44EE-57E1-0CAF-5BA11380EF79"; + rename -uid "B80D7D18-4E79-644B-7A1C-FEB947E407F3"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 8.1560938646754249 -29.032786855763426 1.4804327725048669 ; - setAttr ".r" -type "double3" 7.579166539414615 165.69575562109907 49.348303523761878 ; - setAttr ".s" -type "double3" 2.6320983106786127 2.6320983106786007 -2.6320983106786078 ; + setAttr ".t" -type "double3" 8.1560938646754462 -29.03278685576344 1.4804327725052238 ; + setAttr ".r" -type "double3" 7.579166539414997 165.69575562109972 49.348303523762006 ; + setAttr ".s" -type "double3" 2.6320983106786136 2.6320983106786024 -2.6320983106786064 ; createNode nurbsCurve -n "finger_R3_crvShape" -p "finger_R3_crv"; - rename -uid "C9DF6CCD-4B1F-37C2-166C-BBA926D67CA8"; + rename -uid "2A58F4C9-445B-FDF0-EBDF-128F4CFBD242"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_R3_crvShapeOrig" -p "finger_R3_crv"; - rename -uid "5431176B-4416-52FA-D7C4-208D4CABA93F"; + rename -uid "77899D4E-464C-39AF-1634-929B3994958B"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -9514,48 +9527,44 @@ createNode nurbsCurve -n "finger_R3_crvShapeOrig" -p "finger_R3_crv"; 0 0 0 ; createNode transform -n "finger_R2_root" -p "meta_R0_1_loc"; - rename -uid "C30E45C8-4433-3F21-9627-0FBDFDDF7AEC"; + rename -uid "A6D94801-4DB5-0F92-6C8B-929E1D7A1D1C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; - addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -dv 2 -min 0 -at "long"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.21404201232122322 -0.17620518664706708 2.8414845756647473 ; + setAttr ".t" -type "double3" 0.21404201232122189 -0.17620518664705287 2.8414845756647278 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 19.114415121373995 -82.086889237978767 -14.829711404954789 ; + setAttr ".r" -type "double3" 19.114415121377579 -82.086889237978667 -14.829711404956637 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.2929668245661798 1.2929668245661794 1.2929668245661805 ; + setAttr ".s" -type "double3" 1.2929668245661796 1.2929668245661781 1.2929668245661798 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "chain_01"; setAttr ".comp_name" -type "string" "finger"; setAttr ".comp_side" -type "string" "R"; - setAttr ".comp_index" 2; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_R2_rootShape" -p "finger_R2_root"; - rename -uid "C3F85167-4BE0-FBF5-23D9-3BBE1729628B"; + rename -uid "5A49D250-431F-DB03-14F7-828DB6690AEC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9567,8 +9576,8 @@ createNode nurbsCurve -n "finger_R2_rootShape" -p "finger_R2_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R2_root10Shape" -p "finger_R2_root"; - rename -uid "8CEDAEE3-41A3-E474-B750-CAAE960997C9"; +createNode nurbsCurve -n "finger_R2_root4Shape" -p "finger_R2_root"; + rename -uid "B9EB42C8-4748-CA48-FF3C-68AB72FB0236"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9580,8 +9589,8 @@ createNode nurbsCurve -n "finger_R2_root10Shape" -p "finger_R2_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R2_root11Shape" -p "finger_R2_root"; - rename -uid "7626F18F-40AC-CFC9-04CF-14846C4CC99A"; +createNode nurbsCurve -n "finger_R2_root5Shape" -p "finger_R2_root"; + rename -uid "C7C85716-42DA-3EB0-7294-638BBFBEC8C5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9593,8 +9602,8 @@ createNode nurbsCurve -n "finger_R2_root11Shape" -p "finger_R2_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R2_root12Shape" -p "finger_R2_root"; - rename -uid "D994AA6B-4067-E2B5-C699-698F52C49FFB"; +createNode nurbsCurve -n "finger_R2_root6Shape" -p "finger_R2_root"; + rename -uid "62F41753-4AE4-4B7C-741A-EF82271F63B8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9621,10 +9630,10 @@ createNode nurbsCurve -n "finger_R2_root12Shape" -p "finger_R2_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_R2_0_loc" -p "finger_R2_root"; - rename -uid "53A5B975-4934-5DB2-2961-1ABDA9ADA63B"; + rename -uid "1C002435-4A78-BA21-F276-6BABFEC460B0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.94501387217406485 -1.0658141036401503e-014 0 ; + setAttr ".t" -type "double3" 0.94501387217407817 -1.4210854715202004e-014 2.886579864025407e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9632,12 +9641,12 @@ createNode transform -n "finger_R2_0_loc" -p "finger_R2_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999922 1.0000000000000002 1 ; + setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000011 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R2_0_locShape" -p "finger_R2_0_loc"; - rename -uid "8C9E084B-4D1A-2BEF-3C04-45B25BD7214D"; + rename -uid "0588D26D-4BA9-AB82-3A14-4297EEAB2151"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9649,8 +9658,8 @@ createNode nurbsCurve -n "finger_R2_0_locShape" -p "finger_R2_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R2_0_loc10Shape" -p "finger_R2_0_loc"; - rename -uid "F0AAB297-415A-7F02-D9FE-308ADED29B82"; +createNode nurbsCurve -n "finger_R2_0_loc4Shape" -p "finger_R2_0_loc"; + rename -uid "D7711F29-4446-EE10-C1C1-F7B55EBB2459"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9662,8 +9671,8 @@ createNode nurbsCurve -n "finger_R2_0_loc10Shape" -p "finger_R2_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R2_0_loc11Shape" -p "finger_R2_0_loc"; - rename -uid "8CACB09F-470A-F873-97E7-47AB8C8AD580"; +createNode nurbsCurve -n "finger_R2_0_loc5Shape" -p "finger_R2_0_loc"; + rename -uid "425B1BF5-4549-4A01-26C8-708794A7AAB7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9675,8 +9684,8 @@ createNode nurbsCurve -n "finger_R2_0_loc11Shape" -p "finger_R2_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R2_0_loc12Shape" -p "finger_R2_0_loc"; - rename -uid "A9558526-49D2-956A-67FC-4EBC55686D0B"; +createNode nurbsCurve -n "finger_R2_0_loc6Shape" -p "finger_R2_0_loc"; + rename -uid "205E131C-4ECE-0E2A-83E9-B3A597BFAE74"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9693,8 +9702,8 @@ createNode nurbsCurve -n "finger_R2_0_loc12Shape" -p "finger_R2_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R2_0_loc12_0crvShape" -p "finger_R2_0_loc"; - rename -uid "A264ED9D-4025-B2DD-2BF7-CE834BF725DF"; +createNode nurbsCurve -n "finger_R2_0_loc6_0crvShape" -p "finger_R2_0_loc"; + rename -uid "21E508F1-4683-0A37-F273-F49FFD9B69E8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9711,8 +9720,8 @@ createNode nurbsCurve -n "finger_R2_0_loc12_0crvShape" -p "finger_R2_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R2_0_loc12_1crvShape" -p "finger_R2_0_loc"; - rename -uid "C6CA4DE1-4546-A924-300D-E89F206D7F78"; +createNode nurbsCurve -n "finger_R2_0_loc6_1crvShape" -p "finger_R2_0_loc"; + rename -uid "26E28634-4B53-E790-AEDD-C6973076E8C5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9730,10 +9739,10 @@ createNode nurbsCurve -n "finger_R2_0_loc12_1crvShape" -p "finger_R2_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R2_1_loc" -p "finger_R2_0_loc"; - rename -uid "3C53AAD5-4AA7-5285-4EF2-0A81E114FCA7"; + rename -uid "11B3449A-493B-C049-03AE-01B1448EBCAC"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.76775488587176355 1.7763568394002505e-014 -1.3322676295501878e-015 ; + setAttr ".t" -type "double3" 0.76775488587174223 2.1316282072803006e-014 0 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9741,12 +9750,12 @@ createNode transform -n "finger_R2_1_loc" -p "finger_R2_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999922 0.99999999999999933 ; + setAttr ".s" -type "double3" 0.99999999999999944 0.99999999999999944 0.99999999999999944 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R2_1_locShape" -p "finger_R2_1_loc"; - rename -uid "D65E40DA-462E-2A58-C805-9C8137DE8008"; + rename -uid "20AA3D6A-4C58-CA77-4E7F-F9AA50648EB6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9758,8 +9767,8 @@ createNode nurbsCurve -n "finger_R2_1_locShape" -p "finger_R2_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R2_1_loc10Shape" -p "finger_R2_1_loc"; - rename -uid "DD7FFFD5-4E07-EEB8-2AAE-2BB5FBF34BC3"; +createNode nurbsCurve -n "finger_R2_1_loc4Shape" -p "finger_R2_1_loc"; + rename -uid "629AA319-4975-BC72-5B95-37905FEEA73D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9771,8 +9780,8 @@ createNode nurbsCurve -n "finger_R2_1_loc10Shape" -p "finger_R2_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R2_1_loc11Shape" -p "finger_R2_1_loc"; - rename -uid "77A781B7-4CDD-E7CE-080A-E89840723C25"; +createNode nurbsCurve -n "finger_R2_1_loc5Shape" -p "finger_R2_1_loc"; + rename -uid "CEE38772-4C8E-8CDE-A47B-9CA8661C41C2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9784,8 +9793,8 @@ createNode nurbsCurve -n "finger_R2_1_loc11Shape" -p "finger_R2_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R2_1_loc12Shape" -p "finger_R2_1_loc"; - rename -uid "797D468E-4152-E952-FA66-0AB1243411D5"; +createNode nurbsCurve -n "finger_R2_1_loc6Shape" -p "finger_R2_1_loc"; + rename -uid "A7AFA673-4139-0DEE-80EA-75BE48745529"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9802,8 +9811,8 @@ createNode nurbsCurve -n "finger_R2_1_loc12Shape" -p "finger_R2_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R2_1_loc12_0crvShape" -p "finger_R2_1_loc"; - rename -uid "957EE5F4-42A6-085B-CC91-B3BFD4D7E004"; +createNode nurbsCurve -n "finger_R2_1_loc6_0crvShape" -p "finger_R2_1_loc"; + rename -uid "4BC265BF-49E1-4A33-4391-3883F38B50FB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9820,8 +9829,8 @@ createNode nurbsCurve -n "finger_R2_1_loc12_0crvShape" -p "finger_R2_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R2_1_loc12_1crvShape" -p "finger_R2_1_loc"; - rename -uid "C5AB688E-4C0D-0C14-7E50-C289522D2FCF"; +createNode nurbsCurve -n "finger_R2_1_loc6_1crvShape" -p "finger_R2_1_loc"; + rename -uid "423B7B5D-4B44-D4F7-E4E5-89B143C04D8E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9839,10 +9848,10 @@ createNode nurbsCurve -n "finger_R2_1_loc12_1crvShape" -p "finger_R2_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R2_2_loc" -p "finger_R2_1_loc"; - rename -uid "4B08B46F-424A-254F-3050-03BC9C120D15"; + rename -uid "678AB6E8-4473-CD44-CE59-F79966C4FE31"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.67457026674914733 -2.1316282072803006e-014 2.2204460492503131e-016 ; + setAttr ".t" -type "double3" 0.67457026674915888 -2.1316282072803006e-014 -8.8817841970012523e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9850,12 +9859,12 @@ createNode transform -n "finger_R2_2_loc" -p "finger_R2_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000004 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000007 1.0000000000000004 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R2_2_locShape" -p "finger_R2_2_loc"; - rename -uid "33C4B327-454C-938F-8B26-409D3D1E460A"; + rename -uid "30273841-43F7-939D-3D42-0FA9475783BE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9867,8 +9876,8 @@ createNode nurbsCurve -n "finger_R2_2_locShape" -p "finger_R2_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R2_2_loc10Shape" -p "finger_R2_2_loc"; - rename -uid "AE9CC4A4-42A1-4A13-A601-6FADFF4CD7FA"; +createNode nurbsCurve -n "finger_R2_2_loc4Shape" -p "finger_R2_2_loc"; + rename -uid "E32E99FF-4343-9EC2-E4F5-06AB356D957D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9880,8 +9889,8 @@ createNode nurbsCurve -n "finger_R2_2_loc10Shape" -p "finger_R2_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R2_2_loc11Shape" -p "finger_R2_2_loc"; - rename -uid "71995CBB-4B86-AD0F-45BB-F0960DF6C996"; +createNode nurbsCurve -n "finger_R2_2_loc5Shape" -p "finger_R2_2_loc"; + rename -uid "35B65788-484A-14DE-424F-FB8E572DDE30"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9893,8 +9902,8 @@ createNode nurbsCurve -n "finger_R2_2_loc11Shape" -p "finger_R2_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R2_2_loc12Shape" -p "finger_R2_2_loc"; - rename -uid "93267893-44A8-240D-C3D8-758E896384C8"; +createNode nurbsCurve -n "finger_R2_2_loc6Shape" -p "finger_R2_2_loc"; + rename -uid "8444E6B6-4A74-45F1-8E51-3C95C75DFD98"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9911,8 +9920,8 @@ createNode nurbsCurve -n "finger_R2_2_loc12Shape" -p "finger_R2_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R2_2_loc12_0crvShape" -p "finger_R2_2_loc"; - rename -uid "3992A2F0-484C-8FA5-4601-C4B2931001F0"; +createNode nurbsCurve -n "finger_R2_2_loc6_0crvShape" -p "finger_R2_2_loc"; + rename -uid "0FC6023C-4815-978E-68B1-9EB5F2626094"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9929,8 +9938,8 @@ createNode nurbsCurve -n "finger_R2_2_loc12_0crvShape" -p "finger_R2_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R2_2_loc12_1crvShape" -p "finger_R2_2_loc"; - rename -uid "A623A87E-4B8B-4345-954E-DE8BFC59FF61"; +createNode nurbsCurve -n "finger_R2_2_loc6_1crvShape" -p "finger_R2_2_loc"; + rename -uid "6BDB2CB8-4EBC-E4AD-349F-2AA27C71D6F6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9948,7 +9957,7 @@ createNode nurbsCurve -n "finger_R2_2_loc12_1crvShape" -p "finger_R2_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R2_blade" -p "finger_R2_root"; - rename -uid "B999D9E4-4162-1A33-4DE9-70AF048220CE"; + rename -uid "786BFF57-41F6-EA48-6510-8787F513DB22"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -9958,13 +9967,13 @@ createNode transform -n "finger_R2_blade" -p "finger_R2_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999922 1.0000000000000002 1 ; + setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000011 1.0000000000000007 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_R2_bladeShape" -p "finger_R2_blade"; - rename -uid "BE0F6617-48B6-4515-F561-4DAB00B55D3A"; + rename -uid "6F48DFB1-41A1-0766-9552-E7821DA06A1B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9974,12 +9983,12 @@ createNode nurbsCurve -n "finger_R2_bladeShape" -p "finger_R2_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970788 0 0 - 0 0.25859336491323598 0 + 0.77578009473970777 0 0 + 0 0.25859336491323592 0 0 0 0 ; -createNode aimConstraint -n "finger_R2_blade_aimConstraint4" -p "finger_R2_blade"; - rename -uid "4471F1DC-4C5C-5FA5-A9B2-6EB7A750DB6E"; +createNode aimConstraint -n "finger_R2_blade_aimConstraint2" -p "finger_R2_blade"; + rename -uid "F7B13D37-45F0-D37D-A4FD-5490758402FA"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_R2_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -9995,8 +10004,8 @@ createNode aimConstraint -n "finger_R2_blade_aimConstraint4" -p "finger_R2_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_R2_blade_pointConstraint4" -p "finger_R2_blade"; - rename -uid "0F7F2503-42CB-5815-D4BF-BBA5AF292EB0"; +createNode pointConstraint -n "finger_R2_blade_pointConstraint2" -p "finger_R2_blade"; + rename -uid "1E118FA7-44BB-57A0-611C-EFA56626C4CD"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_R2_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -10010,22 +10019,23 @@ createNode pointConstraint -n "finger_R2_blade_pointConstraint4" -p "finger_R2_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 1.7763568394002505e-015 0 2.2204460492503131e-016 ; + setAttr ".rst" -type "double3" 1.7763568394002505e-015 -3.5527136788005009e-015 + -2.2204460492503131e-016 ; setAttr -k on ".w0"; createNode transform -n "finger_R2_crv" -p "finger_R2_root"; - rename -uid "C99325B1-49E0-B4AA-00BB-4FBC808383A0"; + rename -uid "4DA97A72-452D-502D-9A49-B5B2E9727D57"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 8.0630938931308833 -29.023661369441566 1.4173349723079292 ; - setAttr ".r" -type "double3" 0.54140613098995294 178.40951950034901 47.737641631363836 ; - setAttr ".s" -type "double3" 2.6320983106786113 2.6320983106785998 -2.6320983106786078 ; + setAttr ".t" -type "double3" 8.0630938931309224 -29.023661369441538 1.4173349723088247 ; + setAttr ".r" -type "double3" 0.54140613099114887 178.40951950035029 47.737641631363964 ; + setAttr ".s" -type "double3" 2.6320983106786127 2.6320983106786011 -2.6320983106786069 ; createNode nurbsCurve -n "finger_R2_crvShape" -p "finger_R2_crv"; - rename -uid "E4229D5F-4A17-B407-E5C8-478D2FD4E6BD"; + rename -uid "D51751CD-40AE-1011-092C-FE8AC4AFBD41"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_R2_crvShapeOrig" -p "finger_R2_crv"; - rename -uid "76A0A61E-4C26-7B70-A557-FE8448BCBB70"; + rename -uid "74263412-428D-7895-8879-D49797B30F6E"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -10038,48 +10048,44 @@ createNode nurbsCurve -n "finger_R2_crvShapeOrig" -p "finger_R2_crv"; 0 0 0 ; createNode transform -n "finger_R1_root" -p "meta_R0_0_loc"; - rename -uid "F68C4FA8-4100-DC5B-3A26-2384F673E3D3"; + rename -uid "B970E890-4DAF-B0C8-B61F-F68058FEEEDC"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; - addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -dv 1 -min 0 -at "long"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.0077643969605927232 -0.1235840669671191 2.9483952421545734 ; + setAttr ".t" -type "double3" -0.0077643969605971641 -0.12358406696714752 2.9483952421545823 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 121.340213988702 -79.97701401742313 -112.77222628638549 ; + setAttr ".r" -type "double3" 121.34021398870063 -79.977014017422931 -112.77222628638486 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.292966824566181 1.2929668245661803 1.2929668245661798 ; + setAttr ".s" -type "double3" 1.2929668245661785 1.2929668245661794 1.2929668245661787 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; setAttr ".comp_type" -type "string" "chain_01"; setAttr ".comp_name" -type "string" "finger"; setAttr ".comp_side" -type "string" "R"; - setAttr ".comp_index" 1; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_R1_rootShape" -p "finger_R1_root"; - rename -uid "485839C1-4099-A530-A47B-87831389DBC5"; + rename -uid "00F14569-40B7-2DA5-4040-A3A3342E47AA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10091,8 +10097,8 @@ createNode nurbsCurve -n "finger_R1_rootShape" -p "finger_R1_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R1_root10Shape" -p "finger_R1_root"; - rename -uid "27B4A497-4D16-DDB7-C016-B7AACCD4B563"; +createNode nurbsCurve -n "finger_R1_root4Shape" -p "finger_R1_root"; + rename -uid "56D330F2-4FB6-D1A8-8C3E-4DA5191B29A8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10104,8 +10110,8 @@ createNode nurbsCurve -n "finger_R1_root10Shape" -p "finger_R1_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R1_root11Shape" -p "finger_R1_root"; - rename -uid "1D4E9502-4834-C70E-A9AE-C69BB712C619"; +createNode nurbsCurve -n "finger_R1_root5Shape" -p "finger_R1_root"; + rename -uid "6661540C-4A8F-ACA3-05B4-728EA4E4CF1D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10117,8 +10123,8 @@ createNode nurbsCurve -n "finger_R1_root11Shape" -p "finger_R1_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R1_root12Shape" -p "finger_R1_root"; - rename -uid "6AD37E81-4F63-4531-E9AF-27BB934659FD"; +createNode nurbsCurve -n "finger_R1_root6Shape" -p "finger_R1_root"; + rename -uid "71AF5DC3-4D3D-C1C4-68C1-5F8DD4720EBA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10145,10 +10151,10 @@ createNode nurbsCurve -n "finger_R1_root12Shape" -p "finger_R1_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_R1_0_loc" -p "finger_R1_root"; - rename -uid "509E9036-4360-434B-1B0A-D88E43C1AD59"; + rename -uid "24680FE6-40EF-CA60-E067-14865E3E065C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.99999999999998579 1.7763568394002505e-014 1.1102230246251565e-015 ; + setAttr ".t" -type "double3" 0.99999999999998224 2.1316282072803006e-014 -1.9984014443252818e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -10156,12 +10162,12 @@ createNode transform -n "finger_R1_0_loc" -p "finger_R1_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999889 0.999999999999999 0.99999999999999978 ; + setAttr ".s" -type "double3" 1 0.99999999999999967 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R1_0_locShape" -p "finger_R1_0_loc"; - rename -uid "3A7D7C46-4E81-6C2B-2DEC-56B64D355D6B"; + rename -uid "B95534DC-41D3-28F3-78D4-3FB9556AE112"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10173,8 +10179,8 @@ createNode nurbsCurve -n "finger_R1_0_locShape" -p "finger_R1_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R1_0_loc10Shape" -p "finger_R1_0_loc"; - rename -uid "90E2667C-4816-9FBE-DCD9-DAA44346FA74"; +createNode nurbsCurve -n "finger_R1_0_loc4Shape" -p "finger_R1_0_loc"; + rename -uid "E481359B-40AE-45E3-A89D-068C743DC689"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10186,8 +10192,8 @@ createNode nurbsCurve -n "finger_R1_0_loc10Shape" -p "finger_R1_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R1_0_loc11Shape" -p "finger_R1_0_loc"; - rename -uid "4AC19B96-4B80-5BD8-6AEB-67B906FAD489"; +createNode nurbsCurve -n "finger_R1_0_loc5Shape" -p "finger_R1_0_loc"; + rename -uid "B7BE7D7D-450B-6BE5-4B13-C6BA96836E08"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10199,8 +10205,8 @@ createNode nurbsCurve -n "finger_R1_0_loc11Shape" -p "finger_R1_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R1_0_loc12Shape" -p "finger_R1_0_loc"; - rename -uid "564EA363-4D1E-F687-2F3B-3EB819E12616"; +createNode nurbsCurve -n "finger_R1_0_loc6Shape" -p "finger_R1_0_loc"; + rename -uid "66F0AED0-468E-7898-50EF-62A7AEF59879"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10217,8 +10223,8 @@ createNode nurbsCurve -n "finger_R1_0_loc12Shape" -p "finger_R1_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R1_0_loc12_0crvShape" -p "finger_R1_0_loc"; - rename -uid "C3E6EF81-47DC-A27D-A6A6-7E9CD7FF8253"; +createNode nurbsCurve -n "finger_R1_0_loc6_0crvShape" -p "finger_R1_0_loc"; + rename -uid "BFC4DF61-4704-477F-E38D-C38E73CFB558"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10235,8 +10241,8 @@ createNode nurbsCurve -n "finger_R1_0_loc12_0crvShape" -p "finger_R1_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R1_0_loc12_1crvShape" -p "finger_R1_0_loc"; - rename -uid "8C8A9165-4D2B-A21F-353D-1799A1AE94C0"; +createNode nurbsCurve -n "finger_R1_0_loc6_1crvShape" -p "finger_R1_0_loc"; + rename -uid "E847BF3C-445D-6A30-F65F-7A9E297A3D35"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10254,10 +10260,10 @@ createNode nurbsCurve -n "finger_R1_0_loc12_1crvShape" -p "finger_R1_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R1_1_loc" -p "finger_R1_0_loc"; - rename -uid "8E199701-464C-4AC1-FBCC-52BDE613A9CF"; + rename -uid "3322E38C-49DE-920D-4F3C-5DB3524C8D5B"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.96412528414017551 0 -6.6613381477509392e-016 ; + setAttr ".t" -type "double3" 0.96412528414018972 1.4210854715202004e-014 -1.3322676295501878e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -10265,12 +10271,12 @@ createNode transform -n "finger_R1_1_loc" -p "finger_R1_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999989 1 ; + setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999956 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R1_1_locShape" -p "finger_R1_1_loc"; - rename -uid "54C70F0E-4C80-A954-F815-8194F956655C"; + rename -uid "37E51D64-4818-BEF8-0BDE-46BD3107978A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10282,8 +10288,8 @@ createNode nurbsCurve -n "finger_R1_1_locShape" -p "finger_R1_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R1_1_loc10Shape" -p "finger_R1_1_loc"; - rename -uid "22609F92-4109-674E-23EF-6EA5C7681E01"; +createNode nurbsCurve -n "finger_R1_1_loc4Shape" -p "finger_R1_1_loc"; + rename -uid "84A7A96E-44F0-E818-B5A1-73A0C7CAB303"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10295,8 +10301,8 @@ createNode nurbsCurve -n "finger_R1_1_loc10Shape" -p "finger_R1_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R1_1_loc11Shape" -p "finger_R1_1_loc"; - rename -uid "CD5D962F-413F-80BF-5ECF-0F98AB09CA5B"; +createNode nurbsCurve -n "finger_R1_1_loc5Shape" -p "finger_R1_1_loc"; + rename -uid "0FF9D158-4349-12FD-A00C-59A3EE0A2398"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10308,8 +10314,8 @@ createNode nurbsCurve -n "finger_R1_1_loc11Shape" -p "finger_R1_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R1_1_loc12Shape" -p "finger_R1_1_loc"; - rename -uid "DABADDF8-49BC-E488-C492-44BCDBAA2B21"; +createNode nurbsCurve -n "finger_R1_1_loc6Shape" -p "finger_R1_1_loc"; + rename -uid "E10F16F7-4B2E-ADEE-BB5F-D68A1158E35D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10326,8 +10332,8 @@ createNode nurbsCurve -n "finger_R1_1_loc12Shape" -p "finger_R1_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R1_1_loc12_0crvShape" -p "finger_R1_1_loc"; - rename -uid "3353299E-471A-0AC9-9C13-F88BF5ED67D5"; +createNode nurbsCurve -n "finger_R1_1_loc6_0crvShape" -p "finger_R1_1_loc"; + rename -uid "A6BD7E9A-4175-FA60-C5B5-20B212F8BF59"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10344,8 +10350,8 @@ createNode nurbsCurve -n "finger_R1_1_loc12_0crvShape" -p "finger_R1_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R1_1_loc12_1crvShape" -p "finger_R1_1_loc"; - rename -uid "52B56AEC-46EE-16B1-53FC-D7BB8E363B42"; +createNode nurbsCurve -n "finger_R1_1_loc6_1crvShape" -p "finger_R1_1_loc"; + rename -uid "B9E7CD42-4309-C1D1-6F61-15BC756FCFBE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10363,10 +10369,10 @@ createNode nurbsCurve -n "finger_R1_1_loc12_1crvShape" -p "finger_R1_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R1_2_loc" -p "finger_R1_1_loc"; - rename -uid "139BD65B-4C6D-0A12-BFDE-C09F6DB9DD61"; + rename -uid "54B73F0B-4B21-370E-F52A-F28E00CAD7F5"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.58017281549591004 7.1054273576010019e-015 2.6645352591003757e-015 ; + setAttr ".t" -type "double3" 0.58017281549590116 -1.7763568394002505e-014 2.2204460492503131e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -10374,12 +10380,12 @@ createNode transform -n "finger_R1_2_loc" -p "finger_R1_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999911 1.0000000000000009 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999978 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R1_2_locShape" -p "finger_R1_2_loc"; - rename -uid "04094E67-4334-56D4-0A03-6681D76E422F"; + rename -uid "8006D1B6-436F-D285-4E64-CDA97F4CC4CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10391,8 +10397,8 @@ createNode nurbsCurve -n "finger_R1_2_locShape" -p "finger_R1_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R1_2_loc10Shape" -p "finger_R1_2_loc"; - rename -uid "D2B511E0-4E7C-AF02-AC21-B08C8DC2C050"; +createNode nurbsCurve -n "finger_R1_2_loc4Shape" -p "finger_R1_2_loc"; + rename -uid "17AD3A24-41A6-99FC-511C-C894AB61AA08"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10404,8 +10410,8 @@ createNode nurbsCurve -n "finger_R1_2_loc10Shape" -p "finger_R1_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R1_2_loc11Shape" -p "finger_R1_2_loc"; - rename -uid "242FFA13-43B3-E68A-10F9-81AD9473C716"; +createNode nurbsCurve -n "finger_R1_2_loc5Shape" -p "finger_R1_2_loc"; + rename -uid "955A2A13-4BE8-126C-4DD7-95A1FD7601E3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10417,8 +10423,8 @@ createNode nurbsCurve -n "finger_R1_2_loc11Shape" -p "finger_R1_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R1_2_loc12Shape" -p "finger_R1_2_loc"; - rename -uid "818AE26E-4FB4-8F50-D75C-BABBACD77318"; +createNode nurbsCurve -n "finger_R1_2_loc6Shape" -p "finger_R1_2_loc"; + rename -uid "BBB6D02C-44F4-26C4-27D0-CB9D11699D60"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10435,8 +10441,8 @@ createNode nurbsCurve -n "finger_R1_2_loc12Shape" -p "finger_R1_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R1_2_loc12_0crvShape" -p "finger_R1_2_loc"; - rename -uid "CC17030F-4F89-8FDE-BE39-579DFE4CD9F2"; +createNode nurbsCurve -n "finger_R1_2_loc6_0crvShape" -p "finger_R1_2_loc"; + rename -uid "2A8B7E1E-4EAC-5826-8346-A3919C59CC0C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10453,8 +10459,8 @@ createNode nurbsCurve -n "finger_R1_2_loc12_0crvShape" -p "finger_R1_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R1_2_loc12_1crvShape" -p "finger_R1_2_loc"; - rename -uid "17039965-4310-D3A0-1E65-369E824956DE"; +createNode nurbsCurve -n "finger_R1_2_loc6_1crvShape" -p "finger_R1_2_loc"; + rename -uid "DAA5BE6A-4C06-B0CE-BC07-2CAF074B9410"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10472,7 +10478,7 @@ createNode nurbsCurve -n "finger_R1_2_loc12_1crvShape" -p "finger_R1_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R1_blade" -p "finger_R1_root"; - rename -uid "127D15E2-4FCF-10E3-BC23-3AABB0F01C61"; + rename -uid "5C29EAA8-4AF4-8EC5-BDE6-F08904615876"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -10482,13 +10488,13 @@ createNode transform -n "finger_R1_blade" -p "finger_R1_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999889 0.999999999999999 0.99999999999999978 ; + setAttr ".s" -type "double3" 1 0.99999999999999967 1.0000000000000002 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_R1_bladeShape" -p "finger_R1_blade"; - rename -uid "ECA0D287-42A5-F172-5A64-BDBE3202E07E"; + rename -uid "1047D88B-46CC-8D88-6E8C-1CA773453EEF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10498,12 +10504,12 @@ createNode nurbsCurve -n "finger_R1_bladeShape" -p "finger_R1_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970855 0 0 - 0 0.2585933649132362 0 + 0.7757800947397071 0 0 + 0 0.2585933649132357 0 0 0 0 ; -createNode aimConstraint -n "finger_R1_blade_aimConstraint4" -p "finger_R1_blade"; - rename -uid "26650C56-4551-E3B3-3544-F28A380B9EBE"; +createNode aimConstraint -n "finger_R1_blade_aimConstraint2" -p "finger_R1_blade"; + rename -uid "08EAAFA1-4340-3E96-7E98-ABABB1500FB3"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_R1_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -10519,8 +10525,8 @@ createNode aimConstraint -n "finger_R1_blade_aimConstraint4" -p "finger_R1_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_R1_blade_pointConstraint4" -p "finger_R1_blade"; - rename -uid "C726341A-437A-E215-9C91-5D96D41436D6"; +createNode pointConstraint -n "finger_R1_blade_pointConstraint2" -p "finger_R1_blade"; + rename -uid "1EF44F14-46C8-E41D-EA6E-5A8EF755AA13"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_R1_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -10534,22 +10540,22 @@ createNode pointConstraint -n "finger_R1_blade_pointConstraint4" -p "finger_R1_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 1.7763568394002505e-015 0 6.6613381477509392e-016 ; + setAttr ".rst" -type "double3" -1.7763568394002505e-015 0 0 ; setAttr -k on ".w0"; createNode transform -n "finger_R1_crv" -p "finger_R1_root"; - rename -uid "D6D52165-4ABD-7676-50E4-5091DD922D90"; + rename -uid "69BE8723-42E9-769A-DAA8-048110CBA924"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 11.222433225153177 -28.040620010901328 1.1418187531091266 ; - setAttr ".r" -type "double3" 174.15150560514525 -9.9768879508742767 -125.88865264712163 ; - setAttr ".s" -type "double3" 2.6320983106786109 2.6320983106785985 -2.6320983106786064 ; + setAttr ".t" -type "double3" 11.222433225153221 -28.040620010901357 1.1418187531087722 ; + setAttr ".r" -type "double3" 174.15150560514482 -9.9768879508736816 -125.88865264712157 ; + setAttr ".s" -type "double3" 2.6320983106786127 2.6320983106786024 -2.6320983106786091 ; createNode nurbsCurve -n "finger_R1_crvShape" -p "finger_R1_crv"; - rename -uid "64ABEF08-457D-4E0C-CD4E-E79A12645B16"; + rename -uid "AFAD804A-45B0-B53F-24EF-4ABDDC918E56"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_R1_crvShapeOrig" -p "finger_R1_crv"; - rename -uid "79887E7F-402E-01AC-0C45-499CDEEB3A55"; + rename -uid "8280A8EC-4E07-2F63-8E08-50B29162F2FB"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -10562,7 +10568,7 @@ createNode nurbsCurve -n "finger_R1_crvShapeOrig" -p "finger_R1_crv"; 0 0 0 ; createNode transform -n "meta_R0_blade" -p "meta_R0_root"; - rename -uid "30E27998-4DD3-DDC5-53DA-8F9395C0A823"; + rename -uid "B72E4043-48A0-A9B6-F62F-299E73520FF4"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -10572,13 +10578,13 @@ createNode transform -n "meta_R0_blade" -p "meta_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999967 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999956 0.99999999999999833 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "meta_R0_bladeShape" -p "meta_R0_blade"; - rename -uid "E85E1ACA-46F8-6074-1CA1-5789EFF61688"; + rename -uid "DA66C139-46FA-A17D-2471-16890ADE9123"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10588,12 +10594,12 @@ createNode nurbsCurve -n "meta_R0_bladeShape" -p "meta_R0_blade"; 4 0 1 2 3 4 0 0 0 - 0.18503232649030144 0 0 - 0 0.061677442163433814 0 + 0.18503232649030155 0 0 + 0 0.061677442163433849 0 0 0 0 ; -createNode aimConstraint -n "meta_R0_blade_aimConstraint4" -p "meta_R0_blade"; - rename -uid "635FDB8B-4474-9BBE-70DB-5CB401667586"; +createNode aimConstraint -n "meta_R0_blade_aimConstraint2" -p "meta_R0_blade"; + rename -uid "EFA7C40A-48BC-62FE-6CB4-F6AED963AA4E"; addAttr -dcb 0 -ci true -sn "w0" -ln "meta_R0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -10609,8 +10615,8 @@ createNode aimConstraint -n "meta_R0_blade_aimConstraint4" -p "meta_R0_blade"; setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "meta_R0_blade_pointConstraint4" -p "meta_R0_blade"; - rename -uid "666314DB-4D42-6B57-6CB0-328E61680BC5"; +createNode pointConstraint -n "meta_R0_blade_pointConstraint2" -p "meta_R0_blade"; + rename -uid "08B060FC-4887-E960-7E6F-269BCAB099AD"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "meta_R0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -10624,22 +10630,22 @@ createNode pointConstraint -n "meta_R0_blade_pointConstraint4" -p "meta_R0_blade setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 0 -1.7763568394002505e-015 ; + setAttr ".rst" -type "double3" 0 7.1054273576010019e-015 -3.5527136788005009e-015 ; setAttr -k on ".w0"; createNode transform -n "meta_R0_crv" -p "meta_R0_root"; - rename -uid "843BA030-4FD9-3989-0ED1-26B52DD3DADA"; + rename -uid "9D50BA4B-4D4D-E3A4-C7B9-B9BFD4A4FBE1"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 3.8070066058400256 -38.076493243284922 11.714163621936679 ; - setAttr ".r" -type "double3" -98.404354317568433 44.654258545702419 -90.724179884703631 ; - setAttr ".s" -type "double3" 3.4032157947041304 3.4032157947041162 -3.4032157947041273 ; + setAttr ".t" -type "double3" 3.8070066058400012 -38.076493243284936 11.7141636219365 ; + setAttr ".r" -type "double3" -98.404354317568405 44.654258545702575 -90.724179884703659 ; + setAttr ".s" -type "double3" 3.4032157947041273 3.4032157947041131 -3.4032157947041233 ; createNode nurbsCurve -n "meta_R0_crvShape" -p "meta_R0_crv"; - rename -uid "3AC4A7CD-41CA-F979-0DD4-5481BE9F8BA6"; + rename -uid "60F60E37-4C0E-0D22-1280-C1BB5376240F"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "meta_R0_crvShapeOrig" -p "meta_R0_crv"; - rename -uid "AA8C90DA-464F-A640-6172-42966624DAB0"; + rename -uid "0D533335-499D-CBBA-D03B-FDA7E5AC7A70"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -10652,7 +10658,7 @@ createNode nurbsCurve -n "meta_R0_crvShapeOrig" -p "meta_R0_crv"; 0 0 0 ; createNode transform -n "finger_R0_root" -p "meta_R0_root"; - rename -uid "0264C2C3-4AAD-FA17-B720-B8979F05EEBF"; + rename -uid "AAE23DCA-49F7-CF54-3E82-DBB6E0106F82"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -10662,22 +10668,22 @@ createNode transform -n "finger_R0_root" -p "meta_R0_root"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.1840372367976304 -0.30586006047048642 2.761423395950569 ; + setAttr ".t" -type "double3" -0.18403723679763262 -0.3058600604704651 2.7614233959505476 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 150.01356893808511 -71.606679450097744 -133.79382708613403 ; + setAttr ".r" -type "double3" 150.01356893808409 -71.60667945009763 -133.79382708613363 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.2929668245661814 1.2929668245661798 1.2929668245661825 ; + setAttr ".s" -type "double3" 1.2929668245661787 1.2929668245661794 1.2929668245661818 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -10687,12 +10693,9 @@ createNode transform -n "finger_R0_root" -p "meta_R0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "finger_R0_rootShape" -p "finger_R0_root"; - rename -uid "0A587E83-4B57-DEA6-2271-D99CC329951D"; + rename -uid "6D92965C-4203-CA9D-FC57-7889757C5626"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10704,8 +10707,8 @@ createNode nurbsCurve -n "finger_R0_rootShape" -p "finger_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R0_root10Shape" -p "finger_R0_root"; - rename -uid "66EB35C2-4993-4392-C838-74B87454B2B4"; +createNode nurbsCurve -n "finger_R0_root4Shape" -p "finger_R0_root"; + rename -uid "528C7771-47C2-E1C2-A05B-FA8B75CB1370"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10717,8 +10720,8 @@ createNode nurbsCurve -n "finger_R0_root10Shape" -p "finger_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R0_root11Shape" -p "finger_R0_root"; - rename -uid "F1BF3F25-43D0-A79E-6CEA-AC858F13D287"; +createNode nurbsCurve -n "finger_R0_root5Shape" -p "finger_R0_root"; + rename -uid "A25C7465-4CD7-10C9-E6D4-2090A87C4909"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10730,8 +10733,8 @@ createNode nurbsCurve -n "finger_R0_root11Shape" -p "finger_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R0_root12Shape" -p "finger_R0_root"; - rename -uid "ACDEDF38-4A5E-EBF0-0B0B-1F89BE937A99"; +createNode nurbsCurve -n "finger_R0_root6Shape" -p "finger_R0_root"; + rename -uid "8B6F4D6A-47F0-1311-1646-5DACE25EF60F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10758,10 +10761,10 @@ createNode nurbsCurve -n "finger_R0_root12Shape" -p "finger_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "finger_R0_0_loc" -p "finger_R0_root"; - rename -uid "99A0FB46-47A4-E2EF-5101-83A010F3D7EF"; + rename -uid "AC9DD948-4860-3D8C-F109-9082C77819E7"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.0000000000000178 1.0658141036401503e-014 6.2172489379008766e-015 ; + setAttr ".t" -type "double3" 1.0000000000000053 -3.5527136788005009e-015 4.4408920985006262e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -10769,12 +10772,12 @@ createNode transform -n "finger_R0_0_loc" -p "finger_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999811 0.99999999999999978 0.99999999999999933 ; + setAttr ".s" -type "double3" 0.99999999999999833 0.99999999999999889 0.99999999999999867 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R0_0_locShape" -p "finger_R0_0_loc"; - rename -uid "532A4571-464C-DE39-BC14-3EBAD6834F44"; + rename -uid "01B7DA7F-4034-5B39-AA65-3A8E2CF3B38F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10786,8 +10789,8 @@ createNode nurbsCurve -n "finger_R0_0_locShape" -p "finger_R0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R0_0_loc10Shape" -p "finger_R0_0_loc"; - rename -uid "726EF14D-44CD-635E-0377-05B491D1A732"; +createNode nurbsCurve -n "finger_R0_0_loc4Shape" -p "finger_R0_0_loc"; + rename -uid "A4F47940-4D0B-7CA1-8AB5-949671E6FFAD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10799,8 +10802,8 @@ createNode nurbsCurve -n "finger_R0_0_loc10Shape" -p "finger_R0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R0_0_loc11Shape" -p "finger_R0_0_loc"; - rename -uid "DFA58B53-40F6-5923-0815-82AEE9230890"; +createNode nurbsCurve -n "finger_R0_0_loc5Shape" -p "finger_R0_0_loc"; + rename -uid "650F1FA0-41BA-87FE-E8FA-3D98A3051041"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10812,8 +10815,8 @@ createNode nurbsCurve -n "finger_R0_0_loc11Shape" -p "finger_R0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R0_0_loc12Shape" -p "finger_R0_0_loc"; - rename -uid "03D1A12F-4940-AF7E-EB40-678F9A60D160"; +createNode nurbsCurve -n "finger_R0_0_loc6Shape" -p "finger_R0_0_loc"; + rename -uid "7F30C39B-46CF-F8B4-52CB-4791BF016713"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10830,8 +10833,8 @@ createNode nurbsCurve -n "finger_R0_0_loc12Shape" -p "finger_R0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R0_0_loc12_0crvShape" -p "finger_R0_0_loc"; - rename -uid "F0D97C11-4F2B-96B4-6719-EBA4C68715AE"; +createNode nurbsCurve -n "finger_R0_0_loc6_0crvShape" -p "finger_R0_0_loc"; + rename -uid "51D20020-4206-2517-B071-939C399EDBB2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10848,8 +10851,8 @@ createNode nurbsCurve -n "finger_R0_0_loc12_0crvShape" -p "finger_R0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R0_0_loc12_1crvShape" -p "finger_R0_0_loc"; - rename -uid "203BFD0A-46E3-A6E7-33DB-AA9EE39FCD48"; +createNode nurbsCurve -n "finger_R0_0_loc6_1crvShape" -p "finger_R0_0_loc"; + rename -uid "65CAD3DD-45BE-90BC-C6F8-958A0E3A8D05"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10867,10 +10870,10 @@ createNode nurbsCurve -n "finger_R0_0_loc12_1crvShape" -p "finger_R0_0_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R0_1_loc" -p "finger_R0_0_loc"; - rename -uid "C74786F3-478D-A7EB-9AB6-4E95713B0F2D"; + rename -uid "D00CE33A-4B34-D4E4-F7E9-D2B5E56DEDBD"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.80442008080925653 -1.7763568394002505e-014 -4.4408920985006262e-016 ; + setAttr ".t" -type "double3" 0.80442008080928318 -7.1054273576010019e-015 8.8817841970012523e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -10878,12 +10881,12 @@ createNode transform -n "finger_R0_1_loc" -p "finger_R0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000009 0.99999999999999978 0.99999999999999922 ; + setAttr ".s" -type "double3" 1.0000000000000016 1.0000000000000009 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R0_1_locShape" -p "finger_R0_1_loc"; - rename -uid "146D016E-4776-B175-4466-398E181BA7AD"; + rename -uid "7C62E544-436E-FA0A-8E25-ADA181AE4FB9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10895,8 +10898,8 @@ createNode nurbsCurve -n "finger_R0_1_locShape" -p "finger_R0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R0_1_loc10Shape" -p "finger_R0_1_loc"; - rename -uid "3CE0F637-4E72-6101-0522-ABBE51A0D9EC"; +createNode nurbsCurve -n "finger_R0_1_loc4Shape" -p "finger_R0_1_loc"; + rename -uid "A8949E6C-42D7-3468-1B40-BEA0DA557D79"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10908,8 +10911,8 @@ createNode nurbsCurve -n "finger_R0_1_loc10Shape" -p "finger_R0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R0_1_loc11Shape" -p "finger_R0_1_loc"; - rename -uid "504A363B-4872-82DC-1766-0AB9C4023BE9"; +createNode nurbsCurve -n "finger_R0_1_loc5Shape" -p "finger_R0_1_loc"; + rename -uid "77C637D0-4A70-2B90-E40A-52920EE55330"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10921,8 +10924,8 @@ createNode nurbsCurve -n "finger_R0_1_loc11Shape" -p "finger_R0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R0_1_loc12Shape" -p "finger_R0_1_loc"; - rename -uid "EFF4357E-4708-7C0F-0F9C-9CAA2D5DE245"; +createNode nurbsCurve -n "finger_R0_1_loc6Shape" -p "finger_R0_1_loc"; + rename -uid "1CDA2E15-4E89-B910-AC2E-C28082E2954E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10939,8 +10942,8 @@ createNode nurbsCurve -n "finger_R0_1_loc12Shape" -p "finger_R0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R0_1_loc12_0crvShape" -p "finger_R0_1_loc"; - rename -uid "896C9CF2-4BA5-FC30-8B88-E5BB63EF3D3F"; +createNode nurbsCurve -n "finger_R0_1_loc6_0crvShape" -p "finger_R0_1_loc"; + rename -uid "C5D944E9-4738-472C-1AAD-0AAF8A8428C9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10957,8 +10960,8 @@ createNode nurbsCurve -n "finger_R0_1_loc12_0crvShape" -p "finger_R0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R0_1_loc12_1crvShape" -p "finger_R0_1_loc"; - rename -uid "856589BA-4168-4CFB-0A9F-A2870A6FF7D3"; +createNode nurbsCurve -n "finger_R0_1_loc6_1crvShape" -p "finger_R0_1_loc"; + rename -uid "276B1B89-4E91-0F89-763D-9484878D4655"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -10976,10 +10979,10 @@ createNode nurbsCurve -n "finger_R0_1_loc12_1crvShape" -p "finger_R0_1_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R0_2_loc" -p "finger_R0_1_loc"; - rename -uid "3CC3C7CF-4E71-4744-F700-BCA0C605EF39"; + rename -uid "93FF5B87-4176-0728-DA2B-B198BADEB30F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.5843137039236872 1.7763568394002505e-014 -7.5495165674510645e-015 ; + setAttr ".t" -type "double3" 0.58431370392367654 2.1316282072803006e-014 -3.9968028886505635e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -10987,12 +10990,12 @@ createNode transform -n "finger_R0_2_loc" -p "finger_R0_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999911 1.0000000000000002 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999922 1 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "finger_R0_2_locShape" -p "finger_R0_2_loc"; - rename -uid "BE4EF769-4F52-A50C-AEB8-239DC6FA9FB6"; + rename -uid "B86AB01F-4B48-A0CF-25A1-F594ACEC07E4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11004,8 +11007,8 @@ createNode nurbsCurve -n "finger_R0_2_locShape" -p "finger_R0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "finger_R0_2_loc10Shape" -p "finger_R0_2_loc"; - rename -uid "C41C81A1-44B2-92D5-9B0F-CF9FA906D737"; +createNode nurbsCurve -n "finger_R0_2_loc4Shape" -p "finger_R0_2_loc"; + rename -uid "BCD5588F-44AB-CDF6-C0FF-AA9F73EA40BC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11017,8 +11020,8 @@ createNode nurbsCurve -n "finger_R0_2_loc10Shape" -p "finger_R0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "finger_R0_2_loc11Shape" -p "finger_R0_2_loc"; - rename -uid "6355F1B3-4E4C-5695-74C2-C99BD3A9E0E6"; +createNode nurbsCurve -n "finger_R0_2_loc5Shape" -p "finger_R0_2_loc"; + rename -uid "6AC607F4-4ACC-14FB-24F9-DBB0D02F4C06"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11030,8 +11033,8 @@ createNode nurbsCurve -n "finger_R0_2_loc11Shape" -p "finger_R0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "finger_R0_2_loc12Shape" -p "finger_R0_2_loc"; - rename -uid "F0C9D086-4CA3-F832-0FDF-F2B4D5121C3E"; +createNode nurbsCurve -n "finger_R0_2_loc6Shape" -p "finger_R0_2_loc"; + rename -uid "E619F236-4FDC-D2B4-0313-84A6D2A5FDFC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11048,8 +11051,8 @@ createNode nurbsCurve -n "finger_R0_2_loc12Shape" -p "finger_R0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R0_2_loc12_0crvShape" -p "finger_R0_2_loc"; - rename -uid "DEE4FC07-4DD7-A1AE-5EFF-BFAC27695149"; +createNode nurbsCurve -n "finger_R0_2_loc6_0crvShape" -p "finger_R0_2_loc"; + rename -uid "D6CBA392-4923-69B4-6DC1-188679D8C8C1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11066,8 +11069,8 @@ createNode nurbsCurve -n "finger_R0_2_loc12_0crvShape" -p "finger_R0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "finger_R0_2_loc12_1crvShape" -p "finger_R0_2_loc"; - rename -uid "88F48BFD-426D-2583-E5C0-D296ED355B27"; +createNode nurbsCurve -n "finger_R0_2_loc6_1crvShape" -p "finger_R0_2_loc"; + rename -uid "6348317F-4E0F-EF4C-6DCD-629AE397F4EA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11085,7 +11088,7 @@ createNode nurbsCurve -n "finger_R0_2_loc12_1crvShape" -p "finger_R0_2_loc"; 0 0 -0.1875 ; createNode transform -n "finger_R0_blade" -p "finger_R0_root"; - rename -uid "B9B83662-4B24-2520-264A-768046DAA002"; + rename -uid "FA7586A4-4897-E26C-CC10-15A6F602D3E4"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -11095,13 +11098,13 @@ createNode transform -n "finger_R0_blade" -p "finger_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999811 0.99999999999999978 0.99999999999999933 ; + setAttr ".s" -type "double3" 0.99999999999999833 0.99999999999999889 0.99999999999999867 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "finger_R0_bladeShape" -p "finger_R0_blade"; - rename -uid "FE00019E-4F08-FCC8-DA9C-908156933DBE"; + rename -uid "13C6030A-4E6E-CFF8-6D66-C2BE7E53C27E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11111,12 +11114,12 @@ createNode nurbsCurve -n "finger_R0_bladeShape" -p "finger_R0_blade"; 4 0 1 2 3 4 0 0 0 - 0.77578009473970877 0 0 - 0 0.25859336491323626 0 + 0.77578009473970722 0 0 + 0 0.25859336491323576 0 0 0 0 ; -createNode aimConstraint -n "finger_R0_blade_aimConstraint4" -p "finger_R0_blade"; - rename -uid "4557C1E9-425B-B767-72C0-72ABB0E2C88C"; +createNode aimConstraint -n "finger_R0_blade_aimConstraint2" -p "finger_R0_blade"; + rename -uid "E66015EC-4D42-78B0-1DD6-038302A413BD"; addAttr -dcb 0 -ci true -sn "w0" -ln "finger_R0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -11132,8 +11135,8 @@ createNode aimConstraint -n "finger_R0_blade_aimConstraint4" -p "finger_R0_blade setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "finger_R0_blade_pointConstraint4" -p "finger_R0_blade"; - rename -uid "8062ECEC-4E99-5976-53BA-328334045C3B"; +createNode pointConstraint -n "finger_R0_blade_pointConstraint2" -p "finger_R0_blade"; + rename -uid "002C036A-473F-657E-1E62-0189EBBCA5A4"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "finger_R0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -11147,23 +11150,22 @@ createNode pointConstraint -n "finger_R0_blade_pointConstraint4" -p "finger_R0_b setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 1.7763568394002505e-015 -3.5527136788005009e-015 - 0 ; + setAttr ".rst" -type "double3" 1.7763568394002505e-015 3.5527136788005009e-015 -4.4408920985006262e-016 ; setAttr -k on ".w0"; createNode transform -n "finger_R0_crv" -p "finger_R0_root"; - rename -uid "90D9D410-4701-3FED-F7D1-D0A69F0DE6FB"; + rename -uid "32F1EB11-4F4C-EB35-87AC-2787473096E5"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 12.549990763713101 -27.33600805718115 2.4648652761301859 ; - setAttr ".r" -type "double3" 170.83456651198151 -22.111176212556135 -122.87938490445497 ; - setAttr ".s" -type "double3" 2.63209831067861 2.632098310678598 -2.6320983106786033 ; + setAttr ".t" -type "double3" 12.549990763713105 -27.336008057181196 2.4648652761299221 ; + setAttr ".r" -type "double3" 170.83456651198122 -22.111176212555637 -122.87938490445489 ; + setAttr ".s" -type "double3" 2.6320983106786091 2.6320983106785993 -2.632098310678602 ; createNode nurbsCurve -n "finger_R0_crvShape" -p "finger_R0_crv"; - rename -uid "28391D55-4A81-894C-8477-1D81420A7CE6"; + rename -uid "A21D815D-45D6-8F33-CB59-EF8AD4031525"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "finger_R0_crvShapeOrig" -p "finger_R0_crv"; - rename -uid "3C6D3A61-4B33-CC02-BDB4-8AAF22A3FCF0"; + rename -uid "8A07BAAC-4EEA-BC3B-E8EC-64901999684A"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -11176,7 +11178,7 @@ createNode nurbsCurve -n "finger_R0_crvShapeOrig" -p "finger_R0_crv"; 0 0 0 ; createNode transform -n "thumbRoll_R0_root" -p "meta_R0_root"; - rename -uid "123D5036-494C-70EC-A547-04858A7CA51C"; + rename -uid "6E1DDE1E-440A-D87E-CE58-C6A1812668E6"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -11189,32 +11191,33 @@ createNode transform -n "thumbRoll_R0_root" -p "meta_R0_root"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 0.7 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.21303623709073749 -0.22489125789801534 0.13070337452154313 ; + setAttr ".t" -type "double3" 0.21303623709073394 -0.22489125789798692 0.13070337452153069 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" -5.7735227848336113 -84.001563523230956 11.009204406912341 ; + setAttr ".r" -type "double3" -5.7735227848313926 -84.001563523231013 11.009204406910072 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 3.4032157947041344 3.4032157947041166 3.4032157947041259 ; + setAttr ".s" -type "double3" 3.4032157947041268 3.4032157947041157 3.4032157947041233 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -11226,20 +11229,8 @@ createNode transform -n "thumbRoll_R0_root" -p "meta_R0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "sphere"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".k_sx" yes; - setAttr ".k_sy" yes; - setAttr ".k_sz" yes; - setAttr ".ctlSize" 0.7; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "thumbRoll_R0_rootShape" -p "thumbRoll_R0_root"; - rename -uid "E706B0AA-4F02-5594-14E0-D9B384777C33"; + rename -uid "3ED4F6C5-42A0-929B-708E-AA86B2579A8C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11251,8 +11242,8 @@ createNode nurbsCurve -n "thumbRoll_R0_rootShape" -p "thumbRoll_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumbRoll_R0_root10Shape" -p "thumbRoll_R0_root"; - rename -uid "EE9FF6C2-494F-9436-7549-EBABA6BCB901"; +createNode nurbsCurve -n "thumbRoll_R0_root4Shape" -p "thumbRoll_R0_root"; + rename -uid "1E16621D-44B1-8B53-D5AC-4BB56215FE35"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11264,8 +11255,8 @@ createNode nurbsCurve -n "thumbRoll_R0_root10Shape" -p "thumbRoll_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumbRoll_R0_root11Shape" -p "thumbRoll_R0_root"; - rename -uid "587B2EC6-4B8C-5D0B-1AFC-91AFBF51DD20"; +createNode nurbsCurve -n "thumbRoll_R0_root5Shape" -p "thumbRoll_R0_root"; + rename -uid "DBBD629F-4E8E-2CDB-3C95-38BEEF9D05BC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11277,8 +11268,8 @@ createNode nurbsCurve -n "thumbRoll_R0_root11Shape" -p "thumbRoll_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumbRoll_R0_root12Shape" -p "thumbRoll_R0_root"; - rename -uid "34315271-4798-FA65-1DB2-B693B0FFB203"; +createNode nurbsCurve -n "thumbRoll_R0_root6Shape" -p "thumbRoll_R0_root"; + rename -uid "093BA305-4181-46C5-934B-C692C529BC39"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11305,24 +11296,24 @@ createNode nurbsCurve -n "thumbRoll_R0_root12Shape" -p "thumbRoll_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "thumbRoll_R0_sizeRef" -p "thumbRoll_R0_root"; - rename -uid "41E91C40-4257-7FEC-214C-A8B7AD6AEB2E"; + rename -uid "6FE82DD8-4831-548A-24DF-09AE91D6B976"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -8.8817841970012523e-016 4.0856207306205761e-014 1.0000000000000002 ; + setAttr ".t" -type "double3" 2.2204460492503131e-015 4.0856207306205761e-014 0.99999999999999956 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 180.00000000000159 44.430829212205644 ; + setAttr ".r" -type "double3" 0 0 44.430829212205637 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000016 0.99999999999999745 -1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000013 0.99999999999999745 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "thumb_R0_root" -p "thumbRoll_R0_root"; - rename -uid "4B8D4BCB-411C-65B0-1327-3095908F1282"; + rename -uid "25A6DC43-4A26-0DC6-96E9-51BD4B9BD15E"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -11332,22 +11323,22 @@ createNode transform -n "thumb_R0_root" -p "thumbRoll_R0_root"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 3.5527136788005009e-015 -1.7763568394002505e-015 4.9960036108132044e-016 ; + setAttr ".t" -type "double3" 2.6645352591003757e-015 0 3.8857805861880479e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 110.8010863191307 -43.900240512232457 -37.623269198287836 ; + setAttr ".r" -type "double3" 110.80108631913072 -43.900240512232436 -37.623269198287858 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.489364347035111 0.48936434703510961 0.48936434703511195 ; + setAttr ".s" -type "double3" 0.48936434703511078 0.48936434703510989 0.48936434703511139 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -11357,12 +11348,9 @@ createNode transform -n "thumb_R0_root" -p "thumbRoll_R0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" ""; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "thumb_R0_rootShape" -p "thumb_R0_root"; - rename -uid "1B549365-4290-CEDF-0B28-CCBB74E1B970"; + rename -uid "766ECEC5-48FF-B526-ACC2-BB949AC2D0EE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11374,8 +11362,8 @@ createNode nurbsCurve -n "thumb_R0_rootShape" -p "thumb_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_R0_root10Shape" -p "thumb_R0_root"; - rename -uid "1E342236-46DA-3AA9-2540-A89BC4012FB7"; +createNode nurbsCurve -n "thumb_R0_root4Shape" -p "thumb_R0_root"; + rename -uid "3A881A6F-4B46-0CC9-F580-54A08EEA922A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11387,8 +11375,8 @@ createNode nurbsCurve -n "thumb_R0_root10Shape" -p "thumb_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_R0_root11Shape" -p "thumb_R0_root"; - rename -uid "E3701EBD-43A1-08FC-9E2D-26B57446BAF2"; +createNode nurbsCurve -n "thumb_R0_root5Shape" -p "thumb_R0_root"; + rename -uid "6D48528B-4C73-F253-C54C-B2BB4839F3E1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11400,8 +11388,8 @@ createNode nurbsCurve -n "thumb_R0_root11Shape" -p "thumb_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_R0_root12Shape" -p "thumb_R0_root"; - rename -uid "0833510B-4ED5-7863-FE2A-188BEFFB9E76"; +createNode nurbsCurve -n "thumb_R0_root6Shape" -p "thumb_R0_root"; + rename -uid "781F571D-44B8-E5AA-1DA4-2B87BC3897BB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11428,24 +11416,24 @@ createNode nurbsCurve -n "thumb_R0_root12Shape" -p "thumb_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "thumb_R0_0_loc" -p "thumb_R0_root"; - rename -uid "66950EE1-4079-3FF5-9D49-99A2DA75EEB1"; + rename -uid "747C3445-4961-75D2-C3C1-82A37FA07BA2"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.86054350703469851 0.0024095775966941346 -3.5527136788005009e-015 ; + setAttr ".t" -type "double3" 0.86054350703470206 0.002409577596695911 -7.1054273576010019e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 0 -4.2384257498060753 ; + setAttr ".r" -type "double3" 0 0 -4.2384257498060656 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999922 0.99999999999999922 0.99999999999999956 ; + setAttr ".s" -type "double3" 0.999999999999999 0.99999999999999978 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "thumb_R0_0_locShape" -p "thumb_R0_0_loc"; - rename -uid "3BF3BF84-4950-3C65-8571-5F893D74015E"; + rename -uid "8641E949-4C90-B6AA-0B9A-9DB77F178468"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11457,8 +11445,8 @@ createNode nurbsCurve -n "thumb_R0_0_locShape" -p "thumb_R0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_R0_0_loc10Shape" -p "thumb_R0_0_loc"; - rename -uid "DC80FD5C-4309-FE51-C994-36B1E9F715CA"; +createNode nurbsCurve -n "thumb_R0_0_loc4Shape" -p "thumb_R0_0_loc"; + rename -uid "8DE8C2FE-4630-CCBD-70E4-C8A570469097"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11470,8 +11458,8 @@ createNode nurbsCurve -n "thumb_R0_0_loc10Shape" -p "thumb_R0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_R0_0_loc11Shape" -p "thumb_R0_0_loc"; - rename -uid "E8D7D5B8-4373-C8CF-6B98-14906195B9DF"; +createNode nurbsCurve -n "thumb_R0_0_loc5Shape" -p "thumb_R0_0_loc"; + rename -uid "EB8FDE87-4B53-434E-60E9-13BEE085F138"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11483,8 +11471,8 @@ createNode nurbsCurve -n "thumb_R0_0_loc11Shape" -p "thumb_R0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_R0_0_loc12Shape" -p "thumb_R0_0_loc"; - rename -uid "9D7F0300-4859-EBA3-50AB-25842321E6F7"; +createNode nurbsCurve -n "thumb_R0_0_loc6Shape" -p "thumb_R0_0_loc"; + rename -uid "8394A900-4413-B6F1-4C5C-9DA06105ED44"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11501,8 +11489,8 @@ createNode nurbsCurve -n "thumb_R0_0_loc12Shape" -p "thumb_R0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_R0_0_loc12_0crvShape" -p "thumb_R0_0_loc"; - rename -uid "6FF7243F-4483-8B98-5F83-4687933CF133"; +createNode nurbsCurve -n "thumb_R0_0_loc6_0crvShape" -p "thumb_R0_0_loc"; + rename -uid "E32346FB-4EBB-F90B-2F41-64956AADC2E8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11519,8 +11507,8 @@ createNode nurbsCurve -n "thumb_R0_0_loc12_0crvShape" -p "thumb_R0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_R0_0_loc12_1crvShape" -p "thumb_R0_0_loc"; - rename -uid "B3302B82-4B4E-9F54-E55A-4AA2F150325F"; +createNode nurbsCurve -n "thumb_R0_0_loc6_1crvShape" -p "thumb_R0_0_loc"; + rename -uid "7087149B-4E57-81C0-D2E1-C68B8A41B67B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11538,10 +11526,10 @@ createNode nurbsCurve -n "thumb_R0_0_loc12_1crvShape" -p "thumb_R0_0_loc"; 0 0 -0.1875 ; createNode transform -n "thumb_R0_1_loc" -p "thumb_R0_0_loc"; - rename -uid "9216C108-4430-DC80-D16B-CDAD2B4636AD"; + rename -uid "3718944B-4FE5-729A-2109-249C73B279FB"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.76442580145521077 -3.5527136788005009e-015 2.1316282072803006e-014 ; + setAttr ".t" -type "double3" 0.764425801455209 1.7763568394002505e-015 2.1316282072803006e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -11549,12 +11537,12 @@ createNode transform -n "thumb_R0_1_loc" -p "thumb_R0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1 0.99999999999999933 ; + setAttr ".s" -type "double3" 0.99999999999999956 0.99999999999999911 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "thumb_R0_1_locShape" -p "thumb_R0_1_loc"; - rename -uid "79CBB4FF-48FE-D73A-99C6-6F829E39F140"; + rename -uid "AA6E99E8-42B5-EB38-8D13-80B19E697CF4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11566,8 +11554,8 @@ createNode nurbsCurve -n "thumb_R0_1_locShape" -p "thumb_R0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_R0_1_loc10Shape" -p "thumb_R0_1_loc"; - rename -uid "ECB129DE-4864-46A4-4BA5-E489E0B7924B"; +createNode nurbsCurve -n "thumb_R0_1_loc4Shape" -p "thumb_R0_1_loc"; + rename -uid "27F47601-4402-B838-A90E-8F903196D751"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11579,8 +11567,8 @@ createNode nurbsCurve -n "thumb_R0_1_loc10Shape" -p "thumb_R0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_R0_1_loc11Shape" -p "thumb_R0_1_loc"; - rename -uid "B22EBCFF-4440-C954-9DC8-3B8378908B5F"; +createNode nurbsCurve -n "thumb_R0_1_loc5Shape" -p "thumb_R0_1_loc"; + rename -uid "A83E5E22-43BF-D7AD-A9B2-99979AF00E8E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11592,8 +11580,8 @@ createNode nurbsCurve -n "thumb_R0_1_loc11Shape" -p "thumb_R0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_R0_1_loc12Shape" -p "thumb_R0_1_loc"; - rename -uid "F5984D20-42BA-B4F0-4C24-A99ADE479519"; +createNode nurbsCurve -n "thumb_R0_1_loc6Shape" -p "thumb_R0_1_loc"; + rename -uid "BBAAC151-4DFB-A5F4-7FA7-FCAEE06F2462"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11610,8 +11598,8 @@ createNode nurbsCurve -n "thumb_R0_1_loc12Shape" -p "thumb_R0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_R0_1_loc12_0crvShape" -p "thumb_R0_1_loc"; - rename -uid "38D4C196-4CF9-66D8-7CBA-CF8056B4CA15"; +createNode nurbsCurve -n "thumb_R0_1_loc6_0crvShape" -p "thumb_R0_1_loc"; + rename -uid "C50D5C3C-4113-1E53-CD68-5482A09FA2F2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11628,8 +11616,8 @@ createNode nurbsCurve -n "thumb_R0_1_loc12_0crvShape" -p "thumb_R0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_R0_1_loc12_1crvShape" -p "thumb_R0_1_loc"; - rename -uid "F3482B96-41D8-1F0D-7E4C-65B28ED5D546"; +createNode nurbsCurve -n "thumb_R0_1_loc6_1crvShape" -p "thumb_R0_1_loc"; + rename -uid "615371A2-4C23-B9C5-FE7F-E7BAF01F651C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11647,10 +11635,10 @@ createNode nurbsCurve -n "thumb_R0_1_loc12_1crvShape" -p "thumb_R0_1_loc"; 0 0 -0.1875 ; createNode transform -n "thumb_R0_2_loc" -p "thumb_R0_1_loc"; - rename -uid "3DF4D5D7-43B0-3933-45E9-61A2DD2EAE97"; + rename -uid "E8D70256-450E-5C67-767D-D48FB11A2647"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.59482114915510742 9.7699626167013776e-015 -1.0658141036401503e-014 ; + setAttr ".t" -type "double3" 0.59482114915510742 6.2172489379008766e-015 3.5527136788005009e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -11658,12 +11646,12 @@ createNode transform -n "thumb_R0_2_loc" -p "thumb_R0_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1 1.0000000000000009 ; + setAttr ".s" -type "double3" 1 1.0000000000000002 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "thumb_R0_2_locShape" -p "thumb_R0_2_loc"; - rename -uid "03BF7802-4A45-846D-BBA7-36A8109B3567"; + rename -uid "1FD06FA8-4857-E0D8-DBD7-4AA97DAB7A7A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11675,8 +11663,8 @@ createNode nurbsCurve -n "thumb_R0_2_locShape" -p "thumb_R0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "thumb_R0_2_loc10Shape" -p "thumb_R0_2_loc"; - rename -uid "55F1B365-4298-9B14-EF44-C492D78B66D0"; +createNode nurbsCurve -n "thumb_R0_2_loc4Shape" -p "thumb_R0_2_loc"; + rename -uid "C670F9D1-43D8-BC38-A5A4-F28A8EE564FB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11688,8 +11676,8 @@ createNode nurbsCurve -n "thumb_R0_2_loc10Shape" -p "thumb_R0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "thumb_R0_2_loc11Shape" -p "thumb_R0_2_loc"; - rename -uid "31F2B7F4-4EE2-4681-DA99-528A51F88CB4"; +createNode nurbsCurve -n "thumb_R0_2_loc5Shape" -p "thumb_R0_2_loc"; + rename -uid "A02B31B7-4910-0177-3F51-BE8780B893E4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11701,8 +11689,8 @@ createNode nurbsCurve -n "thumb_R0_2_loc11Shape" -p "thumb_R0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "thumb_R0_2_loc12Shape" -p "thumb_R0_2_loc"; - rename -uid "4F48C43C-4940-87A2-D9BE-5BBBFDD514E8"; +createNode nurbsCurve -n "thumb_R0_2_loc6Shape" -p "thumb_R0_2_loc"; + rename -uid "FD33CE21-47DB-AA69-2638-0E8478865545"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11719,8 +11707,8 @@ createNode nurbsCurve -n "thumb_R0_2_loc12Shape" -p "thumb_R0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_R0_2_loc12_0crvShape" -p "thumb_R0_2_loc"; - rename -uid "B4F80CF5-4670-7DB2-1579-29BF4DE2328C"; +createNode nurbsCurve -n "thumb_R0_2_loc6_0crvShape" -p "thumb_R0_2_loc"; + rename -uid "8CBF8B54-4C43-5204-CF91-E8A2073E40E5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11737,8 +11725,8 @@ createNode nurbsCurve -n "thumb_R0_2_loc12_0crvShape" -p "thumb_R0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "thumb_R0_2_loc12_1crvShape" -p "thumb_R0_2_loc"; - rename -uid "73B73536-4FD2-F51B-7CC9-129A92ECF9CA"; +createNode nurbsCurve -n "thumb_R0_2_loc6_1crvShape" -p "thumb_R0_2_loc"; + rename -uid "F750D7ED-4B03-0CB8-0388-4988DB851487"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11756,7 +11744,7 @@ createNode nurbsCurve -n "thumb_R0_2_loc12_1crvShape" -p "thumb_R0_2_loc"; 0 0 -0.1875 ; createNode transform -n "thumb_R0_blade" -p "thumb_R0_root"; - rename -uid "D7246740-4D8A-0854-46F2-35818714A4E5"; + rename -uid "1CB395C4-4C72-7866-77F8-DDA2DB4AFF4F"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -11766,13 +11754,13 @@ createNode transform -n "thumb_R0_blade" -p "thumb_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999833 0.999999999999998 0.99999999999999867 ; + setAttr ".s" -type "double3" 0.99999999999999856 0.99999999999999822 0.99999999999999978 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "thumb_R0_bladeShape" -p "thumb_R0_blade"; - rename -uid "B5FDB6FB-4FF9-E5DE-6C03-92BDA38B1C39"; + rename -uid "C578AA88-473E-A932-7B93-9F9CBCCE5782"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11782,12 +11770,12 @@ createNode nurbsCurve -n "thumb_R0_bladeShape" -p "thumb_R0_blade"; 4 0 1 2 3 4 0 0 0 - 0.29361860822106661 0 0 - 0 0.097872869407022209 0 + 0.29361860822106645 0 0 + 0 0.097872869407022153 0 0 0 0 ; -createNode aimConstraint -n "thumb_R0_blade_aimConstraint4" -p "thumb_R0_blade"; - rename -uid "4994E681-4FA5-8986-112F-37BB816FBF84"; +createNode aimConstraint -n "thumb_R0_blade_aimConstraint2" -p "thumb_R0_blade"; + rename -uid "0F863B04-4EB6-282B-6E28-1F83BEA12B24"; addAttr -dcb 0 -ci true -sn "w0" -ln "thumb_R0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -11802,10 +11790,11 @@ createNode aimConstraint -n "thumb_R0_blade_aimConstraint4" -p "thumb_R0_blade"; setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".rsrr" -type "double3" 3.3116584830426423e-016 2.365420225460605e-013 0.16043147704029556 ; + setAttr ".rsrr" -type "double3" 6.6233169660877251e-016 4.7308404509229538e-013 + 0.16043147704029556 ; setAttr -k on ".w0"; -createNode pointConstraint -n "thumb_R0_blade_pointConstraint4" -p "thumb_R0_blade"; - rename -uid "1C46812E-40BC-A51A-BD41-A9BDC9AC8165"; +createNode pointConstraint -n "thumb_R0_blade_pointConstraint2" -p "thumb_R0_blade"; + rename -uid "E6BCA4A0-4320-8704-4A0E-A19346F085CD"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "thumb_R0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -11819,22 +11808,22 @@ createNode pointConstraint -n "thumb_R0_blade_pointConstraint4" -p "thumb_R0_bla setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 -8.8817841970012523e-016 3.5527136788005009e-015 ; + setAttr ".rst" -type "double3" 0 -8.8817841970012523e-016 0 ; setAttr -k on ".w0"; createNode transform -n "thumb_R0_crv" -p "thumb_R0_root"; - rename -uid "377A3ECE-40FA-926B-E518-2D941C87E89A"; + rename -uid "34B5642F-4689-C0E1-82EE-1BA3A7CF18A4"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 14.330153889042867 -7.0737929587543151 17.725867635512827 ; - setAttr ".r" -type "double3" -55.556977946373244 -63.100734454449544 102.71864583729831 ; - setAttr ".s" -type "double3" 2.0434672163157246 2.0434672163157197 -2.0434672163157264 ; + setAttr ".t" -type "double3" 14.330153889042872 -7.0737929587543267 17.725867635512838 ; + setAttr ".r" -type "double3" -55.556977946373252 -63.100734454449608 102.71864583729831 ; + setAttr ".s" -type "double3" 2.0434672163157264 2.0434672163157197 -2.0434672163157255 ; createNode nurbsCurve -n "thumb_R0_crvShape" -p "thumb_R0_crv"; - rename -uid "3C01BECF-4454-FE53-42DF-2BA4F9DBBFF9"; + rename -uid "2CF2C629-4C66-D4D2-764C-B6809E0FD00D"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "thumb_R0_crvShapeOrig" -p "thumb_R0_crv"; - rename -uid "2233CDD5-45C9-3AF9-463A-E5A2E1252CB7"; + rename -uid "4A29B0C4-4465-A009-FCD4-7A80CFF86F7B"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -11847,19 +11836,19 @@ createNode nurbsCurve -n "thumb_R0_crvShapeOrig" -p "thumb_R0_crv"; 0 0 0 ; createNode transform -n "arm_R0_crv" -p "arm_R0_root"; - rename -uid "7A939C10-4A88-01FC-90E4-978D42720BB0"; + rename -uid "43A62435-471C-7F61-A05F-EB8D9B56E175"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 9.5792744434200383 -11.862061807473031 1.1564412205648709 ; - setAttr ".r" -type "double3" 2.1534408611046039 175.80406292066331 45.437740049298206 ; - setAttr ".s" -type "double3" 1.0495082267377434 1.0495082267377387 -1.0495082267377405 ; + setAttr ".t" -type "double3" 9.5792744434200294 -11.862061807473022 1.1564412205648698 ; + setAttr ".r" -type "double3" 2.1534408611046039 175.80406292066331 45.437740049298235 ; + setAttr ".s" -type "double3" 1.0495082267377431 1.0495082267377382 -1.04950822673774 ; createNode nurbsCurve -n "arm_R0_crvShape" -p "arm_R0_crv"; - rename -uid "37863709-40C3-AB49-C1D5-FC9B480CE816"; + rename -uid "4210867A-483E-7D62-0350-F3857C3292AD"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "arm_R0_crvShapeOrig" -p "arm_R0_crv"; - rename -uid "2DB68AB9-4DBD-4FFA-72BD-45A6FA498925"; + rename -uid "E5D589E0-4E59-6E10-2F94-4181CD3C0163"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -11872,8 +11861,9 @@ createNode nurbsCurve -n "arm_R0_crvShapeOrig" -p "arm_R0_crv"; 0 0 0 ; createNode transform -n "shoulder_R0_blade" -p "shoulder_R0_root"; - rename -uid "FF6ABEE5-4DCF-CBE7-87AC-F0A8E4EADFA7"; - addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; + rename -uid "12C73153-4D89-6BE4-57EB-FB8D1CAB7CAF"; + addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -dv 89.999999999999986 + -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; @@ -11882,13 +11872,13 @@ createNode transform -n "shoulder_R0_blade" -p "shoulder_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999611 0.99999999999999767 ; + setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999689 0.99999999999999778 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; - setAttr -k on ".bladeRollOffset" 90; + setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "shoulder_R0_bladeShape" -p "shoulder_R0_blade"; - rename -uid "25891283-4047-9E6A-E57E-4C882D8620CA"; + rename -uid "EDF8D81B-4906-9435-3C16-608F4BD47355"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11898,12 +11888,12 @@ createNode nurbsCurve -n "shoulder_R0_bladeShape" -p "shoulder_R0_blade"; 4 0 1 2 3 4 0 0 0 - 0.6000000000000012 0 0 - 0 0.2000000000000004 0 + 0.60000000000000131 0 0 + 0 0.20000000000000043 0 0 0 0 ; -createNode aimConstraint -n "shoulder_R0_blade_aimConstraint4" -p "shoulder_R0_blade"; - rename -uid "95CE0BB0-4BFD-7281-5CB8-D1BD4D3AF314"; +createNode aimConstraint -n "shoulder_R0_blade_aimConstraint2" -p "shoulder_R0_blade"; + rename -uid "EF988694-4424-D358-D76D-F6B83DB880F7"; addAttr -dcb 0 -ci true -sn "w0" -ln "shoulder_R0_tipW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -11918,11 +11908,11 @@ createNode aimConstraint -n "shoulder_R0_blade_aimConstraint4" -p "shoulder_R0_b setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".o" -type "double3" 90 179.99999999999937 180.00000000000011 ; - setAttr ".rsrr" -type "double3" 23.386262286473194 122.53864021838235 110.03040021520766 ; + setAttr ".o" -type "double3" 90 179.9999999999996 180.00000000000017 ; + setAttr ".rsrr" -type "double3" 23.386262286472839 122.53864021838231 110.03040021520752 ; setAttr -k on ".w0"; -createNode pointConstraint -n "shoulder_R0_blade_pointConstraint4" -p "shoulder_R0_blade"; - rename -uid "3370165E-48E4-71CC-B006-E094640C3499"; +createNode pointConstraint -n "shoulder_R0_blade_pointConstraint2" -p "shoulder_R0_blade"; + rename -uid "C3DF093D-4D84-C4F7-B535-38A5795098A7"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "shoulder_R0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; @@ -11937,23 +11927,23 @@ createNode pointConstraint -n "shoulder_R0_blade_pointConstraint4" -p "shoulder_ setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" -1.7763568394002505e-015 -1.9081958235744878e-017 - -2.7755575615628914e-017 ; + setAttr ".rst" -type "double3" -1.7763568394002505e-015 -2.6020852139652106e-017 + 0 ; setAttr -k on ".w0"; createNode transform -n "shoulder_R0_crv" -p "shoulder_R0_root"; - rename -uid "6E8EE9DA-49E8-3064-C40A-DA9474A34C95"; + rename -uid "FAACBF9B-47AF-3284-142F-6F89309FA883"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 15.507521470509836 0.0092761897382758005 0.11673327753265025 ; + setAttr ".t" -type "double3" 15.507521470509833 0.0092761897382757381 0.1167332775326503 ; setAttr ".r" -type "double3" 90.803889228153793 -89.999999999999986 0 ; - setAttr ".s" -type "double3" 1.0495082267377416 1.0495082267377367 -1.0495082267377369 ; + setAttr ".s" -type "double3" 1.0495082267377416 1.0495082267377367 -1.0495082267377365 ; createNode nurbsCurve -n "shoulder_R0_crvShape" -p "shoulder_R0_crv"; - rename -uid "8FF23251-4A71-6284-9BE0-7883C6AEDBF4"; + rename -uid "A1ED4CBF-4B0E-9A01-BC53-868AF0CBB011"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "shoulder_R0_crvShapeOrig" -p "shoulder_R0_crv"; - rename -uid "4846B445-4AE0-F037-3A8E-90BBAE58F7A5"; + rename -uid "E517D413-4844-8E6E-EF60-C685437AADA5"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -11964,7 +11954,7 @@ createNode nurbsCurve -n "shoulder_R0_crvShapeOrig" -p "shoulder_R0_crv"; 0 0 0 ; createNode transform -n "spine_C0_blade" -p "spine_C0_root"; - rename -uid "A80F13F2-43AD-38B6-8453-469C20962B74"; + rename -uid "C9FD6E77-415F-F0C6-6D65-A8A132484303"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -11974,13 +11964,13 @@ createNode transform -n "spine_C0_blade" -p "spine_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000013 0.99999999999999956 0.99999999999999833 ; + setAttr ".s" -type "double3" 1.0000000000000011 0.99999999999999967 0.99999999999999845 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "spine_C0_bladeShape" -p "spine_C0_blade"; - rename -uid "E4A013CC-4EDF-73BF-527F-1F8980A3D378"; + rename -uid "F6A7542E-4CF6-66B8-FEDA-F9A72E6DFF9C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -11994,8 +11984,8 @@ createNode nurbsCurve -n "spine_C0_bladeShape" -p "spine_C0_blade"; 0 0.10237829928482099 0 0 0 0 ; -createNode aimConstraint -n "spine_C0_blade_aimConstraint9" -p "spine_C0_blade"; - rename -uid "1C494D74-4F9B-E59F-A6F4-3099BA4D66D9"; +createNode aimConstraint -n "spine_C0_blade_aimConstraint10" -p "spine_C0_blade"; + rename -uid "AF458BF5-42E3-79E7-A51B-E299916EB72F"; addAttr -dcb 0 -ci true -sn "w0" -ln "spine_C0_effW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -12011,8 +12001,8 @@ createNode aimConstraint -n "spine_C0_blade_aimConstraint9" -p "spine_C0_blade"; setAttr ".erp" yes; setAttr ".wut" 2; setAttr -k on ".w0"; -createNode pointConstraint -n "spine_C0_blade_pointConstraint9" -p "spine_C0_blade"; - rename -uid "414CEC77-4671-D708-7EAF-AA8281C289C5"; +createNode pointConstraint -n "spine_C0_blade_pointConstraint10" -p "spine_C0_blade"; + rename -uid "A97C1C48-443E-1882-02BF-31A199443356"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "spine_C0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -12026,22 +12016,22 @@ createNode pointConstraint -n "spine_C0_blade_pointConstraint9" -p "spine_C0_bla setAttr -k off ".sy"; setAttr -k off ".sz"; setAttr ".erp" yes; - setAttr ".rst" -type "double3" 0 5.5511151231257827e-017 -6.1629758220391547e-033 ; + setAttr ".rst" -type "double3" 0 2.7755575615628914e-017 -6.1629758220391547e-033 ; setAttr -k on ".w0"; createNode transform -n "spine_C0_crv" -p "spine_C0_root"; - rename -uid "ED9A197E-4888-DA79-872D-87984B194B38"; + rename -uid "AFC419DD-4C0F-5ACD-8B23-9BBF67DDB8A4"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -11.390533694690752 0.19144303592045889 -4.2508893276606347e-017 ; + setAttr ".t" -type "double3" -11.390533694690751 0.19144303592045883 -4.2508893276606341e-017 ; setAttr ".r" -type "double3" 90.000000000000014 89.999999999999986 0 ; - setAttr ".s" -type "double3" 1.0495082267377405 1.0495082267377402 1.0495082267377389 ; + setAttr ".s" -type "double3" 1.0495082267377405 1.04950822673774 1.0495082267377389 ; createNode nurbsCurve -n "spine_C0_crvShape" -p "spine_C0_crv"; - rename -uid "A78C4254-41AA-AB23-A89B-C68F4739D6B3"; + rename -uid "D18FE64B-4233-5364-D4E2-20B55631DB59"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "spine_C0_crvShapeOrig" -p "spine_C0_crv"; - rename -uid "25232329-4AD5-5D3A-5B7D-9C986CCE5489"; + rename -uid "312FED03-45DD-9A4C-D2FD-639E5AD08883"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -12052,7 +12042,7 @@ createNode nurbsCurve -n "spine_C0_crvShapeOrig" -p "spine_C0_crv"; 0 0 0 ; createNode transform -n "leg_L0_root" -p "spine_C0_root"; - rename -uid "3DED1CD7-40ED-CF7A-E42C-E48870B26F02"; + rename -uid "40161BF3-4B29-2CFD-148E-20808C8A13AF"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -12061,29 +12051,29 @@ createNode transform -n "leg_L0_root" -p "spine_C0_root"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; addAttr -ci true -sn "pinrefarray" -ln "pinrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; addAttr -ci true -sn "mirrorMid" -ln "mirrorMid" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.1814583394588016 2.2204460492503131e-016 -1.0212680564255745 ; + setAttr ".t" -type "double3" -1.1814583394588016 1.9428902930940239e-016 -1.0212680564255745 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 0.29314386227018274 0 ; + setAttr ".r" -type "double3" 0 0.2931438622701828 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000024 0.99999999999999822 1 ; + setAttr ".s" -type "double3" 1.0000000000000022 0.99999999999999833 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -12093,18 +12083,13 @@ createNode transform -n "leg_L0_root" -p "spine_C0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "legUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".ikrefarray" -type "string" "local_C0_root"; - setAttr ".upvrefarray" -type "string" ""; - setAttr ".pinrefarray" -type "string" ""; - setAttr ".maxstretch" 1.5; - setAttr ".div0" 2; - setAttr ".div1" 2; + setAttr ".ikrefarray" -type "string" "local_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "local_C0_root,global_C0_root"; + setAttr ".pinrefarray" -type "string" "local_C0_root,global_C0_root"; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "leg_L0_rootShape" -p "leg_L0_root"; - rename -uid "B73C9355-4FB3-0C57-BA0A-028F914CD61D"; + rename -uid "98CAB11C-4F19-B71B-241B-1A9D9105D5BD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12116,8 +12101,8 @@ createNode nurbsCurve -n "leg_L0_rootShape" -p "leg_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_L0_root25Shape" -p "leg_L0_root"; - rename -uid "ADB33EDA-4BA2-7509-E1D8-24B5AF7757D5"; +createNode nurbsCurve -n "leg_L0_root28Shape" -p "leg_L0_root"; + rename -uid "4CDF9AB3-4066-95A1-1659-E5A30B1BBB99"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12129,8 +12114,8 @@ createNode nurbsCurve -n "leg_L0_root25Shape" -p "leg_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_L0_root26Shape" -p "leg_L0_root"; - rename -uid "ED524A63-45E0-F566-D1E1-7B8171E57EF0"; +createNode nurbsCurve -n "leg_L0_root29Shape" -p "leg_L0_root"; + rename -uid "B17787ED-4FD8-901D-CD21-7F8D27FE4A87"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12142,8 +12127,8 @@ createNode nurbsCurve -n "leg_L0_root26Shape" -p "leg_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_L0_root27Shape" -p "leg_L0_root"; - rename -uid "8413835D-4D23-5C90-B6EA-2C9185A18BC4"; +createNode nurbsCurve -n "leg_L0_root30Shape" -p "leg_L0_root"; + rename -uid "3E6AE3A4-44FD-CD34-3BB1-39BF229A6534"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12170,10 +12155,10 @@ createNode nurbsCurve -n "leg_L0_root27Shape" -p "leg_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "leg_L0_knee" -p "leg_L0_root"; - rename -uid "2E1A1E86-4380-2A65-B08A-A89B3B65A084"; + rename -uid "780A4FBA-4CBD-2BF2-7507-73B77D1C1775"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -4.3795369772304023 0.38838644346805862 -2.4424906541753444e-015 ; + setAttr ".t" -type "double3" -4.3795369772304014 0.38838644346805862 -2.55351295663786e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -12182,12 +12167,12 @@ createNode transform -n "leg_L0_knee" -p "leg_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000011 0.99999999999999956 1.0000000000000018 ; + setAttr ".s" -type "double3" 1.0000000000000013 1 1.0000000000000018 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "leg_L0_kneeShape" -p "leg_L0_knee"; - rename -uid "5DBBD3BE-4F4F-9EDF-0BBA-2EBF2AE50D53"; + rename -uid "9A912E87-41FB-455F-B0A6-778FFE39BE75"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12199,8 +12184,8 @@ createNode nurbsCurve -n "leg_L0_kneeShape" -p "leg_L0_knee"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_L0_knee25Shape" -p "leg_L0_knee"; - rename -uid "EB7E82E5-4B4A-CB9F-FB9C-5DBAFB42B173"; +createNode nurbsCurve -n "leg_L0_knee28Shape" -p "leg_L0_knee"; + rename -uid "2F92185E-44D1-BFCA-342E-F1A5CAD55C16"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12212,8 +12197,8 @@ createNode nurbsCurve -n "leg_L0_knee25Shape" -p "leg_L0_knee"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_L0_knee26Shape" -p "leg_L0_knee"; - rename -uid "44A4D7E5-4955-E6CF-982E-3E86CA78B2B4"; +createNode nurbsCurve -n "leg_L0_knee29Shape" -p "leg_L0_knee"; + rename -uid "CB3F0E8F-4266-C8EF-8E6D-5EA1AB52D7B1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12225,8 +12210,8 @@ createNode nurbsCurve -n "leg_L0_knee26Shape" -p "leg_L0_knee"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_L0_knee27Shape" -p "leg_L0_knee"; - rename -uid "F9D5C88F-4022-DADA-7904-3F8D102445FA"; +createNode nurbsCurve -n "leg_L0_knee30Shape" -p "leg_L0_knee"; + rename -uid "1225309E-46BC-9F98-3E4C-22A1A21C7E84"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12243,8 +12228,8 @@ createNode nurbsCurve -n "leg_L0_knee27Shape" -p "leg_L0_knee"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_L0_knee27_0crvShape" -p "leg_L0_knee"; - rename -uid "33E00CD4-4FB8-4F13-AB05-42B647C52A41"; +createNode nurbsCurve -n "leg_L0_knee30_0crvShape" -p "leg_L0_knee"; + rename -uid "0DCA6E9F-46AB-B87A-F6ED-77A3983E6BCA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12261,8 +12246,8 @@ createNode nurbsCurve -n "leg_L0_knee27_0crvShape" -p "leg_L0_knee"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_L0_knee27_1crvShape" -p "leg_L0_knee"; - rename -uid "B0788B16-4515-9B01-B384-1C8C0C2B3EB9"; +createNode nurbsCurve -n "leg_L0_knee30_1crvShape" -p "leg_L0_knee"; + rename -uid "C7AD79B2-494D-BC29-2F56-09BD055EF664"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12280,10 +12265,10 @@ createNode nurbsCurve -n "leg_L0_knee27_1crvShape" -p "leg_L0_knee"; 0 0 -0.1875 ; createNode transform -n "leg_L0_ankle" -p "leg_L0_knee"; - rename -uid "D43B8114-4B05-FD45-A293-DAA91E9DEF43"; + rename -uid "8EA2C2C9-4A41-57B8-40A1-26A700D50FB7"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 8.8817841970012523e-016 -4.5414075240554164 -0.74630601922779805 ; + setAttr ".t" -type "double3" 1.1102230246251565e-015 -4.5414075240554173 -0.74630601922779805 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -12291,12 +12276,12 @@ createNode transform -n "leg_L0_ankle" -p "leg_L0_knee"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999989 0.99999999999999867 ; + setAttr ".s" -type "double3" 1.0000000000000009 0.99999999999999967 0.99999999999999878 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "leg_L0_ankleShape" -p "leg_L0_ankle"; - rename -uid "0F25DA49-4F10-88CC-FE9E-30B728456F23"; + rename -uid "738889D4-4065-5B3D-2685-13A62C534317"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12308,8 +12293,8 @@ createNode nurbsCurve -n "leg_L0_ankleShape" -p "leg_L0_ankle"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_L0_ankle25Shape" -p "leg_L0_ankle"; - rename -uid "6D1C3639-4A26-F3BE-7061-99B2CC9EAB10"; +createNode nurbsCurve -n "leg_L0_ankle28Shape" -p "leg_L0_ankle"; + rename -uid "C1BF62B0-43DA-41E4-ED13-49B628E00353"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12321,8 +12306,8 @@ createNode nurbsCurve -n "leg_L0_ankle25Shape" -p "leg_L0_ankle"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_L0_ankle26Shape" -p "leg_L0_ankle"; - rename -uid "2297F6E8-46E5-B676-ABF5-69B0E01D812D"; +createNode nurbsCurve -n "leg_L0_ankle29Shape" -p "leg_L0_ankle"; + rename -uid "128F5014-4DE4-5859-AD11-65A6333272D5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12334,8 +12319,8 @@ createNode nurbsCurve -n "leg_L0_ankle26Shape" -p "leg_L0_ankle"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_L0_ankle27Shape" -p "leg_L0_ankle"; - rename -uid "90B01792-4033-DDCE-CB89-298504FDF1CB"; +createNode nurbsCurve -n "leg_L0_ankle30Shape" -p "leg_L0_ankle"; + rename -uid "1206EA32-4235-E4A4-ED27-C7AB3185F1C9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12352,8 +12337,8 @@ createNode nurbsCurve -n "leg_L0_ankle27Shape" -p "leg_L0_ankle"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_L0_ankle27_0crvShape" -p "leg_L0_ankle"; - rename -uid "9D0913F1-4322-5D1D-3AF9-B795A308057A"; +createNode nurbsCurve -n "leg_L0_ankle30_0crvShape" -p "leg_L0_ankle"; + rename -uid "FAD0AC4B-499E-EAF5-38B8-FCAA859131D5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12370,8 +12355,8 @@ createNode nurbsCurve -n "leg_L0_ankle27_0crvShape" -p "leg_L0_ankle"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_L0_ankle27_1crvShape" -p "leg_L0_ankle"; - rename -uid "D1E14A8C-4A1A-2CBA-A3CB-E5B0F5747502"; +createNode nurbsCurve -n "leg_L0_ankle30_1crvShape" -p "leg_L0_ankle"; + rename -uid "7FC407D9-46ED-DDBA-18CE-D3A16F3C6640"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12389,10 +12374,10 @@ createNode nurbsCurve -n "leg_L0_ankle27_1crvShape" -p "leg_L0_ankle"; 0 0 -0.1875 ; createNode transform -n "leg_L0_eff" -p "leg_L0_ankle"; - rename -uid "C38326C7-43E7-9042-9B5B-52B67ECAAC54"; + rename -uid "7B86FE10-4D23-F6E9-920E-7BAB03653372"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0 2.886579864025407e-015 2.1377206638691333 ; + setAttr ".t" -type "double3" -2.2204460492503131e-016 3.9968028886505635e-015 2.1377206638691328 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -12401,12 +12386,12 @@ createNode transform -n "leg_L0_eff" -p "leg_L0_ankle"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000038 0.99999999999999878 1.0000000000000029 ; + setAttr ".s" -type "double3" 1.000000000000004 0.999999999999999 1.0000000000000029 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "leg_L0_effShape" -p "leg_L0_eff"; - rename -uid "769DCC92-4F33-9E57-1F3E-83A425B0F0E8"; + rename -uid "0D11E0E6-4CDB-A213-F070-A38B7B4E9173"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12418,8 +12403,8 @@ createNode nurbsCurve -n "leg_L0_effShape" -p "leg_L0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_L0_eff25Shape" -p "leg_L0_eff"; - rename -uid "08754BCA-4AB0-A2D0-CBD7-7488BF33AF63"; +createNode nurbsCurve -n "leg_L0_eff28Shape" -p "leg_L0_eff"; + rename -uid "4066F7DC-405A-5A86-249A-02AF11E5327E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12431,8 +12416,8 @@ createNode nurbsCurve -n "leg_L0_eff25Shape" -p "leg_L0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_L0_eff26Shape" -p "leg_L0_eff"; - rename -uid "CDA556BF-4FD9-4BEF-D295-9E9417679C6E"; +createNode nurbsCurve -n "leg_L0_eff29Shape" -p "leg_L0_eff"; + rename -uid "D15CEA1A-4731-3BC5-6AA6-A1914994579B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12444,8 +12429,8 @@ createNode nurbsCurve -n "leg_L0_eff26Shape" -p "leg_L0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_L0_eff27Shape" -p "leg_L0_eff"; - rename -uid "2D235D27-4D4C-07A6-244F-EE9F48F1FC24"; +createNode nurbsCurve -n "leg_L0_eff30Shape" -p "leg_L0_eff"; + rename -uid "0069116B-4E13-3F0D-2F1E-6DB0F4BEA9A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12462,8 +12447,8 @@ createNode nurbsCurve -n "leg_L0_eff27Shape" -p "leg_L0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_L0_eff27_0crvShape" -p "leg_L0_eff"; - rename -uid "46A0FD2E-483A-8E4B-E3EF-DAB64B694AD4"; +createNode nurbsCurve -n "leg_L0_eff30_0crvShape" -p "leg_L0_eff"; + rename -uid "584BF469-42AF-B56F-1A7E-578F62424E9D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12480,8 +12465,8 @@ createNode nurbsCurve -n "leg_L0_eff27_0crvShape" -p "leg_L0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_L0_eff27_1crvShape" -p "leg_L0_eff"; - rename -uid "5880E246-42D6-4028-03CD-3083A126029F"; +createNode nurbsCurve -n "leg_L0_eff30_1crvShape" -p "leg_L0_eff"; + rename -uid "F497C158-43E4-27B8-EE25-96BCE2F9542B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12499,7 +12484,7 @@ createNode nurbsCurve -n "leg_L0_eff27_1crvShape" -p "leg_L0_eff"; 0 0 -0.1875 ; createNode transform -n "foot_L0_root" -p "leg_L0_ankle"; - rename -uid "FF88F0D0-43C7-2570-4AF1-A287A7D178D4"; + rename -uid "B99FFBE9-4CD6-A868-1347-619DBD154032"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -12508,20 +12493,20 @@ createNode transform -n "foot_L0_root" -p "leg_L0_ankle"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 4.4408920985006262e-016 1.7763568394002505e-015 0 ; + setAttr ".t" -type "double3" 2.2204460492503131e-016 2.886579864025407e-015 -1.1102230246251565e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 -84.230890510426093 0 ; + setAttr ".r" -type "double3" 0 -84.230890510426107 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.9997975226851844 0.99979752268518263 0.99979752268518174 ; + setAttr ".s" -type "double3" 0.9997975226851844 0.99979752268518252 0.99979752268518129 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -12531,10 +12516,8 @@ createNode transform -n "foot_L0_root" -p "leg_L0_ankle"; setAttr ".connector" -type "string" "leg_2jnt_01"; setAttr ".ui_host" -type "string" "legUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".useRollCtl" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "foot_L0_rootShape" -p "foot_L0_root"; - rename -uid "E6C51719-49DC-65A5-A343-60BB0924044D"; + rename -uid "C2F8836D-4E83-14BE-C01F-8FA85ED1D3A4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12546,8 +12529,8 @@ createNode nurbsCurve -n "foot_L0_rootShape" -p "foot_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_L0_root25Shape" -p "foot_L0_root"; - rename -uid "217037FB-4876-B3FA-E80A-2E8FC88B692E"; +createNode nurbsCurve -n "foot_L0_root28Shape" -p "foot_L0_root"; + rename -uid "32C35BAA-47FC-818E-2CA9-42BA2931BBA6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12559,8 +12542,8 @@ createNode nurbsCurve -n "foot_L0_root25Shape" -p "foot_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_L0_root26Shape" -p "foot_L0_root"; - rename -uid "CFFB631E-4D49-3A17-6C82-8D8D92EEA39D"; +createNode nurbsCurve -n "foot_L0_root29Shape" -p "foot_L0_root"; + rename -uid "B0F25CC2-4B99-31BC-DF58-49AFA29C3D55"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12572,8 +12555,8 @@ createNode nurbsCurve -n "foot_L0_root26Shape" -p "foot_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_L0_root27Shape" -p "foot_L0_root"; - rename -uid "ADF88041-4D94-B3E4-F0C5-53A199DCE677"; +createNode nurbsCurve -n "foot_L0_root30Shape" -p "foot_L0_root"; + rename -uid "0C49319B-48A5-D4FA-F78C-CD88F2DEBEDC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12600,10 +12583,10 @@ createNode nurbsCurve -n "foot_L0_root27Shape" -p "foot_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "foot_L0_0_loc" -p "foot_L0_root"; - rename -uid "AE47AC95-4789-894D-9667-FC915737F089"; + rename -uid "4074EE60-4838-63A3-4AB7-148E18F59DE4"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3903626031763237 -0.77423199221117356 -0.00087398468478294689 ; + setAttr ".t" -type "double3" 1.3903626031763232 -0.77423199221117334 -0.00087398468478339097 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -12612,12 +12595,12 @@ createNode transform -n "foot_L0_0_loc" -p "foot_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999967 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999878 0.99999999999999956 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_L0_0_locShape" -p "foot_L0_0_loc"; - rename -uid "A2D0279C-4451-FDC8-2BF2-A787697A1FF4"; + rename -uid "64E91A18-4F4B-3151-484A-D9A9BDF1C57A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12629,8 +12612,8 @@ createNode nurbsCurve -n "foot_L0_0_locShape" -p "foot_L0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_L0_0_loc25Shape" -p "foot_L0_0_loc"; - rename -uid "8A49BF70-4F9E-F51D-D4EB-9CABDA3AA239"; +createNode nurbsCurve -n "foot_L0_0_loc28Shape" -p "foot_L0_0_loc"; + rename -uid "4DA67256-463B-2205-0797-F582681E8BD5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12642,8 +12625,8 @@ createNode nurbsCurve -n "foot_L0_0_loc25Shape" -p "foot_L0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_L0_0_loc26Shape" -p "foot_L0_0_loc"; - rename -uid "5761F470-4C99-7AD9-F64A-21B214EC01D9"; +createNode nurbsCurve -n "foot_L0_0_loc29Shape" -p "foot_L0_0_loc"; + rename -uid "C5E0CA0E-4DF0-36EE-A4EE-69A0F485604C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12655,8 +12638,8 @@ createNode nurbsCurve -n "foot_L0_0_loc26Shape" -p "foot_L0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_L0_0_loc27Shape" -p "foot_L0_0_loc"; - rename -uid "9FF62DE8-4838-3C5A-1D32-829530E52100"; +createNode nurbsCurve -n "foot_L0_0_loc30Shape" -p "foot_L0_0_loc"; + rename -uid "929AAAF9-42D6-2ACC-7FA0-3BA041BFDDFD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12673,8 +12656,8 @@ createNode nurbsCurve -n "foot_L0_0_loc27Shape" -p "foot_L0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_0_loc27_0crvShape" -p "foot_L0_0_loc"; - rename -uid "97161137-4B8E-8A0D-A89A-DFB979D74678"; +createNode nurbsCurve -n "foot_L0_0_loc30_0crvShape" -p "foot_L0_0_loc"; + rename -uid "993EB147-4A62-6AF2-8861-2E8442045205"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12691,8 +12674,8 @@ createNode nurbsCurve -n "foot_L0_0_loc27_0crvShape" -p "foot_L0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_0_loc27_1crvShape" -p "foot_L0_0_loc"; - rename -uid "EB6641F6-4CB7-7C21-521C-A0AEACD5691A"; +createNode nurbsCurve -n "foot_L0_0_loc30_1crvShape" -p "foot_L0_0_loc"; + rename -uid "94106918-4D6C-C68C-CC69-068B2C2622B4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12710,10 +12693,10 @@ createNode nurbsCurve -n "foot_L0_0_loc27_1crvShape" -p "foot_L0_0_loc"; 0 0 -0.1875 ; createNode transform -n "foot_L0_1_loc" -p "foot_L0_0_loc"; - rename -uid "FBCFD713-4C59-D3B0-1C5C-388499524E80"; + rename -uid "73F916C7-4575-2D36-BA53-C88DD70AA8B0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.57241624162444471 0.052400542543840967 0.00053566803260851614 ; + setAttr ".t" -type "double3" 0.57241624162444493 0.052400542543840745 0.00053566803260851614 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -12722,12 +12705,12 @@ createNode transform -n "foot_L0_1_loc" -p "foot_L0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 1 0.999999999999999 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 0.99999999999999911 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_L0_1_locShape" -p "foot_L0_1_loc"; - rename -uid "37A4A38A-4A5C-D4EB-135B-39BA12F2813E"; + rename -uid "8ECA5A7C-4E19-9EF7-F34D-D784B8B1EC52"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12739,8 +12722,8 @@ createNode nurbsCurve -n "foot_L0_1_locShape" -p "foot_L0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_L0_1_loc25Shape" -p "foot_L0_1_loc"; - rename -uid "72BC23D2-431C-6127-D998-92A10BF586AA"; +createNode nurbsCurve -n "foot_L0_1_loc28Shape" -p "foot_L0_1_loc"; + rename -uid "E4533DAF-433F-6534-AE67-07BCBA5C7975"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12752,8 +12735,8 @@ createNode nurbsCurve -n "foot_L0_1_loc25Shape" -p "foot_L0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_L0_1_loc26Shape" -p "foot_L0_1_loc"; - rename -uid "502E9883-44EE-1E81-630B-02A65A4F06E2"; +createNode nurbsCurve -n "foot_L0_1_loc29Shape" -p "foot_L0_1_loc"; + rename -uid "6EA0A721-4115-E4F7-4136-7487FE96D42B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12765,8 +12748,8 @@ createNode nurbsCurve -n "foot_L0_1_loc26Shape" -p "foot_L0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_L0_1_loc27Shape" -p "foot_L0_1_loc"; - rename -uid "43B5E9D6-45FA-6DE5-A795-3EBBCEDB1D49"; +createNode nurbsCurve -n "foot_L0_1_loc30Shape" -p "foot_L0_1_loc"; + rename -uid "D25FCDDE-427E-78C5-AECD-DDB06FE3622E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12783,8 +12766,8 @@ createNode nurbsCurve -n "foot_L0_1_loc27Shape" -p "foot_L0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_1_loc27_0crvShape" -p "foot_L0_1_loc"; - rename -uid "9B260B1F-4C02-C37B-D52A-BE845504D1DE"; +createNode nurbsCurve -n "foot_L0_1_loc30_0crvShape" -p "foot_L0_1_loc"; + rename -uid "E3D8FAC5-4B36-1B99-EC87-02A1C4795EE4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12801,8 +12784,8 @@ createNode nurbsCurve -n "foot_L0_1_loc27_0crvShape" -p "foot_L0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_1_loc27_1crvShape" -p "foot_L0_1_loc"; - rename -uid "02DA8AD4-4DB7-AC2F-BAD4-649BCE060E18"; +createNode nurbsCurve -n "foot_L0_1_loc30_1crvShape" -p "foot_L0_1_loc"; + rename -uid "71FD686B-43CC-0A70-3833-1FB6E806799C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12820,14 +12803,14 @@ createNode nurbsCurve -n "foot_L0_1_loc27_1crvShape" -p "foot_L0_1_loc"; 0 0 -0.1875 ; createNode transform -n "foot_L0_2_loc" -p "foot_L0_1_loc"; - rename -uid "93163497-4164-D6D8-1DF9-41A303C3D2A5"; + rename -uid "C792DAA1-4D6B-18C2-D44A-A9A512E952F1"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.34999482654518399 -0.34355031336095371 -0.0018389437992678559 ; + setAttr ".t" -type "double3" 0.34999482654518399 -0.34355031336095382 -0.0018389437992676338 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 89.999999999999972 0 ; + setAttr ".r" -type "double3" 0 89.999999999999986 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; @@ -12837,7 +12820,7 @@ createNode transform -n "foot_L0_2_loc" -p "foot_L0_1_loc"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_L0_2_locShape" -p "foot_L0_2_loc"; - rename -uid "281ECEB9-4EB1-BFD5-2D65-72B63A806411"; + rename -uid "96AD9173-45D6-13D6-94E3-28B883C759ED"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12849,8 +12832,8 @@ createNode nurbsCurve -n "foot_L0_2_locShape" -p "foot_L0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_L0_2_loc25Shape" -p "foot_L0_2_loc"; - rename -uid "0EBBF120-48DA-559A-D3E6-2696875DB9BD"; +createNode nurbsCurve -n "foot_L0_2_loc28Shape" -p "foot_L0_2_loc"; + rename -uid "1B42C33E-4C11-E444-7583-25BEA19AF15B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12862,8 +12845,8 @@ createNode nurbsCurve -n "foot_L0_2_loc25Shape" -p "foot_L0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_L0_2_loc26Shape" -p "foot_L0_2_loc"; - rename -uid "036E0A31-4A9A-E0AE-CF2E-4E9EC89C3256"; +createNode nurbsCurve -n "foot_L0_2_loc29Shape" -p "foot_L0_2_loc"; + rename -uid "CB6887E8-43BE-72F8-0507-78AF69B9A2CF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12875,8 +12858,8 @@ createNode nurbsCurve -n "foot_L0_2_loc26Shape" -p "foot_L0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_L0_2_loc27Shape" -p "foot_L0_2_loc"; - rename -uid "380A8E0A-475D-EA31-6649-7392EE83BE0D"; +createNode nurbsCurve -n "foot_L0_2_loc30Shape" -p "foot_L0_2_loc"; + rename -uid "DA8445F6-43A2-1E7D-AB32-6C84D73AA005"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12893,8 +12876,8 @@ createNode nurbsCurve -n "foot_L0_2_loc27Shape" -p "foot_L0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_2_loc27_0crvShape" -p "foot_L0_2_loc"; - rename -uid "66C5017D-4BD0-6AFD-36D5-17A0282A2AD6"; +createNode nurbsCurve -n "foot_L0_2_loc30_0crvShape" -p "foot_L0_2_loc"; + rename -uid "3D01B6FD-4A3E-BB04-D210-3488390C4389"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12911,8 +12894,8 @@ createNode nurbsCurve -n "foot_L0_2_loc27_0crvShape" -p "foot_L0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_2_loc27_1crvShape" -p "foot_L0_2_loc"; - rename -uid "768F4A86-4985-D1E6-B431-B8818880FD69"; +createNode nurbsCurve -n "foot_L0_2_loc30_1crvShape" -p "foot_L0_2_loc"; + rename -uid "10175C4B-4F48-73D1-BDEB-BEB69F6BB232"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12930,19 +12913,19 @@ createNode nurbsCurve -n "foot_L0_2_loc27_1crvShape" -p "foot_L0_2_loc"; 0 0 -0.1875 ; createNode transform -n "foot_L0_crv" -p "foot_L0_root"; - rename -uid "ACD2E3DB-4082-9AA4-075F-859C02B3EC58"; + rename -uid "96E27369-4905-47EF-0CD7-FFA4C30CECC2"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 0.84123625248687084 -1.2934842521415504 1.0591437062861182 ; - setAttr ".r" -type "double3" 2.8990169397258381 84.223472754416591 2.9137877746396712 ; - setAttr ".s" -type "double3" 1.0497207713808367 1.0497207713808354 1.0497207713808356 ; + setAttr ".t" -type "double3" 0.84123625248687106 -1.2934842521415504 1.059143706286118 ; + setAttr ".r" -type "double3" 2.8990169397258461 84.223472754416619 2.9137877746396836 ; + setAttr ".s" -type "double3" 1.0497207713808365 1.0497207713808354 1.0497207713808352 ; createNode nurbsCurve -n "foot_L0_crvShape" -p "foot_L0_crv"; - rename -uid "D289D0B9-4893-B721-06FB-639BF513E786"; + rename -uid "C4D1DAF0-4617-A3B1-D229-7EB884503C24"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "foot_L0_crvShapeOrig" -p "foot_L0_crv"; - rename -uid "4ACC5E48-462C-3685-EF7B-889649A6447A"; + rename -uid "C1D89C98-4020-63DA-E3F5-3FA71362824F"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -12955,10 +12938,10 @@ createNode nurbsCurve -n "foot_L0_crvShapeOrig" -p "foot_L0_crv"; 0 0 0 ; createNode transform -n "foot_L0_heel" -p "foot_L0_root"; - rename -uid "7D99F1FB-4C9B-F748-5A00-FCA2CED78D14"; + rename -uid "04B7B98D-4BD2-32C2-39C6-EA8B43F44151"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.51442201408343324 -1.2883323665462261 -0.0019628851482431653 ; + setAttr ".t" -type "double3" -0.5144220140834328 -1.2883323665462258 -0.0019628851482431653 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -12966,12 +12949,12 @@ createNode transform -n "foot_L0_heel" -p "foot_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999944 1 0.99999999999999989 ; + setAttr ".s" -type "double3" 0.999999999999999 1 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_L0_heelShape" -p "foot_L0_heel"; - rename -uid "39DC61B8-4747-F360-EBAC-6CBA57D2B8AA"; + rename -uid "EFFE0AE9-417B-C25A-38D3-3A820373D659"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12983,8 +12966,8 @@ createNode nurbsCurve -n "foot_L0_heelShape" -p "foot_L0_heel"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_L0_heel25Shape" -p "foot_L0_heel"; - rename -uid "324D8148-4DB8-C2D4-45AF-40B8C76BF6E3"; +createNode nurbsCurve -n "foot_L0_heel28Shape" -p "foot_L0_heel"; + rename -uid "3C2F4B12-4D30-96C5-9AC4-A9BF1DEFAEF8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -12996,8 +12979,8 @@ createNode nurbsCurve -n "foot_L0_heel25Shape" -p "foot_L0_heel"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_L0_heel26Shape" -p "foot_L0_heel"; - rename -uid "5AFF1CA8-497B-2249-0545-11A3A1BBC94C"; +createNode nurbsCurve -n "foot_L0_heel29Shape" -p "foot_L0_heel"; + rename -uid "7AE9F6A8-445A-E5C1-E7BA-608715DEBB45"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13009,8 +12992,8 @@ createNode nurbsCurve -n "foot_L0_heel26Shape" -p "foot_L0_heel"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_L0_heel27Shape" -p "foot_L0_heel"; - rename -uid "D35E4127-4C2C-2E41-2140-0F9735BB77C7"; +createNode nurbsCurve -n "foot_L0_heel30Shape" -p "foot_L0_heel"; + rename -uid "EEDA2EB5-43DD-8EAE-FEB6-2C85A7E913D2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13027,8 +13010,8 @@ createNode nurbsCurve -n "foot_L0_heel27Shape" -p "foot_L0_heel"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_heel27_0crvShape" -p "foot_L0_heel"; - rename -uid "7C867369-435E-6133-DD4E-5187EAB6E062"; +createNode nurbsCurve -n "foot_L0_heel30_0crvShape" -p "foot_L0_heel"; + rename -uid "F2B34FAD-4E88-2C7E-E71A-0F95311D909D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13045,8 +13028,8 @@ createNode nurbsCurve -n "foot_L0_heel27_0crvShape" -p "foot_L0_heel"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_heel27_1crvShape" -p "foot_L0_heel"; - rename -uid "B07001DA-415D-30D5-644A-68A3C028C013"; +createNode nurbsCurve -n "foot_L0_heel30_1crvShape" -p "foot_L0_heel"; + rename -uid "D1CABA29-4665-9CBE-215B-64ACC91A7124"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13064,10 +13047,10 @@ createNode nurbsCurve -n "foot_L0_heel27_1crvShape" -p "foot_L0_heel"; 0 0 -0.1875 ; createNode transform -n "foot_L0_outpivot" -p "foot_L0_root"; - rename -uid "D2511BF3-44FC-5F50-78B8-4F822A439917"; + rename -uid "FF24CD9D-4585-27FF-05CF-42B6A9AD67B3"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3551807145991015 -1.2852474767223829 -0.54483578923279818 ; + setAttr ".t" -type "double3" 1.3551807145991011 -1.2852474767223827 -0.54483578923279863 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -13075,12 +13058,12 @@ createNode transform -n "foot_L0_outpivot" -p "foot_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999944 1 0.99999999999999989 ; + setAttr ".s" -type "double3" 0.999999999999999 1 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_L0_outpivotShape" -p "foot_L0_outpivot"; - rename -uid "C4F4E771-4F54-435A-2B1E-C085C97F94FD"; + rename -uid "1E964282-4535-6070-9FA3-A2B83D55B388"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13092,8 +13075,8 @@ createNode nurbsCurve -n "foot_L0_outpivotShape" -p "foot_L0_outpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_L0_outpivot25Shape" -p "foot_L0_outpivot"; - rename -uid "5C9412F9-456C-532D-441A-D29D43CBB5F9"; +createNode nurbsCurve -n "foot_L0_outpivot28Shape" -p "foot_L0_outpivot"; + rename -uid "7B8CDCDA-4E0E-EDD7-9F8F-4BA25AC036D9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13105,8 +13088,8 @@ createNode nurbsCurve -n "foot_L0_outpivot25Shape" -p "foot_L0_outpivot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_L0_outpivot26Shape" -p "foot_L0_outpivot"; - rename -uid "02281F30-4F40-8E13-26DA-96868D6DB508"; +createNode nurbsCurve -n "foot_L0_outpivot29Shape" -p "foot_L0_outpivot"; + rename -uid "EE7BB27A-471F-ED1D-F32F-DE83FA14CB28"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13118,8 +13101,8 @@ createNode nurbsCurve -n "foot_L0_outpivot26Shape" -p "foot_L0_outpivot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_L0_outpivot27Shape" -p "foot_L0_outpivot"; - rename -uid "7F5C5329-4B8D-84FA-136E-4CAE96F06301"; +createNode nurbsCurve -n "foot_L0_outpivot30Shape" -p "foot_L0_outpivot"; + rename -uid "DFEBCF28-4F85-FFF9-60B0-8892636C93D2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13136,8 +13119,8 @@ createNode nurbsCurve -n "foot_L0_outpivot27Shape" -p "foot_L0_outpivot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_outpivot27_0crvShape" -p "foot_L0_outpivot"; - rename -uid "3DE6AD47-45E4-9C8E-F1A2-578FCF16C30E"; +createNode nurbsCurve -n "foot_L0_outpivot30_0crvShape" -p "foot_L0_outpivot"; + rename -uid "8E2B41E9-42FD-2AD9-9792-218272548154"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13154,8 +13137,8 @@ createNode nurbsCurve -n "foot_L0_outpivot27_0crvShape" -p "foot_L0_outpivot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_outpivot27_1crvShape" -p "foot_L0_outpivot"; - rename -uid "D6EE045F-4246-7A92-C7B6-8593C4619DE8"; +createNode nurbsCurve -n "foot_L0_outpivot30_1crvShape" -p "foot_L0_outpivot"; + rename -uid "2805BAAC-4166-5CBB-51FD-C7BE6847B077"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13173,10 +13156,10 @@ createNode nurbsCurve -n "foot_L0_outpivot27_1crvShape" -p "foot_L0_outpivot"; 0 0 -0.1875 ; createNode transform -n "foot_L0_inpivot" -p "foot_L0_root"; - rename -uid "FA5F08FB-434C-802B-9B5F-9D94D07899D0"; + rename -uid "65871AD8-4B29-7380-6A79-E4BC6D7E868D"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3551807145991013 -1.2905939540073492 0.6523426983376851 ; + setAttr ".t" -type "double3" 1.3551807145991011 -1.290593954007349 0.65234269833768466 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -13184,12 +13167,12 @@ createNode transform -n "foot_L0_inpivot" -p "foot_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999944 1 0.99999999999999989 ; + setAttr ".s" -type "double3" 0.999999999999999 1 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_L0_inpivotShape" -p "foot_L0_inpivot"; - rename -uid "A3473E90-4898-AAFC-4D4A-2ABCB28951DB"; + rename -uid "14BD0651-4D66-E31C-602E-5980123C4B1E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13201,8 +13184,8 @@ createNode nurbsCurve -n "foot_L0_inpivotShape" -p "foot_L0_inpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_L0_inpivot25Shape" -p "foot_L0_inpivot"; - rename -uid "BB61937E-4D0F-98E1-9E03-47B6B9EAEE15"; +createNode nurbsCurve -n "foot_L0_inpivot28Shape" -p "foot_L0_inpivot"; + rename -uid "02BBA7EE-4276-2DDC-636A-49B821F91710"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13214,8 +13197,8 @@ createNode nurbsCurve -n "foot_L0_inpivot25Shape" -p "foot_L0_inpivot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_L0_inpivot26Shape" -p "foot_L0_inpivot"; - rename -uid "89CEF1F6-4B66-857F-79B8-84BEA3343E3B"; +createNode nurbsCurve -n "foot_L0_inpivot29Shape" -p "foot_L0_inpivot"; + rename -uid "F59E6983-4835-9A7C-40C2-779AA655DE36"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13227,8 +13210,8 @@ createNode nurbsCurve -n "foot_L0_inpivot26Shape" -p "foot_L0_inpivot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_L0_inpivot27Shape" -p "foot_L0_inpivot"; - rename -uid "9EB7ED94-43B6-78D1-BBA2-FDA00152787C"; +createNode nurbsCurve -n "foot_L0_inpivot30Shape" -p "foot_L0_inpivot"; + rename -uid "C9E8BFB3-414E-A7E8-3839-028DA05084FC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13245,8 +13228,8 @@ createNode nurbsCurve -n "foot_L0_inpivot27Shape" -p "foot_L0_inpivot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_inpivot27_0crvShape" -p "foot_L0_inpivot"; - rename -uid "D7B541F2-4134-B12E-B13A-A4BA18294844"; +createNode nurbsCurve -n "foot_L0_inpivot30_0crvShape" -p "foot_L0_inpivot"; + rename -uid "B04A0802-4D3F-6F5F-4683-50BD1F92E041"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13263,8 +13246,8 @@ createNode nurbsCurve -n "foot_L0_inpivot27_0crvShape" -p "foot_L0_inpivot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_L0_inpivot27_1crvShape" -p "foot_L0_inpivot"; - rename -uid "8EE342D6-4C8D-A349-D8AD-D18F951BF2F8"; +createNode nurbsCurve -n "foot_L0_inpivot30_1crvShape" -p "foot_L0_inpivot"; + rename -uid "A1C92A6F-4EB8-ECDE-B4E1-1D817E286478"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13282,19 +13265,19 @@ createNode nurbsCurve -n "foot_L0_inpivot27_1crvShape" -p "foot_L0_inpivot"; 0 0 -0.1875 ; createNode transform -n "foot_L0_1" -p "foot_L0_root"; - rename -uid "2AF59BE4-45AB-461C-120C-42948AB6770B"; + rename -uid "4DED4A7F-4310-369F-D841-309880F9BA10"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 0.84123625248687084 -1.2934842521415504 1.0591437062861182 ; - setAttr ".r" -type "double3" 2.8990169397258381 84.223472754416591 2.9137877746396712 ; - setAttr ".s" -type "double3" 1.0497207713808367 1.0497207713808354 1.0497207713808356 ; + setAttr ".t" -type "double3" 0.84123625248687106 -1.2934842521415504 1.059143706286118 ; + setAttr ".r" -type "double3" 2.8990169397258461 84.223472754416619 2.9137877746396836 ; + setAttr ".s" -type "double3" 1.0497207713808365 1.0497207713808354 1.0497207713808352 ; createNode nurbsCurve -n "foot_L0_Shape1" -p "foot_L0_1"; - rename -uid "8EA58EAD-47FC-BDFE-18F3-DFABD52546C6"; + rename -uid "390C28C4-4D91-BBA6-3A2D-129F1DA37855"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "foot_L0_Shape1Orig" -p "foot_L0_1"; - rename -uid "FCA0635B-4FD2-567D-43E5-6888F231643F"; + rename -uid "F75BF762-4139-A512-639E-27AD33E27424"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -13308,7 +13291,7 @@ createNode nurbsCurve -n "foot_L0_Shape1Orig" -p "foot_L0_1"; 0 0 0 ; createNode transform -n "legUI_L0_root" -p "foot_L0_root"; - rename -uid "FADB5402-41CC-5E85-D4A4-D987FBBFCB70"; + rename -uid "C3290E5D-4057-5E15-271D-87AB92554BA3"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -13332,21 +13315,23 @@ createNode transform -n "legUI_L0_root" -p "foot_L0_root"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.5990855265032945 0.51029795172993664 -1.4395512694570036 ; + setAttr ".t" -type "double3" 0.59908552650329416 0.51029795172993664 -1.4395512694570038 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 89.999999999999972 0 ; + setAttr ".r" -type "double3" 0 89.999999999999986 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000011 1 0.99999999999999845 ; + setAttr ".s" -type "double3" 1.0000000000000009 1 0.999999999999998 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -13358,11 +13343,8 @@ createNode transform -n "legUI_L0_root" -p "foot_L0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "legUI_L0_rootShape" -p "legUI_L0_root"; - rename -uid "9ACDC1BE-498E-5CEE-98C6-D7A3BC5A7339"; + rename -uid "3BA185E4-491B-A24D-84F0-D7AFE6A0328D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13374,8 +13356,8 @@ createNode nurbsCurve -n "legUI_L0_rootShape" -p "legUI_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legUI_L0_root25Shape" -p "legUI_L0_root"; - rename -uid "D3F7F5AE-41E9-F8E1-885D-88B77397FFA3"; +createNode nurbsCurve -n "legUI_L0_root28Shape" -p "legUI_L0_root"; + rename -uid "A6DB2133-4F38-D6DA-5105-0CBEA4ADB266"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13387,8 +13369,8 @@ createNode nurbsCurve -n "legUI_L0_root25Shape" -p "legUI_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legUI_L0_root26Shape" -p "legUI_L0_root"; - rename -uid "C35BEF43-4342-493F-364E-3994D275D2F5"; +createNode nurbsCurve -n "legUI_L0_root29Shape" -p "legUI_L0_root"; + rename -uid "DBE2A310-44DE-2758-009B-A69EAB318848"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13400,8 +13382,8 @@ createNode nurbsCurve -n "legUI_L0_root26Shape" -p "legUI_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legUI_L0_root27Shape" -p "legUI_L0_root"; - rename -uid "0CC80AF5-4C44-448B-EDF7-E48F4590B5BF"; +createNode nurbsCurve -n "legUI_L0_root30Shape" -p "legUI_L0_root"; + rename -uid "E74C16A7-4727-1FD6-4ACC-2C99BDCA4660"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13428,36 +13410,36 @@ createNode nurbsCurve -n "legUI_L0_root27Shape" -p "legUI_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "legUI_L0_sizeRef" -p "legUI_L0_root"; - rename -uid "02DBE776-4C5B-858A-C18C-A181AF6483E0"; + rename -uid "E287E6A6-40B2-1BB8-FD2E-9B89D601BCED"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.10551782846565061 2.2204460492503131e-016 1.0444039858906486 ; + setAttr ".t" -type "double3" -0.10551782846565105 -2.2204460492503131e-016 1.0444039858906484 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" -0.029616667963981724 -5.7690337251489909 0.29463615418735922 ; + setAttr ".r" -type "double3" -0.029616667963981717 -5.7690337251489883 0.29463615418735928 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0497207713808359 1.0497207713808356 1.0497207713808374 ; + setAttr ".s" -type "double3" 1.0497207713808356 1.0497207713808356 1.0497207713808374 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "leg_L0_crv" -p "leg_L0_root"; - rename -uid "0559414B-4256-5FC3-B871-708445BC7150"; + rename -uid "585220C3-4323-4AD0-ED8C-EA9D3EB401A2"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -10.214166852209233 0.19144303592045905 0.9690219642037361 ; + setAttr ".t" -type "double3" -10.214166852209233 0.19144303592045897 0.96902196420373599 ; setAttr ".r" -type "double3" 89.999999999998764 89.706856137729844 0 ; - setAttr ".s" -type "double3" 1.0495082267377407 1.0495082267377378 1.0495082267377411 ; + setAttr ".s" -type "double3" 1.0495082267377405 1.049508226737738 1.0495082267377407 ; createNode nurbsCurve -n "leg_L0_crvShape" -p "leg_L0_crv"; - rename -uid "4AB24201-4057-7725-E293-D4B2860D3AAB"; + rename -uid "2CC9AD70-4929-54CE-6BD9-65A76D8EF680"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "leg_L0_crvShapeOrig" -p "leg_L0_crv"; - rename -uid "57A2A05B-4359-F9AC-B761-BEA21E319FE8"; + rename -uid "792B7C41-423A-891A-C74D-30869924F1FF"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -13470,7 +13452,7 @@ createNode nurbsCurve -n "leg_L0_crvShapeOrig" -p "leg_L0_crv"; 0 0 0 ; createNode transform -n "leg_R0_root" -p "spine_C0_root"; - rename -uid "68C62DB2-4033-977F-AF96-4B9233D1422B"; + rename -uid "E9F3FF50-403F-CA4C-8FCA-CEB552B554AF"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -13479,29 +13461,29 @@ createNode transform -n "leg_R0_root" -p "spine_C0_root"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; addAttr -ci true -sn "pinrefarray" -ln "pinrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; addAttr -ci true -sn "mirrorMid" -ln "mirrorMid" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.1814583394588016 6.6613381477509392e-016 1.0212680564255747 ; + setAttr ".t" -type "double3" -1.1814583394588016 7.7715611723760958e-016 1.0212680564255743 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 -0.29314386227019551 0 ; + setAttr ".r" -type "double3" 0 -0.29314386227019557 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000022 0.99999999999999845 -0.99999999999999956 ; + setAttr ".s" -type "double3" 1.0000000000000022 0.99999999999999822 -1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -13511,18 +13493,13 @@ createNode transform -n "leg_R0_root" -p "spine_C0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "legUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".ikrefarray" -type "string" "local_C0_root"; - setAttr ".upvrefarray" -type "string" ""; - setAttr ".pinrefarray" -type "string" ""; - setAttr ".maxstretch" 1.5; - setAttr ".div0" 2; - setAttr ".div1" 2; + setAttr ".ikrefarray" -type "string" "local_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "local_C0_root,global_C0_root"; + setAttr ".pinrefarray" -type "string" "local_C0_root,global_C0_root"; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "leg_R0_rootShape" -p "leg_R0_root"; - rename -uid "6A9DBA4C-448B-2939-34DE-8A9D15DB29F3"; + rename -uid "0C2D60C3-452C-EFA0-CADC-C9A6DE2124DC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13534,8 +13511,8 @@ createNode nurbsCurve -n "leg_R0_rootShape" -p "leg_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_R0_root25Shape" -p "leg_R0_root"; - rename -uid "563F71F7-42CF-C494-5DBA-10BF8C8911CE"; +createNode nurbsCurve -n "leg_R0_root4Shape" -p "leg_R0_root"; + rename -uid "BD348ED9-41BC-7495-B25D-559CCD872405"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13547,8 +13524,8 @@ createNode nurbsCurve -n "leg_R0_root25Shape" -p "leg_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_R0_root26Shape" -p "leg_R0_root"; - rename -uid "F79F48C2-46E5-BBD9-F18E-DEBD3CAA4BA6"; +createNode nurbsCurve -n "leg_R0_root5Shape" -p "leg_R0_root"; + rename -uid "FA0D7DC2-41B3-3925-9EC9-A6AEDC03969E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13560,8 +13537,8 @@ createNode nurbsCurve -n "leg_R0_root26Shape" -p "leg_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_R0_root27Shape" -p "leg_R0_root"; - rename -uid "242C2E18-4D38-4AD9-AC78-EDAC677478E4"; +createNode nurbsCurve -n "leg_R0_root6Shape" -p "leg_R0_root"; + rename -uid "5EA45749-4BE0-38DC-9EED-9691E7A83746"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13588,10 +13565,10 @@ createNode nurbsCurve -n "leg_R0_root27Shape" -p "leg_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "leg_R0_knee" -p "leg_R0_root"; - rename -uid "C5A92A65-41AE-B805-EB97-59A43243B105"; + rename -uid "A7C0872D-4A34-8005-718C-898149D97704"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -4.3795369772304085 0.3883864434680584 -4.6629367034256575e-015 ; + setAttr ".t" -type "double3" -4.3795369772304023 0.38838644346805862 -3.7747582837255322e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -13600,12 +13577,12 @@ createNode transform -n "leg_R0_knee" -p "leg_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999911 1.0000000000000018 ; + setAttr ".s" -type "double3" 1.0000000000000011 1 1.0000000000000018 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "leg_R0_kneeShape" -p "leg_R0_knee"; - rename -uid "684F92D7-4E92-0352-83A8-6FB7F8F6DB94"; + rename -uid "D5003133-4D3C-12F9-AA37-C49EBBBF1761"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13617,8 +13594,8 @@ createNode nurbsCurve -n "leg_R0_kneeShape" -p "leg_R0_knee"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_R0_knee25Shape" -p "leg_R0_knee"; - rename -uid "7F89AFE1-4D8D-B2E7-60EF-C4A13BB1BE71"; +createNode nurbsCurve -n "leg_R0_knee4Shape" -p "leg_R0_knee"; + rename -uid "6A415001-45AB-1311-3CFE-7BBEEB2E9B1A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13630,8 +13607,8 @@ createNode nurbsCurve -n "leg_R0_knee25Shape" -p "leg_R0_knee"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_R0_knee26Shape" -p "leg_R0_knee"; - rename -uid "DE576E35-433B-3BE8-380A-AA8DA96FA257"; +createNode nurbsCurve -n "leg_R0_knee5Shape" -p "leg_R0_knee"; + rename -uid "F028A3EA-4FA3-6468-0786-428B793ACEA0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13643,8 +13620,8 @@ createNode nurbsCurve -n "leg_R0_knee26Shape" -p "leg_R0_knee"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_R0_knee27Shape" -p "leg_R0_knee"; - rename -uid "10AFE2A6-4AA8-10B6-B4E3-F0B83E59DEF9"; +createNode nurbsCurve -n "leg_R0_knee6Shape" -p "leg_R0_knee"; + rename -uid "ABA11490-4465-7411-A54C-A7AEB48B97FC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13661,8 +13638,8 @@ createNode nurbsCurve -n "leg_R0_knee27Shape" -p "leg_R0_knee"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_R0_knee27_0crvShape" -p "leg_R0_knee"; - rename -uid "51BC9BDD-4FCC-1B63-349E-ED942AFA2A12"; +createNode nurbsCurve -n "leg_R0_knee6_0crvShape" -p "leg_R0_knee"; + rename -uid "27797664-4C6D-B922-EC60-0A8D3DBBEF69"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13679,8 +13656,8 @@ createNode nurbsCurve -n "leg_R0_knee27_0crvShape" -p "leg_R0_knee"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_R0_knee27_1crvShape" -p "leg_R0_knee"; - rename -uid "A137523A-4925-5497-160E-D68543D1ACE7"; +createNode nurbsCurve -n "leg_R0_knee6_1crvShape" -p "leg_R0_knee"; + rename -uid "C8C6F2FD-40E6-837B-6B90-828295640CBE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13698,10 +13675,10 @@ createNode nurbsCurve -n "leg_R0_knee27_1crvShape" -p "leg_R0_knee"; 0 0 -0.1875 ; createNode transform -n "leg_R0_ankle" -p "leg_R0_knee"; - rename -uid "F12D648D-4BD2-4819-1951-13A422FC4F87"; + rename -uid "C7658E00-448E-0656-C085-5CAF065A51E3"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -3.3306690738754696e-015 -4.5414075240554155 -0.74630601922780038 ; + setAttr ".t" -type "double3" -6.6613381477509392e-016 -4.5414075240554155 -0.74630601922780004 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -13709,12 +13686,12 @@ createNode transform -n "leg_R0_ankle" -p "leg_R0_knee"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000022 0.99999999999999989 0.99999999999999878 ; + setAttr ".s" -type "double3" 1.0000000000000016 0.99999999999999989 0.99999999999999878 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "leg_R0_ankleShape" -p "leg_R0_ankle"; - rename -uid "1CC3D5B1-4B3E-3A28-93ED-70B8E4FD15FF"; + rename -uid "D9F1987C-4691-2118-32A1-BBA508DCB5E7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13726,8 +13703,8 @@ createNode nurbsCurve -n "leg_R0_ankleShape" -p "leg_R0_ankle"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_R0_ankle25Shape" -p "leg_R0_ankle"; - rename -uid "5ABD47EF-4398-15B2-F654-D6A97596E200"; +createNode nurbsCurve -n "leg_R0_ankle4Shape" -p "leg_R0_ankle"; + rename -uid "D82525FD-4457-A31B-8417-C48C00AE8464"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13739,8 +13716,8 @@ createNode nurbsCurve -n "leg_R0_ankle25Shape" -p "leg_R0_ankle"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_R0_ankle26Shape" -p "leg_R0_ankle"; - rename -uid "B2E7E98E-4424-5639-4AE6-0D85D7B6D64A"; +createNode nurbsCurve -n "leg_R0_ankle5Shape" -p "leg_R0_ankle"; + rename -uid "DFA4AE6B-41E8-9301-DBA4-4FB871B8C2B3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13752,8 +13729,8 @@ createNode nurbsCurve -n "leg_R0_ankle26Shape" -p "leg_R0_ankle"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_R0_ankle27Shape" -p "leg_R0_ankle"; - rename -uid "BFFEB731-458C-E717-4C65-DAB96D9FB96F"; +createNode nurbsCurve -n "leg_R0_ankle6Shape" -p "leg_R0_ankle"; + rename -uid "17332D19-4C45-047E-804B-E5B8BF89B40D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13770,8 +13747,8 @@ createNode nurbsCurve -n "leg_R0_ankle27Shape" -p "leg_R0_ankle"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_R0_ankle27_0crvShape" -p "leg_R0_ankle"; - rename -uid "5B5CF71C-4BE0-B3DB-D805-A6AABD99FD49"; +createNode nurbsCurve -n "leg_R0_ankle6_0crvShape" -p "leg_R0_ankle"; + rename -uid "0E0D00B8-4DB6-108C-6B6F-0AA74C71F480"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13788,8 +13765,8 @@ createNode nurbsCurve -n "leg_R0_ankle27_0crvShape" -p "leg_R0_ankle"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_R0_ankle27_1crvShape" -p "leg_R0_ankle"; - rename -uid "60921819-48D3-4D20-A1F7-4BBEB9B6089A"; +createNode nurbsCurve -n "leg_R0_ankle6_1crvShape" -p "leg_R0_ankle"; + rename -uid "7FCC3DAB-4F9D-0A84-2E75-569EA63285D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13807,10 +13784,10 @@ createNode nurbsCurve -n "leg_R0_ankle27_1crvShape" -p "leg_R0_ankle"; 0 0 -0.1875 ; createNode transform -n "leg_R0_eff" -p "leg_R0_ankle"; - rename -uid "A05D230C-41E0-8265-345A-8B982CE22EDF"; + rename -uid "BC21A577-4691-A92A-710C-DDA175232B39"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.9984014443252818e-015 2.4424906541753444e-015 2.1377206638691328 ; + setAttr ".t" -type "double3" 1.5543122344752192e-015 2.4424906541753444e-015 2.1377206638691337 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -13819,12 +13796,12 @@ createNode transform -n "leg_R0_eff" -p "leg_R0_ankle"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000029 1.0000000000000002 1.0000000000000024 ; + setAttr ".s" -type "double3" 1.0000000000000042 0.99999999999999878 1.0000000000000031 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "leg_R0_effShape" -p "leg_R0_eff"; - rename -uid "03C5C901-4D52-F881-2D59-BBA8505C3872"; + rename -uid "8EF35C6F-4634-C731-AD38-DE81BE6F4480"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13836,8 +13813,8 @@ createNode nurbsCurve -n "leg_R0_effShape" -p "leg_R0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "leg_R0_eff25Shape" -p "leg_R0_eff"; - rename -uid "820A43F4-4217-AC39-F2A9-95921550DFFA"; +createNode nurbsCurve -n "leg_R0_eff4Shape" -p "leg_R0_eff"; + rename -uid "01114149-44B9-F5B9-2F9B-F1B78DC92271"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13849,8 +13826,8 @@ createNode nurbsCurve -n "leg_R0_eff25Shape" -p "leg_R0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "leg_R0_eff26Shape" -p "leg_R0_eff"; - rename -uid "3DB9E0E9-472A-0FD8-0AE6-AC9D0584E514"; +createNode nurbsCurve -n "leg_R0_eff5Shape" -p "leg_R0_eff"; + rename -uid "D32620EB-4E19-B8BE-29CC-D8B2635D060F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13862,8 +13839,8 @@ createNode nurbsCurve -n "leg_R0_eff26Shape" -p "leg_R0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "leg_R0_eff27Shape" -p "leg_R0_eff"; - rename -uid "71BB0BD0-4CAC-7F9E-D05F-118CC6BA36C9"; +createNode nurbsCurve -n "leg_R0_eff6Shape" -p "leg_R0_eff"; + rename -uid "134A21A0-433C-83AF-E5A6-388FEEAB19A4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13880,8 +13857,8 @@ createNode nurbsCurve -n "leg_R0_eff27Shape" -p "leg_R0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_R0_eff27_0crvShape" -p "leg_R0_eff"; - rename -uid "0A7E898A-4905-707D-CBEF-9B8F35293F65"; +createNode nurbsCurve -n "leg_R0_eff6_0crvShape" -p "leg_R0_eff"; + rename -uid "46B5D75E-402D-8198-E6DD-9697E2C94EA3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13898,8 +13875,8 @@ createNode nurbsCurve -n "leg_R0_eff27_0crvShape" -p "leg_R0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "leg_R0_eff27_1crvShape" -p "leg_R0_eff"; - rename -uid "919EA3B5-4DD6-FF64-5971-C1BCFF6EDE0E"; +createNode nurbsCurve -n "leg_R0_eff6_1crvShape" -p "leg_R0_eff"; + rename -uid "4B2BE4BD-4419-6783-7BFA-1AA9E9A56FC1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13917,7 +13894,7 @@ createNode nurbsCurve -n "leg_R0_eff27_1crvShape" -p "leg_R0_eff"; 0 0 -0.1875 ; createNode transform -n "foot_R0_root" -p "leg_R0_ankle"; - rename -uid "7E5ADD70-4B9A-DF12-3DF9-DBAA61715DC7"; + rename -uid "F81A4DA7-4C6C-7492-BC0C-E98E4BB42F79"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -13926,20 +13903,20 @@ createNode transform -n "foot_R0_root" -p "leg_R0_ankle"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.2212453270876722e-015 1.9984014443252818e-015 2.2204460492503131e-016 ; + setAttr ".t" -type "double3" 5.5511151231257827e-016 1.7763568394002505e-015 0 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 -84.230890510426093 0 ; + setAttr ".r" -type "double3" 0 -84.230890510426036 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99979752268518451 0.99979752268518429 0.99979752268518296 ; + setAttr ".s" -type "double3" 0.99979752268518485 0.99979752268518218 0.99979752268518141 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -13949,10 +13926,8 @@ createNode transform -n "foot_R0_root" -p "leg_R0_ankle"; setAttr ".connector" -type "string" "leg_2jnt_01"; setAttr ".ui_host" -type "string" "legUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".useRollCtl" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "foot_R0_rootShape" -p "foot_R0_root"; - rename -uid "A8B63760-4592-C335-A908-B5BAC99DED11"; + rename -uid "939DDADE-48F7-8905-DA5A-F48F25CAF3CF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13964,8 +13939,8 @@ createNode nurbsCurve -n "foot_R0_rootShape" -p "foot_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_R0_root25Shape" -p "foot_R0_root"; - rename -uid "914095FA-4A88-2B9B-287D-A08B5BC60175"; +createNode nurbsCurve -n "foot_R0_root4Shape" -p "foot_R0_root"; + rename -uid "F83B0205-44B9-CFEB-28E4-8A8F3CECCE7C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13977,8 +13952,8 @@ createNode nurbsCurve -n "foot_R0_root25Shape" -p "foot_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_R0_root26Shape" -p "foot_R0_root"; - rename -uid "8562E0CE-45A8-C768-D4FB-F88550F6637D"; +createNode nurbsCurve -n "foot_R0_root5Shape" -p "foot_R0_root"; + rename -uid "549E319F-4F1A-1DED-0BA5-BCAAD83FB163"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -13990,8 +13965,8 @@ createNode nurbsCurve -n "foot_R0_root26Shape" -p "foot_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_R0_root27Shape" -p "foot_R0_root"; - rename -uid "722E3881-4A66-8998-06DE-04B069DAF2C0"; +createNode nurbsCurve -n "foot_R0_root6Shape" -p "foot_R0_root"; + rename -uid "CF66E927-468B-7802-08AC-76877021EC3C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14018,24 +13993,24 @@ createNode nurbsCurve -n "foot_R0_root27Shape" -p "foot_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "foot_R0_0_loc" -p "foot_R0_root"; - rename -uid "897AC8A6-4509-9812-F3FC-BCA3739341E4"; + rename -uid "4A8FFE71-46E9-8B5A-B47C-BEB18092B6C5"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3903626031763234 -0.77423199221117323 -0.00087398468478161462 ; + setAttr ".t" -type "double3" 1.3903626031763223 -0.77423199221117389 -0.00087398468478183666 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 0 -22.49024465344802 ; + setAttr ".r" -type "double3" 0 0 -22.490244653448066 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999822 0.99999999999999856 0.99999999999999911 ; + setAttr ".s" -type "double3" 0.99999999999999845 0.99999999999999956 1.0000000000000011 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_R0_0_locShape" -p "foot_R0_0_loc"; - rename -uid "566AD260-4FBC-F468-25BC-A99D215C9C3D"; + rename -uid "88B52614-44A3-B8CF-6B77-96AF68489843"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14047,8 +14022,8 @@ createNode nurbsCurve -n "foot_R0_0_locShape" -p "foot_R0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_R0_0_loc25Shape" -p "foot_R0_0_loc"; - rename -uid "51BB368B-4DB0-3D19-3478-3E96F0BA0620"; +createNode nurbsCurve -n "foot_R0_0_loc4Shape" -p "foot_R0_0_loc"; + rename -uid "287D9699-45BA-B250-0765-C3A30E596711"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14060,8 +14035,8 @@ createNode nurbsCurve -n "foot_R0_0_loc25Shape" -p "foot_R0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_R0_0_loc26Shape" -p "foot_R0_0_loc"; - rename -uid "EC890CE6-494B-DAFD-17C0-B893D075ADC7"; +createNode nurbsCurve -n "foot_R0_0_loc5Shape" -p "foot_R0_0_loc"; + rename -uid "591828FE-4CE3-2159-A3E1-F8BF68DFBCE7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14073,8 +14048,8 @@ createNode nurbsCurve -n "foot_R0_0_loc26Shape" -p "foot_R0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_R0_0_loc27Shape" -p "foot_R0_0_loc"; - rename -uid "EC559A03-480B-F671-43DA-119666455D70"; +createNode nurbsCurve -n "foot_R0_0_loc6Shape" -p "foot_R0_0_loc"; + rename -uid "9EDFE4E8-4D1E-EFF9-A276-C0AEE435636A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14091,8 +14066,8 @@ createNode nurbsCurve -n "foot_R0_0_loc27Shape" -p "foot_R0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_0_loc27_0crvShape" -p "foot_R0_0_loc"; - rename -uid "5E1A3BE4-49BC-160C-8DE4-F3B31262C62A"; +createNode nurbsCurve -n "foot_R0_0_loc6_0crvShape" -p "foot_R0_0_loc"; + rename -uid "A70BFF6B-4DDE-7FE8-C1AC-E7A44FFA8F11"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14109,8 +14084,8 @@ createNode nurbsCurve -n "foot_R0_0_loc27_0crvShape" -p "foot_R0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_0_loc27_1crvShape" -p "foot_R0_0_loc"; - rename -uid "F8323E7C-4EB8-0B10-CFE0-B59AD49392F9"; +createNode nurbsCurve -n "foot_R0_0_loc6_1crvShape" -p "foot_R0_0_loc"; + rename -uid "B744348F-45BE-73D2-5483-AE9B2DE9EA0E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14128,24 +14103,24 @@ createNode nurbsCurve -n "foot_R0_0_loc27_1crvShape" -p "foot_R0_0_loc"; 0 0 -0.1875 ; createNode transform -n "foot_R0_1_loc" -p "foot_R0_0_loc"; - rename -uid "4857E195-4757-3C0C-5C66-BC86493FF26C"; + rename -uid "F063FDCD-4FE2-4124-C150-B9B786DAAEFE"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.57241624162444316 0.052400542543842743 0.00053566803260785001 ; + setAttr ".t" -type "double3" 0.57241624162444515 0.0524005425438413 0.0005356680326082941 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 0 22.49024465344802 ; + setAttr ".r" -type "double3" 0 0 22.490244653448027 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000016 1.0000000000000002 1.0000000000000011 ; + setAttr ".s" -type "double3" 1.0000000000000009 1 0.99999999999999911 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_R0_1_locShape" -p "foot_R0_1_loc"; - rename -uid "8678076A-4D70-75BB-40BC-A797BCEC5332"; + rename -uid "DCB57212-4E1B-2986-0881-71BC78110964"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14157,8 +14132,8 @@ createNode nurbsCurve -n "foot_R0_1_locShape" -p "foot_R0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_R0_1_loc25Shape" -p "foot_R0_1_loc"; - rename -uid "98A0AAC2-438C-FB0F-955F-9A8B042F31C1"; +createNode nurbsCurve -n "foot_R0_1_loc4Shape" -p "foot_R0_1_loc"; + rename -uid "59176BCF-407E-13EB-0BA1-3C8631A968BD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14170,8 +14145,8 @@ createNode nurbsCurve -n "foot_R0_1_loc25Shape" -p "foot_R0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_R0_1_loc26Shape" -p "foot_R0_1_loc"; - rename -uid "A8243406-4C17-9CA5-A59D-B880B8666F52"; +createNode nurbsCurve -n "foot_R0_1_loc5Shape" -p "foot_R0_1_loc"; + rename -uid "A80D3149-4166-E52F-ECD7-D7B2083B8DDF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14183,8 +14158,8 @@ createNode nurbsCurve -n "foot_R0_1_loc26Shape" -p "foot_R0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_R0_1_loc27Shape" -p "foot_R0_1_loc"; - rename -uid "A0B431DB-4FEC-30CD-DB32-9EB9680D7ABE"; +createNode nurbsCurve -n "foot_R0_1_loc6Shape" -p "foot_R0_1_loc"; + rename -uid "23412282-4232-BBA6-0B80-49BF02CD9538"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14201,8 +14176,8 @@ createNode nurbsCurve -n "foot_R0_1_loc27Shape" -p "foot_R0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_1_loc27_0crvShape" -p "foot_R0_1_loc"; - rename -uid "9E0C7DEF-42F9-0F95-AF09-31B72C61F715"; +createNode nurbsCurve -n "foot_R0_1_loc6_0crvShape" -p "foot_R0_1_loc"; + rename -uid "A9977BE5-44F6-A0CA-823E-06A1828628E3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14219,8 +14194,8 @@ createNode nurbsCurve -n "foot_R0_1_loc27_0crvShape" -p "foot_R0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_1_loc27_1crvShape" -p "foot_R0_1_loc"; - rename -uid "10894C43-42F4-0AB3-F211-6D8E29A3C5B0"; +createNode nurbsCurve -n "foot_R0_1_loc6_1crvShape" -p "foot_R0_1_loc"; + rename -uid "AC69BD81-45FC-4312-15B7-9AB33F91AD4B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14238,10 +14213,10 @@ createNode nurbsCurve -n "foot_R0_1_loc27_1crvShape" -p "foot_R0_1_loc"; 0 0 -0.1875 ; createNode transform -n "foot_R0_2_loc" -p "foot_R0_1_loc"; - rename -uid "4F5A0228-48C0-620D-2D50-1D86F3DF9CA1"; + rename -uid "1BC0ACC5-4A4D-2250-95D6-C9ACA96FB806"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.34999482654518421 -0.34355031336095415 -0.0018389437992674118 ; + setAttr ".t" -type "double3" 0.3499948265451831 -0.34355031336095398 -0.0018389437992665236 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -14250,12 +14225,12 @@ createNode transform -n "foot_R0_2_loc" -p "foot_R0_1_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000011 1.0000000000000004 1.000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999967 1.0000000000000013 0.99999999999999811 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_R0_2_locShape" -p "foot_R0_2_loc"; - rename -uid "D6779881-41E2-AB8B-BD1C-E18015EE3E2E"; + rename -uid "260A65A9-4AA4-860C-14CF-61B8D870FB34"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14267,8 +14242,8 @@ createNode nurbsCurve -n "foot_R0_2_locShape" -p "foot_R0_2_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_R0_2_loc25Shape" -p "foot_R0_2_loc"; - rename -uid "4E72952B-4146-DCD1-2749-DA82F7E0CBF9"; +createNode nurbsCurve -n "foot_R0_2_loc4Shape" -p "foot_R0_2_loc"; + rename -uid "64FF479D-477E-3CEC-6E71-64A1F9DB8188"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14280,8 +14255,8 @@ createNode nurbsCurve -n "foot_R0_2_loc25Shape" -p "foot_R0_2_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_R0_2_loc26Shape" -p "foot_R0_2_loc"; - rename -uid "63B44DB0-4CD8-5984-9AAF-C392377CB084"; +createNode nurbsCurve -n "foot_R0_2_loc5Shape" -p "foot_R0_2_loc"; + rename -uid "04195C99-49FF-74AE-4BCD-69A0F3D8AAAE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14293,8 +14268,8 @@ createNode nurbsCurve -n "foot_R0_2_loc26Shape" -p "foot_R0_2_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_R0_2_loc27Shape" -p "foot_R0_2_loc"; - rename -uid "367081C1-430B-C651-4F56-47B43C6C57CF"; +createNode nurbsCurve -n "foot_R0_2_loc6Shape" -p "foot_R0_2_loc"; + rename -uid "BEFE9C42-4677-D01B-CFAD-4C9C67B4B7B0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14311,8 +14286,8 @@ createNode nurbsCurve -n "foot_R0_2_loc27Shape" -p "foot_R0_2_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_2_loc27_0crvShape" -p "foot_R0_2_loc"; - rename -uid "F95E3A31-4C18-5688-4D06-2EB8B3CB56AF"; +createNode nurbsCurve -n "foot_R0_2_loc6_0crvShape" -p "foot_R0_2_loc"; + rename -uid "47CC2FA6-409D-998F-6BE1-A0961C474E53"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14329,8 +14304,8 @@ createNode nurbsCurve -n "foot_R0_2_loc27_0crvShape" -p "foot_R0_2_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_2_loc27_1crvShape" -p "foot_R0_2_loc"; - rename -uid "98D7B537-41CE-7A77-49B1-D3B2EA3BB2A4"; +createNode nurbsCurve -n "foot_R0_2_loc6_1crvShape" -p "foot_R0_2_loc"; + rename -uid "30E6C64C-485C-C75C-8CD2-33AD2036BD5E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14348,19 +14323,19 @@ createNode nurbsCurve -n "foot_R0_2_loc27_1crvShape" -p "foot_R0_2_loc"; 0 0 -0.1875 ; createNode transform -n "foot_R0_crv" -p "foot_R0_root"; - rename -uid "125BCE9A-4298-6826-81D5-AD93A321590B"; + rename -uid "E2D09470-4A08-0E15-886B-8C83ED8C40AF"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 0.84123625248687028 -1.2934842521415475 1.0591437062861169 ; - setAttr ".r" -type "double3" 177.10098306027425 -84.223472754416562 -177.08621222536053 ; - setAttr ".s" -type "double3" 1.0497207713808359 1.0497207713808343 -1.0497207713808352 ; + setAttr ".t" -type "double3" 0.84123625248686917 -1.2934842521415504 1.0591437062861191 ; + setAttr ".r" -type "double3" 177.1009830602743 -84.223472754416505 -177.08621222536055 ; + setAttr ".s" -type "double3" 1.0497207713808365 1.0497207713808354 -1.049720771380835 ; createNode nurbsCurve -n "foot_R0_crvShape" -p "foot_R0_crv"; - rename -uid "81473DCD-4B44-4E84-1545-9D978A44BDE9"; + rename -uid "430A07DB-42B0-8221-07F6-98A3C6498E58"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "foot_R0_crvShapeOrig" -p "foot_R0_crv"; - rename -uid "2127B6BD-46F8-7529-30CF-25B8F987E82E"; + rename -uid "F0D0C716-468C-84D9-D6CC-82B81CA891B7"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -14373,10 +14348,10 @@ createNode nurbsCurve -n "foot_R0_crvShapeOrig" -p "foot_R0_crv"; 0 0 0 ; createNode transform -n "foot_R0_heel" -p "foot_R0_root"; - rename -uid "54F1C5D7-4E4A-EFD5-F5DF-9C85F362A4B6"; + rename -uid "3991BDBE-452A-88AB-7557-A6AB4D83A76F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.51442201408343335 -1.2883323665462234 -0.0019628851482422771 ; + setAttr ".t" -type "double3" -0.51442201408343335 -1.2883323665462258 -0.0019628851482431653 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -14384,12 +14359,12 @@ createNode transform -n "foot_R0_heel" -p "foot_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999878 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999911 1 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_R0_heelShape" -p "foot_R0_heel"; - rename -uid "A1ECC640-4CC1-A343-672A-83817A7701A9"; + rename -uid "0FED76BA-447D-8106-CAF4-7AA592DC9175"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14401,8 +14376,8 @@ createNode nurbsCurve -n "foot_R0_heelShape" -p "foot_R0_heel"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_R0_heel25Shape" -p "foot_R0_heel"; - rename -uid "3E2BCF5A-41BA-24BE-C7C5-BA8748A4E1B7"; +createNode nurbsCurve -n "foot_R0_heel4Shape" -p "foot_R0_heel"; + rename -uid "F69BDAC3-4BE4-52DD-D6F1-0DADD20DC1B0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14414,8 +14389,8 @@ createNode nurbsCurve -n "foot_R0_heel25Shape" -p "foot_R0_heel"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_R0_heel26Shape" -p "foot_R0_heel"; - rename -uid "B1ADAB25-42E9-E61E-CBB4-8A8717CAA6EF"; +createNode nurbsCurve -n "foot_R0_heel5Shape" -p "foot_R0_heel"; + rename -uid "5C42B95D-41DA-D0B6-05A5-3DB81C7DB81D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14427,8 +14402,8 @@ createNode nurbsCurve -n "foot_R0_heel26Shape" -p "foot_R0_heel"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_R0_heel27Shape" -p "foot_R0_heel"; - rename -uid "3C7D2846-4D44-1261-C0ED-AAA00F88A8EA"; +createNode nurbsCurve -n "foot_R0_heel6Shape" -p "foot_R0_heel"; + rename -uid "79695443-4F0A-E370-5B4A-C5BDA22F21B7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14445,8 +14420,8 @@ createNode nurbsCurve -n "foot_R0_heel27Shape" -p "foot_R0_heel"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_heel27_0crvShape" -p "foot_R0_heel"; - rename -uid "FAE26AAC-48AB-30B6-1F4E-29A5A8C42E53"; +createNode nurbsCurve -n "foot_R0_heel6_0crvShape" -p "foot_R0_heel"; + rename -uid "F3A974A4-48F5-5376-A58C-1B858A11B739"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14463,8 +14438,8 @@ createNode nurbsCurve -n "foot_R0_heel27_0crvShape" -p "foot_R0_heel"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_heel27_1crvShape" -p "foot_R0_heel"; - rename -uid "85000C9F-44DA-562F-B70D-B2B7A8E2BAF5"; +createNode nurbsCurve -n "foot_R0_heel6_1crvShape" -p "foot_R0_heel"; + rename -uid "8553C637-42B7-8939-869C-7A8A764839FF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14482,10 +14457,10 @@ createNode nurbsCurve -n "foot_R0_heel27_1crvShape" -p "foot_R0_heel"; 0 0 -0.1875 ; createNode transform -n "foot_R0_outpivot" -p "foot_R0_root"; - rename -uid "3B0EE826-4470-6AB9-1540-43BD42EC3B83"; + rename -uid "D3949A08-4689-25CB-75BD-988FCCABA4B7"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3551807145991002 -1.2852474767223807 -0.54483578923279619 ; + setAttr ".t" -type "double3" 1.3551807145991006 -1.2852474767223834 -0.54483578923279752 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -14493,12 +14468,12 @@ createNode transform -n "foot_R0_outpivot" -p "foot_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999878 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999911 1 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_R0_outpivotShape" -p "foot_R0_outpivot"; - rename -uid "7F6374C2-4C99-4F92-B4B0-3EB55DDB72D8"; + rename -uid "4B462151-444B-A4E5-0DBD-B4A76F03E50B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14510,8 +14485,8 @@ createNode nurbsCurve -n "foot_R0_outpivotShape" -p "foot_R0_outpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_R0_outpivot25Shape" -p "foot_R0_outpivot"; - rename -uid "E35CE0F4-44E2-7C3C-4C98-7DBA55A28094"; +createNode nurbsCurve -n "foot_R0_outpivot4Shape" -p "foot_R0_outpivot"; + rename -uid "7F7278E9-4966-43B2-F92F-90A773E3A036"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14523,8 +14498,8 @@ createNode nurbsCurve -n "foot_R0_outpivot25Shape" -p "foot_R0_outpivot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_R0_outpivot26Shape" -p "foot_R0_outpivot"; - rename -uid "BAE64686-4EEC-ECBA-04EB-5C9B84DB8E22"; +createNode nurbsCurve -n "foot_R0_outpivot5Shape" -p "foot_R0_outpivot"; + rename -uid "4DF6E19E-4EE7-3728-356A-0A9CE2D11536"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14536,8 +14511,8 @@ createNode nurbsCurve -n "foot_R0_outpivot26Shape" -p "foot_R0_outpivot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_R0_outpivot27Shape" -p "foot_R0_outpivot"; - rename -uid "0BC11A1E-4ECA-B633-D304-53A02A206466"; +createNode nurbsCurve -n "foot_R0_outpivot6Shape" -p "foot_R0_outpivot"; + rename -uid "DAAA926E-4387-4FD6-D778-078879CCED82"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14554,8 +14529,8 @@ createNode nurbsCurve -n "foot_R0_outpivot27Shape" -p "foot_R0_outpivot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_outpivot27_0crvShape" -p "foot_R0_outpivot"; - rename -uid "3994963B-41EF-723B-9524-F48EA7797360"; +createNode nurbsCurve -n "foot_R0_outpivot6_0crvShape" -p "foot_R0_outpivot"; + rename -uid "8BCF9C02-416E-72ED-0F97-89A983D4148B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14572,8 +14547,8 @@ createNode nurbsCurve -n "foot_R0_outpivot27_0crvShape" -p "foot_R0_outpivot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_outpivot27_1crvShape" -p "foot_R0_outpivot"; - rename -uid "60ECF76F-4B96-7693-FF7A-75A7B5618CC5"; +createNode nurbsCurve -n "foot_R0_outpivot6_1crvShape" -p "foot_R0_outpivot"; + rename -uid "FAC02D99-437E-5BDD-346B-EF9FF7EBAA36"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14591,10 +14566,10 @@ createNode nurbsCurve -n "foot_R0_outpivot27_1crvShape" -p "foot_R0_outpivot"; 0 0 -0.1875 ; createNode transform -n "foot_R0_inpivot" -p "foot_R0_root"; - rename -uid "61B102C7-42EB-B120-8D03-C3B18FD71FA6"; + rename -uid "0ADF1F26-4160-392F-8178-4483F1145626"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3551807145991004 -1.2905939540073474 0.65234269833768666 ; + setAttr ".t" -type "double3" 1.3551807145990993 -1.2905939540073492 0.6523426983376861 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -14602,12 +14577,12 @@ createNode transform -n "foot_R0_inpivot" -p "foot_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999878 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999911 1 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "foot_R0_inpivotShape" -p "foot_R0_inpivot"; - rename -uid "7A8C6E77-4435-87EB-D5FD-CF8BB09A4CD3"; + rename -uid "B1ECD9C5-47F9-00DF-D146-64BA1E275FBE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14619,8 +14594,8 @@ createNode nurbsCurve -n "foot_R0_inpivotShape" -p "foot_R0_inpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "foot_R0_inpivot25Shape" -p "foot_R0_inpivot"; - rename -uid "18FFB1BA-4F76-20C0-8F4C-4D9DBAB284C2"; +createNode nurbsCurve -n "foot_R0_inpivot4Shape" -p "foot_R0_inpivot"; + rename -uid "E96F3F2F-44F6-36A0-A103-49B48BE4D4DE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14632,8 +14607,8 @@ createNode nurbsCurve -n "foot_R0_inpivot25Shape" -p "foot_R0_inpivot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "foot_R0_inpivot26Shape" -p "foot_R0_inpivot"; - rename -uid "EDF59F40-4B4E-0DF9-43CD-7F94CCFE164E"; +createNode nurbsCurve -n "foot_R0_inpivot5Shape" -p "foot_R0_inpivot"; + rename -uid "61651EF3-431B-4A69-E0F2-D8897BDB1021"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14645,8 +14620,8 @@ createNode nurbsCurve -n "foot_R0_inpivot26Shape" -p "foot_R0_inpivot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "foot_R0_inpivot27Shape" -p "foot_R0_inpivot"; - rename -uid "EEFAADF7-4E5B-0C4A-78B5-20AD829CC8B8"; +createNode nurbsCurve -n "foot_R0_inpivot6Shape" -p "foot_R0_inpivot"; + rename -uid "67878FB5-40A6-6316-5B03-47BE3B2A31A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14663,8 +14638,8 @@ createNode nurbsCurve -n "foot_R0_inpivot27Shape" -p "foot_R0_inpivot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_inpivot27_0crvShape" -p "foot_R0_inpivot"; - rename -uid "3C66DD34-49A6-FFC1-33B8-86A7234A7B57"; +createNode nurbsCurve -n "foot_R0_inpivot6_0crvShape" -p "foot_R0_inpivot"; + rename -uid "95229D44-4C65-FC39-181E-7387B6CC2F80"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14681,8 +14656,8 @@ createNode nurbsCurve -n "foot_R0_inpivot27_0crvShape" -p "foot_R0_inpivot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "foot_R0_inpivot27_1crvShape" -p "foot_R0_inpivot"; - rename -uid "B7481CE4-4E65-E21A-7CE6-42ADC8106084"; +createNode nurbsCurve -n "foot_R0_inpivot6_1crvShape" -p "foot_R0_inpivot"; + rename -uid "B3E91446-413E-EF7A-1F43-1DB8009D39D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14700,19 +14675,19 @@ createNode nurbsCurve -n "foot_R0_inpivot27_1crvShape" -p "foot_R0_inpivot"; 0 0 -0.1875 ; createNode transform -n "foot_R0_1" -p "foot_R0_root"; - rename -uid "C56BBEE6-46C4-A333-EB6E-39931E167CBA"; + rename -uid "F9221D09-4E19-8EFF-5B2B-6FBF476AF05E"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 0.84123625248687028 -1.2934842521415475 1.0591437062861169 ; - setAttr ".r" -type "double3" 177.10098306027425 -84.223472754416562 -177.08621222536053 ; - setAttr ".s" -type "double3" 1.0497207713808359 1.0497207713808343 -1.0497207713808352 ; + setAttr ".t" -type "double3" 0.84123625248686917 -1.2934842521415504 1.0591437062861191 ; + setAttr ".r" -type "double3" 177.1009830602743 -84.223472754416505 -177.08621222536055 ; + setAttr ".s" -type "double3" 1.0497207713808365 1.0497207713808354 -1.049720771380835 ; createNode nurbsCurve -n "foot_R0_Shape1" -p "foot_R0_1"; - rename -uid "2A0B4152-438C-6A68-BDE8-FC972BE43AFB"; + rename -uid "7799FFF4-482A-ABEF-3877-11840F072704"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "foot_R0_Shape1Orig" -p "foot_R0_1"; - rename -uid "8B77A4E9-4783-0D8C-FF1E-2EACB47C71AD"; + rename -uid "C747E92B-45D1-27A4-8CC7-7EAD07D3E8A3"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -14726,7 +14701,7 @@ createNode nurbsCurve -n "foot_R0_Shape1Orig" -p "foot_R0_1"; 0 0 0 ; createNode transform -n "legUI_R0_root" -p "foot_R0_root"; - rename -uid "A6C5AEF4-462A-C713-3FC3-10876D47550B"; + rename -uid "B6A1BA3D-4F84-C45D-176E-BF9F89277509"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -14750,12 +14725,14 @@ createNode transform -n "legUI_R0_root" -p "foot_R0_root"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.59908552650329661 0.5102979517299373 -1.4395512694570001 ; + setAttr ".t" -type "double3" 0.59908552650329572 0.51029795172993597 -1.4395512694570041 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -14764,7 +14741,7 @@ createNode transform -n "legUI_R0_root" -p "foot_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000036 0.99999999999999878 1.0000000000000013 ; + setAttr ".s" -type "double3" 1.0000000000000009 1 0.99999999999999778 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -14776,11 +14753,8 @@ createNode transform -n "legUI_R0_root" -p "foot_R0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "legUI_R0_rootShape" -p "legUI_R0_root"; - rename -uid "E40C421C-4A84-1B39-991D-139340B16BE1"; + rename -uid "0730A00A-48AE-FF7D-00F7-70BDA4B86BFC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14792,8 +14766,8 @@ createNode nurbsCurve -n "legUI_R0_rootShape" -p "legUI_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legUI_R0_root25Shape" -p "legUI_R0_root"; - rename -uid "54341298-4C94-50AB-7A7D-18A471485A38"; +createNode nurbsCurve -n "legUI_R0_root4Shape" -p "legUI_R0_root"; + rename -uid "E5816228-4B7C-048F-ECDE-FEA87DAA0348"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14805,8 +14779,8 @@ createNode nurbsCurve -n "legUI_R0_root25Shape" -p "legUI_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legUI_R0_root26Shape" -p "legUI_R0_root"; - rename -uid "A746A64B-4DC1-33B7-8C51-3189BDD27A1C"; +createNode nurbsCurve -n "legUI_R0_root5Shape" -p "legUI_R0_root"; + rename -uid "5A30FFB7-4908-F874-ABAC-DDAA99E837F3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14818,8 +14792,8 @@ createNode nurbsCurve -n "legUI_R0_root26Shape" -p "legUI_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legUI_R0_root27Shape" -p "legUI_R0_root"; - rename -uid "3CC4CCB5-4FD9-1C54-7B8A-BB85914436D9"; +createNode nurbsCurve -n "legUI_R0_root6Shape" -p "legUI_R0_root"; + rename -uid "F0766BC1-44E6-2187-9E66-9EBAF584BEBD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -14846,36 +14820,36 @@ createNode nurbsCurve -n "legUI_R0_root27Shape" -p "legUI_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "legUI_R0_sizeRef" -p "legUI_R0_root"; - rename -uid "7976011F-40BF-3ADF-E363-47B0483FF5DA"; + rename -uid "E36D6DB5-4661-F097-832B-3D859469B186"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.10551782846564928 -4.4408920985006262e-016 1.0444039858906451 ; + setAttr ".t" -type "double3" -0.1055178284656515 -2.2204460492503131e-016 1.0444039858906486 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0.029616667963943445 174.23096627485103 0.29463615418732969 ; + setAttr ".r" -type "double3" -0.029616667963955585 -5.7690337251490096 0.29463615418734485 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0497207713808316 1.0497207713808354 -1.0497207713808339 ; + setAttr ".s" -type "double3" 1.0497207713808356 1.0497207713808356 1.0497207713808376 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "leg_R0_crv" -p "leg_R0_root"; - rename -uid "643C1B12-41CB-56BD-0AE4-14B43DEF6128"; + rename -uid "2C44ADB9-4C1E-18B4-F19F-ADAFA4CDB87E"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -10.214166852209233 0.1914430359204585 0.96902196420373432 ; + setAttr ".t" -type "double3" -10.214166852209233 0.19144303592045839 0.96902196420373365 ; setAttr ".r" -type "double3" 90 -89.706856137729801 -179.99999999999815 ; - setAttr ".s" -type "double3" 1.0495082267377411 1.0495082267377378 -1.0495082267377407 ; + setAttr ".s" -type "double3" 1.0495082267377405 1.0495082267377378 -1.0495082267377407 ; createNode nurbsCurve -n "leg_R0_crvShape" -p "leg_R0_crv"; - rename -uid "0EE19EDA-4283-A073-727C-B2B759257E86"; + rename -uid "23638CBD-4C7E-6A12-3A87-2CA2495BFCB4"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "leg_R0_crvShapeOrig" -p "leg_R0_crv"; - rename -uid "247D980C-4DB1-CF54-A440-A9996AD8C46A"; + rename -uid "E3FF2F23-4490-C1DD-CEE8-DFB01946E39E"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -14888,999 +14862,999 @@ createNode nurbsCurve -n "leg_R0_crvShapeOrig" -p "leg_R0_crv"; 0 0 0 ; createNode lightLinker -s -n "lightLinker1"; - rename -uid "7C218431-49B6-0C9A-1965-88B7508C00FD"; + rename -uid "E93B7F2B-4182-4655-73A4-31956CE931F8"; setAttr -s 2 ".lnk"; setAttr -s 2 ".slnk"; createNode shapeEditorManager -n "shapeEditorManager"; - rename -uid "CB11AE2F-4842-E86D-1E32-5AA65E991767"; + rename -uid "D463EFA9-41CF-7A30-AEBF-959FF840F298"; createNode poseInterpolatorManager -n "poseInterpolatorManager"; - rename -uid "76CA94A9-4342-FECA-B366-7CB87BFEBE18"; + rename -uid "72FCE104-4D89-DD3A-EDC5-12AB4F97F675"; createNode displayLayerManager -n "layerManager"; - rename -uid "B3A00A8E-414E-2197-334B-6382C68EADDD"; + rename -uid "3474FF24-4C39-B59D-18D5-A6BAB78F10E1"; createNode displayLayer -n "defaultLayer"; - rename -uid "4BEC5440-4E24-B33C-470C-998F04382A20"; + rename -uid "273B9BD5-4D88-1B5C-4F57-11BF27B01E55"; createNode renderLayerManager -n "renderLayerManager"; - rename -uid "33D391F7-4186-E08F-068E-368DC9C3B3CA"; + rename -uid "241A89AA-45BE-799F-24D0-A4AD59163B33"; createNode renderLayer -n "defaultRenderLayer"; - rename -uid "FD9A5986-45BC-EDA8-28D5-42A9E6B9702D"; + rename -uid "2AA7D889-4DAD-320F-7FA9-0D8BACEC1D23"; setAttr ".g" yes; -createNode animCurveUU -n "spine_C0_root_st_profile1"; - rename -uid "86131292-4FB7-0B0E-7BE6-76B8788A3192"; +createNode animCurveUU -n "spine_C0_root_st_profile"; + rename -uid "AE390B45-44BA-56AD-10BF-DCBE7E6810B2"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "spine_C0_root_sq_profile1"; - rename -uid "8B934DC1-49DB-E520-BE25-D8B3DA7DF803"; +createNode animCurveUU -n "spine_C0_root_sq_profile"; + rename -uid "632EAF81-414C-D806-C45A-2E9D276885D9"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode unitConversion -n "unitConversion131"; - rename -uid "62E23BCA-4AD6-6048-D2A9-558E5C75D82A"; +createNode unitConversion -n "unitConversion148"; + rename -uid "7EC11F4E-4C7A-130A-2C64-C4BBBD99C7A1"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns411"; - rename -uid "C254DC23-473C-0AF2-79B9-ECB3EA2F6B94"; +createNode mgear_curveCns -n "mgear_curveCns451"; + rename -uid "2127668B-4C22-D9AD-253A-76B78AF64FED"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak559"; - rename -uid "C5C98EB6-42EA-FE98-BD94-9999DE171C91"; -createNode objectSet -n "mgear_curveCns411Set"; - rename -uid "4595F037-440A-814D-D7A4-F099E8DD7402"; +createNode tweak -n "tweak599"; + rename -uid "CB1CB3E6-4C14-CF68-316B-0E8B7C3E2D9C"; +createNode objectSet -n "mgear_curveCns451Set"; + rename -uid "91190971-4476-CD58-54AA-69866D80DD00"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns411GroupId"; - rename -uid "815E3A79-410C-1707-2202-98B0829829BB"; +createNode groupId -n "mgear_curveCns451GroupId"; + rename -uid "3711B6F5-485D-B278-64A5-CA9C7A6AD2EC"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns411GroupParts"; - rename -uid "BC1CA34D-4136-94F3-D359-2EB71A0E0E51"; +createNode groupParts -n "mgear_curveCns451GroupParts"; + rename -uid "79E0EC20-4773-8C97-60CE-77935145A077"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet559"; - rename -uid "6AEB18B3-44C5-427F-E114-18935C3D0608"; +createNode objectSet -n "tweakSet599"; + rename -uid "1281F6F8-4BBA-B4F7-1BE0-9082EEE0DC1B"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8687"; - rename -uid "335ED6D5-44F5-6154-EA22-A48030ADF76B"; +createNode groupId -n "groupId8767"; + rename -uid "28EDE5E5-410D-FEFC-7BC4-6A8AB760501F"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1118"; - rename -uid "FFB32030-4CE2-774B-A7B1-6E9110967F8C"; +createNode groupParts -n "groupParts1198"; + rename -uid "E0AC32DC-4345-A14A-6CAF-9F84818CAFF2"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion132"; - rename -uid "EA2EA449-4A89-33D9-F02F-6C8E182A8585"; +createNode unitConversion -n "unitConversion149"; + rename -uid "0AE3CEE6-4A4B-B865-BD43-9B8D64F40155"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns412"; - rename -uid "CE28F5CE-43C5-D5AC-38C9-BEADAF840535"; +createNode mgear_curveCns -n "mgear_curveCns452"; + rename -uid "DC51E475-4F7B-31D8-D62E-CA9642157C59"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak560"; - rename -uid "463E6B21-467C-29D9-61B5-7098E824B607"; -createNode objectSet -n "mgear_curveCns412Set"; - rename -uid "4BB358DE-4777-4580-8507-12855632F466"; +createNode tweak -n "tweak600"; + rename -uid "1485F214-4ACA-2AA7-CFEE-FAAF8AEF9541"; +createNode objectSet -n "mgear_curveCns452Set"; + rename -uid "ABA3B672-4426-C320-9B89-9C96BAA0B3F9"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns412GroupId"; - rename -uid "DBEFB33B-4BE2-7D0D-1EC5-F3B3BE8651E2"; +createNode groupId -n "mgear_curveCns452GroupId"; + rename -uid "4AD73B69-4538-14B9-F9AA-8CA138EF5740"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns412GroupParts"; - rename -uid "ECECE56B-40F2-1B40-2F09-3FAAEBE76C5D"; +createNode groupParts -n "mgear_curveCns452GroupParts"; + rename -uid "891D9EA2-46CA-876E-6EBC-CABB68430CB2"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet560"; - rename -uid "240EB338-439A-DB4A-78F4-E299A7359032"; +createNode objectSet -n "tweakSet600"; + rename -uid "595D1665-46CE-3E03-268B-32BF5BA4CE94"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8689"; - rename -uid "04937EA8-49A4-33AF-94DD-4E93D353C0B3"; +createNode groupId -n "groupId8769"; + rename -uid "62053CB1-4F44-541E-3F42-7FADEA39B5EE"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1120"; - rename -uid "9050DB8E-4C43-E29D-BA5D-5FB75252BAF8"; +createNode groupParts -n "groupParts1200"; + rename -uid "08253CCA-42B5-76C1-CA66-24B1ECFBF522"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode animCurveUU -n "arm_L0_root_st_profile1"; - rename -uid "08AD7BD2-4A72-A264-075D-22AC5DD9BE91"; +createNode animCurveUU -n "arm_L0_root_st_profile"; + rename -uid "9CAF819C-4ECC-37DE-59F0-B48F4E30CCC8"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -0.5 1 0; -createNode animCurveUU -n "arm_L0_root_sq_profile1"; - rename -uid "ED558E52-4AAF-4365-8CFD-7299D7991019"; +createNode animCurveUU -n "arm_L0_root_sq_profile"; + rename -uid "D20A66CF-400A-6213-FC04-189E15B9761B"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 0.5 1 0; -createNode mgear_curveCns -n "mgear_curveCns413"; - rename -uid "5173493B-42E3-4348-0198-FB946EE064FE"; +createNode mgear_curveCns -n "mgear_curveCns453"; + rename -uid "93E766E5-483C-45FB-AB10-638C4E21475D"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak561"; - rename -uid "EE2A43C0-4FBC-B6A1-B906-77B5386E17B5"; -createNode objectSet -n "mgear_curveCns413Set"; - rename -uid "F2A5AF88-44F5-E7D0-1616-D1BD025F296B"; +createNode tweak -n "tweak601"; + rename -uid "8D47EFAA-4FBC-7A9C-8454-01BE382AD7F6"; +createNode objectSet -n "mgear_curveCns453Set"; + rename -uid "7E8E55A1-460A-96C8-0DC4-6AAA5524837D"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns413GroupId"; - rename -uid "9DAA6DA6-4A5F-5050-E68F-CCA198219B2A"; +createNode groupId -n "mgear_curveCns453GroupId"; + rename -uid "385C7A71-4488-5D6E-92A5-9EBA812F0E07"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns413GroupParts"; - rename -uid "DDD3E413-48D5-C55B-2701-DAB83FE9D6CF"; +createNode groupParts -n "mgear_curveCns453GroupParts"; + rename -uid "84C57C03-4811-8015-2868-9C8D9FD53B62"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet561"; - rename -uid "C2AA61D1-4D20-AD3C-DFCF-09AE6E193E75"; +createNode objectSet -n "tweakSet601"; + rename -uid "80149292-4FBB-AC84-8400-95A1732A072C"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8691"; - rename -uid "51F3D333-47BC-B185-AA25-3B955FDF5C16"; +createNode groupId -n "groupId8771"; + rename -uid "71DAE1EE-4360-0BFD-8955-4397C1222714"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1122"; - rename -uid "A6D7E6A8-46F3-CB58-DD5A-5FB991DDBB6B"; +createNode groupParts -n "groupParts1202"; + rename -uid "069C92DE-4C6A-3328-0539-68B3BA38C5DA"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion133"; - rename -uid "B860C866-42DE-9E2F-13D0-6E8784EB34EA"; +createNode unitConversion -n "unitConversion150"; + rename -uid "231DAEFE-431A-400E-B3BB-749ACDB3DEDE"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns414"; - rename -uid "A34FDD9D-493A-3001-9F58-799E59792687"; +createNode mgear_curveCns -n "mgear_curveCns454"; + rename -uid "3337B501-409A-628C-3BE4-A2BF7AC33813"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak562"; - rename -uid "1B38FA9A-4CA6-A4F0-F021-D4A8C1869EE8"; -createNode objectSet -n "mgear_curveCns414Set"; - rename -uid "30587D29-4A7F-E784-1F45-DF857ED562A6"; +createNode tweak -n "tweak602"; + rename -uid "1F69B8D2-450D-9774-6879-C981015C2EF6"; +createNode objectSet -n "mgear_curveCns454Set"; + rename -uid "617AF949-4DD1-1165-0247-C1979250A424"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns414GroupId"; - rename -uid "9C60E762-4B54-B709-C42E-CDAD6016E9FA"; +createNode groupId -n "mgear_curveCns454GroupId"; + rename -uid "FE396ECA-4C74-2C0F-9BA6-3DB4F19531AC"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns414GroupParts"; - rename -uid "EB76CEFC-40A1-FB17-F850-FB90F81E65C9"; +createNode groupParts -n "mgear_curveCns454GroupParts"; + rename -uid "58A874A1-44D6-E56A-BE8C-3A943CC47DA9"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet562"; - rename -uid "C03989B2-4D49-595F-B4AE-AC878C9E6C44"; +createNode objectSet -n "tweakSet602"; + rename -uid "0441E7BC-4D3B-A74B-601E-7C9F96823479"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8693"; - rename -uid "C0801F8E-4050-208C-F46B-8391BB6C0659"; +createNode groupId -n "groupId8773"; + rename -uid "9B1646C0-49C8-BABA-7207-9193DD8DF746"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1124"; - rename -uid "E209E005-4FA7-8446-F83A-76A5FC8D6500"; +createNode groupParts -n "groupParts1204"; + rename -uid "E57BD2BD-4AEA-3C98-2DE4-009681545A5D"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion134"; - rename -uid "FA22B9C6-4E0F-C6B9-761D-C584E0239B92"; +createNode unitConversion -n "unitConversion151"; + rename -uid "3858583B-44B1-965C-EB86-59B97D35D806"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns415"; - rename -uid "795017E2-4AA8-0A04-5CE5-B1AF07B19920"; +createNode mgear_curveCns -n "mgear_curveCns455"; + rename -uid "F2C6F76F-4D9A-6BAA-4E24-54AFCEE2E5BB"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak563"; - rename -uid "3515CA15-4513-2625-AE2D-FEBBACC2A08F"; -createNode objectSet -n "mgear_curveCns415Set"; - rename -uid "E6415723-4721-9FBB-ACB4-A8887DDC006A"; +createNode tweak -n "tweak603"; + rename -uid "65447CE5-4A6E-ECDD-9AB5-BEA0FADFB3AA"; +createNode objectSet -n "mgear_curveCns455Set"; + rename -uid "EEC3D671-4F0E-01E7-EFF4-0C9DBCB16F1D"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns415GroupId"; - rename -uid "1CA55628-4F09-4FFC-43F0-959D9A55F127"; +createNode groupId -n "mgear_curveCns455GroupId"; + rename -uid "EEE4256E-41E8-12AF-0650-F49386F82AD1"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns415GroupParts"; - rename -uid "798025F1-436F-B412-C8B8-0C8A394EE2D6"; +createNode groupParts -n "mgear_curveCns455GroupParts"; + rename -uid "914F4A53-4DC9-0389-944F-D49DE81DC51B"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet563"; - rename -uid "C12BA378-4131-61EA-33F0-A49AEE5FC1A1"; +createNode objectSet -n "tweakSet603"; + rename -uid "8C9EE0D2-4548-FFAE-121F-7A9993B4E2DD"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8695"; - rename -uid "D7DA8C1E-4C0C-A197-45B4-2791F77CBAF5"; +createNode groupId -n "groupId8775"; + rename -uid "CE4FC7DD-4566-1FE4-2A0E-D08FA85C3BB1"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1126"; - rename -uid "7272383E-40F3-35D3-A3FA-E68F1F5C66F6"; +createNode groupParts -n "groupParts1206"; + rename -uid "B0A83B8C-4EB7-31B1-16CE-CDA050B67D79"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion135"; - rename -uid "52B38306-4DDA-BF8C-1050-B8ABA436E38B"; +createNode unitConversion -n "unitConversion152"; + rename -uid "10621F09-46E9-9638-EE55-7CB52A6C43E5"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns416"; - rename -uid "C83CBC82-4CA1-7648-60FC-6DA7CF997E5E"; +createNode mgear_curveCns -n "mgear_curveCns456"; + rename -uid "0065608D-4415-C742-A57D-B5B18CE339DF"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak564"; - rename -uid "2A6D9454-412F-6907-C2D4-9CB9BD13EBF6"; -createNode objectSet -n "mgear_curveCns416Set"; - rename -uid "C0F3A7B4-46C3-28F1-D50C-DF907B85F232"; +createNode tweak -n "tweak604"; + rename -uid "79C924F5-47D1-4A0E-6188-A0BCD65D9879"; +createNode objectSet -n "mgear_curveCns456Set"; + rename -uid "D0DD5625-4D89-8F47-6723-72AA82CB9A72"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns416GroupId"; - rename -uid "609F9569-448E-D89B-A4C2-FE928F2F51D6"; +createNode groupId -n "mgear_curveCns456GroupId"; + rename -uid "62F42DB3-4A48-311F-C40C-8B921E0B1EB4"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns416GroupParts"; - rename -uid "1CF2E0C9-4C85-3BF9-BD33-9EB6EAB10A35"; +createNode groupParts -n "mgear_curveCns456GroupParts"; + rename -uid "F579346B-411C-D3F6-A01F-B5B6484BCAE5"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet564"; - rename -uid "164A5A74-4A06-C4B3-4A55-A09F7086B668"; +createNode objectSet -n "tweakSet604"; + rename -uid "8280B28B-4249-B7FB-F65B-86BC614A47D7"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8697"; - rename -uid "D0318D02-435D-EEF0-014B-E8B61D029CBF"; +createNode groupId -n "groupId8777"; + rename -uid "6D921188-407E-4934-493E-49974817B35D"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1128"; - rename -uid "1422E34A-4274-EC7B-F7AD-CA8D93888B44"; +createNode groupParts -n "groupParts1208"; + rename -uid "5D471672-4667-5B01-F8DF-338E20A17181"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion136"; - rename -uid "C58A66CE-4872-4BA9-7651-C4AC9AFE9100"; +createNode unitConversion -n "unitConversion153"; + rename -uid "F1033AF7-49B1-142F-2493-A18C42B7770B"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns417"; - rename -uid "3CF3F509-4E6E-35AF-F1B6-459B3A06C2DE"; +createNode mgear_curveCns -n "mgear_curveCns457"; + rename -uid "B7BF2B6C-4A31-4E58-B462-15B584818690"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak565"; - rename -uid "2CE81560-4C90-F866-71CC-D5B78A4321C9"; -createNode objectSet -n "mgear_curveCns417Set"; - rename -uid "53ACF9DC-4B9C-06DC-3DE2-52B7C81C096E"; +createNode tweak -n "tweak605"; + rename -uid "01DAF145-4579-9A06-8C55-F998EBF72005"; +createNode objectSet -n "mgear_curveCns457Set"; + rename -uid "8FB14802-4CBE-1B28-B72A-749594929604"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns417GroupId"; - rename -uid "AA9638C6-4E0B-2699-6D1A-2D836D972657"; +createNode groupId -n "mgear_curveCns457GroupId"; + rename -uid "91EF8BA0-4813-EBAD-D8D6-828725D8B43A"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns417GroupParts"; - rename -uid "21D7D57B-4253-09D5-7D80-869CF9A0168C"; +createNode groupParts -n "mgear_curveCns457GroupParts"; + rename -uid "6723A0BA-4953-20D6-463A-DC822E3DBBDF"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet565"; - rename -uid "3FBD380B-4112-E1BB-56E6-06AA250CEE8F"; +createNode objectSet -n "tweakSet605"; + rename -uid "48CDCAFB-4367-7F1D-42B4-1189A01B6F12"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8699"; - rename -uid "77A5B50E-4A54-8936-F17A-E8901AC627E7"; +createNode groupId -n "groupId8779"; + rename -uid "31B4E5FC-4A07-E030-C330-BCB9B3134838"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1130"; - rename -uid "7454F433-4AC9-8DA0-76ED-3D877DE08609"; +createNode groupParts -n "groupParts1210"; + rename -uid "1AEBC5E8-4D16-ACDF-8AA9-DE81AE06CF7A"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion137"; - rename -uid "1DF5DB6D-4594-1B51-4587-368AE123975F"; +createNode unitConversion -n "unitConversion154"; + rename -uid "6AE00A2B-41C5-DA00-1AAB-8B91C3990B0A"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns418"; - rename -uid "E23AF286-417B-6587-5079-BAA61414AB5A"; +createNode mgear_curveCns -n "mgear_curveCns458"; + rename -uid "29CD0224-486B-A66A-0B1C-F5AE39682F6B"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak566"; - rename -uid "99F5D621-4A76-6BAC-2FFC-0DBA7D045610"; -createNode objectSet -n "mgear_curveCns418Set"; - rename -uid "A101D9FC-4FC7-627B-00FF-F0A69F13DB6B"; +createNode tweak -n "tweak606"; + rename -uid "392C92DE-4184-6CDC-9495-39B2C62F36BC"; +createNode objectSet -n "mgear_curveCns458Set"; + rename -uid "CBA1A5C2-4D36-B3DC-301B-1AB786AB076D"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns418GroupId"; - rename -uid "F31365BF-42B7-20D2-98C4-34A0E10F7B8C"; +createNode groupId -n "mgear_curveCns458GroupId"; + rename -uid "2FD1E05F-4FD1-53A0-289F-A38C4AF14272"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns418GroupParts"; - rename -uid "B3786F30-49B3-2278-34EA-CFB15542572D"; +createNode groupParts -n "mgear_curveCns458GroupParts"; + rename -uid "2604A46D-432A-BF3E-991F-4CACC759C0BA"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet566"; - rename -uid "2C1B9099-446D-07AB-FD49-81A78A29E279"; +createNode objectSet -n "tweakSet606"; + rename -uid "F6ED9315-4A3F-1700-A160-5DA48D91A3C4"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8701"; - rename -uid "FD1595A8-4CDE-BF87-9226-79A460665DDA"; +createNode groupId -n "groupId8781"; + rename -uid "8C4B65E9-4D35-CF2C-153C-8385190B1415"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1132"; - rename -uid "011960F3-4A1C-8CD1-1323-9491042E99D2"; +createNode groupParts -n "groupParts1212"; + rename -uid "A6233C2D-459F-6B4D-2BEB-219EF100D436"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion138"; - rename -uid "B7E4C6AE-4DB3-9CCB-A84C-279D430BEEBA"; +createNode unitConversion -n "unitConversion155"; + rename -uid "5D71898E-4E62-142A-E5D6-669E6DB9D8D8"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns419"; - rename -uid "D9CFBA83-4078-64E0-5F49-F8BFF3C578A9"; +createNode mgear_curveCns -n "mgear_curveCns459"; + rename -uid "002CC421-4990-C3E7-7F03-8FA9B53786C9"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak567"; - rename -uid "30389922-46BD-0163-B1A4-CD864E53D5D3"; -createNode objectSet -n "mgear_curveCns419Set"; - rename -uid "EA5A9E88-4C75-47DF-3069-B39246462E96"; +createNode tweak -n "tweak607"; + rename -uid "B0A8F85B-47E8-E7CD-904C-D1BE64AE6BCA"; +createNode objectSet -n "mgear_curveCns459Set"; + rename -uid "6F20A5E3-4452-D6F8-9097-2AB177415CD7"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns419GroupId"; - rename -uid "3DAB2651-4A5D-6ADD-EE55-06B1FC421EBF"; +createNode groupId -n "mgear_curveCns459GroupId"; + rename -uid "9A0FF802-4C47-0914-4359-D1B0ED0EDB9C"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns419GroupParts"; - rename -uid "C2716E78-41EC-150B-8E95-DAB841DE8570"; +createNode groupParts -n "mgear_curveCns459GroupParts"; + rename -uid "EA4851CB-4771-F472-EB5E-2E97E47F8FB8"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet567"; - rename -uid "F1DE65EA-40DC-7D0A-0DF1-98B54E535154"; +createNode objectSet -n "tweakSet607"; + rename -uid "2BAB2339-40FB-EAB6-1E2F-8782D03D215F"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8703"; - rename -uid "2810E626-4253-FF57-58F3-0D828937B062"; +createNode groupId -n "groupId8783"; + rename -uid "5B29ECE0-43C5-3814-8DBB-04BD7F3F7164"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1134"; - rename -uid "5888866B-4CB5-3F35-4A53-85AD44998444"; +createNode groupParts -n "groupParts1214"; + rename -uid "69FF4185-41C3-67BB-A58E-76A0E749DA4F"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode animCurveUU -n "neck_C0_root_st_profile1"; - rename -uid "764BB2CA-4F2A-7D9E-F6EC-C39C6962843F"; +createNode animCurveUU -n "neck_C0_root_st_profile"; + rename -uid "9C1E6810-4C8A-C3A0-FFE7-8DBE4AA30D77"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "neck_C0_root_sq_profile1"; - rename -uid "D4D0148B-446C-9393-907D-6BA5691114D3"; +createNode animCurveUU -n "neck_C0_root_sq_profile"; + rename -uid "1C1D864E-4A37-786D-4073-28B05775F84D"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode unitConversion -n "unitConversion139"; - rename -uid "7DC4E739-4A40-15B3-B5B9-EABEAD4D4769"; +createNode unitConversion -n "unitConversion156"; + rename -uid "9A76F984-4A94-893A-04AA-AD97519DAE43"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns420"; - rename -uid "51BB92FA-4B26-10C6-4197-14A500D5FB04"; +createNode mgear_curveCns -n "mgear_curveCns460"; + rename -uid "B323E41A-477A-C7E5-3165-2F9FEB65C529"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak568"; - rename -uid "EFD3BCC4-4DEF-C936-DEB1-B5BA89E70E0F"; -createNode objectSet -n "mgear_curveCns420Set"; - rename -uid "D0ECC38F-4482-8119-56B8-68BEA8A5FE55"; +createNode tweak -n "tweak608"; + rename -uid "3A8A55BF-4254-CBB6-0E5D-2D8DCD660744"; +createNode objectSet -n "mgear_curveCns460Set"; + rename -uid "F53781B7-470C-88D5-8271-00A09BE96EF1"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns420GroupId"; - rename -uid "B73B4273-419B-8E71-9562-CBA463831488"; +createNode groupId -n "mgear_curveCns460GroupId"; + rename -uid "E3C42E4A-4C76-307E-4C54-678AB3A5151F"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns420GroupParts"; - rename -uid "1D72A0C9-4955-5A89-6959-BE9B0726E7A4"; +createNode groupParts -n "mgear_curveCns460GroupParts"; + rename -uid "E6F16595-4D9E-8303-9D37-EC9F9D5A7A56"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet568"; - rename -uid "B21F9434-4459-DBBB-85E1-4F8E03E20FB3"; +createNode objectSet -n "tweakSet608"; + rename -uid "697B50C1-4B97-5E66-7C3F-5C8974B6FB37"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8705"; - rename -uid "DCC9D92B-4B02-C15C-CF19-678622398B97"; +createNode groupId -n "groupId8785"; + rename -uid "5BA3CA7F-4ADC-894D-236B-A79C75034560"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1136"; - rename -uid "247E005B-4A8A-6840-4D27-F4A1D902D1F0"; +createNode groupParts -n "groupParts1216"; + rename -uid "176439E7-44E0-A437-2593-D3829D328308"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns421"; - rename -uid "D8CBC82E-44A8-7E51-9101-A184BA4655DF"; +createNode mgear_curveCns -n "mgear_curveCns461"; + rename -uid "E28824AE-4DD8-957A-07EF-6AA8B74C3D42"; setAttr -s 3 ".inputs"; -createNode tweak -n "tweak569"; - rename -uid "CE3FC090-433B-33C1-9568-3FA97520F5F1"; -createNode objectSet -n "mgear_curveCns421Set"; - rename -uid "E58945C5-42D3-1C32-FA26-FC96EB9A21FC"; +createNode tweak -n "tweak609"; + rename -uid "97648F76-4BF8-0A71-D480-4E913F12EB4A"; +createNode objectSet -n "mgear_curveCns461Set"; + rename -uid "E186DC90-4B66-4118-E789-339D7B0B9531"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns421GroupId"; - rename -uid "04985014-4705-5F1A-CE85-D49108A916B5"; +createNode groupId -n "mgear_curveCns461GroupId"; + rename -uid "DC418B68-4FEB-846D-6E55-8AB77CCAE0B5"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns421GroupParts"; - rename -uid "18434CD7-47AE-61A6-A007-56AA737268CE"; +createNode groupParts -n "mgear_curveCns461GroupParts"; + rename -uid "970DAD91-49A3-6A2D-D191-598AB14314FB"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet569"; - rename -uid "9B627779-483E-789D-8EE8-4E88D8AC6907"; +createNode objectSet -n "tweakSet609"; + rename -uid "39EC5F2C-43B6-5377-E013-E48F2A9D437E"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8707"; - rename -uid "CA3C463B-45CA-BBBF-76B5-DA862E234675"; +createNode groupId -n "groupId8787"; + rename -uid "01D20DDF-494B-FDAA-7E54-7A9809DA02B7"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1138"; - rename -uid "27A424DD-4E14-D4E3-590B-2BB9E9D7B94A"; +createNode groupParts -n "groupParts1218"; + rename -uid "CB37CCD7-4DE0-18B9-AEB4-68ACC47CF1CF"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns422"; - rename -uid "DB83A8F1-483D-BE3E-F1FD-3DA07389A062"; +createNode mgear_curveCns -n "mgear_curveCns462"; + rename -uid "48A1F673-4D35-6C43-FCFA-6EB3A2FCCCB1"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak570"; - rename -uid "B91F5AEF-4CBA-0FE9-1E32-6DB122963A15"; -createNode objectSet -n "mgear_curveCns422Set"; - rename -uid "5172BDED-45EF-B0CB-E43B-7BAF10E4405B"; +createNode tweak -n "tweak610"; + rename -uid "801067A6-43DB-1D12-328F-5F96FE9D7B54"; +createNode objectSet -n "mgear_curveCns462Set"; + rename -uid "C0B5EFEB-4DE9-294D-713B-D59E54A48542"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns422GroupId"; - rename -uid "FF278F09-45F8-88E6-9BF3-1F967C929BA2"; +createNode groupId -n "mgear_curveCns462GroupId"; + rename -uid "BFDBB55E-4DA8-F332-1E61-4DB3D92D69D6"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns422GroupParts"; - rename -uid "70CF8242-45F7-B941-EBEB-77893EFCD4C2"; +createNode groupParts -n "mgear_curveCns462GroupParts"; + rename -uid "83D2D426-4E29-89CF-B66B-54A9B0947BA7"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet570"; - rename -uid "66D8FE82-4976-6C29-042C-208D9B490BBE"; +createNode objectSet -n "tweakSet610"; + rename -uid "817C6ADB-4FF6-E7D7-62EF-35867E8F59CF"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8709"; - rename -uid "8E1BDEFA-4D8C-ED26-6479-83B86EF17ADD"; +createNode groupId -n "groupId8789"; + rename -uid "EC8A65E2-4105-B825-6676-82BBD46FB6B5"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1140"; - rename -uid "FD1CDCF1-4928-BF13-5BE8-5E82C85F0C83"; +createNode groupParts -n "groupParts1220"; + rename -uid "F45BBE38-4247-6FFE-D3D9-9D871075A2AF"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns423"; - rename -uid "FE77E5ED-4477-5BC3-36B6-21BD14B9854D"; +createNode mgear_curveCns -n "mgear_curveCns463"; + rename -uid "309F9A94-4DE1-F39A-5005-21A055FAD37D"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak571"; - rename -uid "5D08B303-4055-2495-034A-3DB9225D90EE"; -createNode objectSet -n "mgear_curveCns423Set"; - rename -uid "42FEA382-41C3-62B6-893C-31B2375EA182"; +createNode tweak -n "tweak611"; + rename -uid "F960157E-4E9C-5839-0DD8-4E96C7FBE287"; +createNode objectSet -n "mgear_curveCns463Set"; + rename -uid "45C9405A-4C0E-2A1C-0BA4-C299C3B40F99"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns423GroupId"; - rename -uid "1B7DCCD6-4541-D65C-214D-9DACED1E40A8"; +createNode groupId -n "mgear_curveCns463GroupId"; + rename -uid "82061475-4A8D-6316-6E18-AC949131424C"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns423GroupParts"; - rename -uid "5E4DF6D3-43AE-3493-A659-83B72308AE97"; +createNode groupParts -n "mgear_curveCns463GroupParts"; + rename -uid "5658644D-4A0C-3AC0-9567-1DB74F39A8D6"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet571"; - rename -uid "71F884A0-415F-03FB-3479-188C47638FB9"; +createNode objectSet -n "tweakSet611"; + rename -uid "D45829D3-4A2A-19F0-1769-56AC031F051C"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8711"; - rename -uid "F072D6DC-4F7E-6700-16BF-53A85B73ACD2"; +createNode groupId -n "groupId8791"; + rename -uid "13DF1C2E-4A94-B8B0-3B80-19A147A70F13"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1142"; - rename -uid "28A7D250-43B8-E78B-F720-2EAD9207E99D"; +createNode groupParts -n "groupParts1222"; + rename -uid "714203C6-48AF-D71A-204B-99938A921C96"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns424"; - rename -uid "6839CFD3-4B9C-426A-D441-12BF3B49951B"; +createNode mgear_curveCns -n "mgear_curveCns464"; + rename -uid "A2D170DD-420D-7E95-F6F8-579F7AF405C2"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak572"; - rename -uid "00029F26-4F47-F456-A848-DBB54530AE89"; -createNode objectSet -n "mgear_curveCns424Set"; - rename -uid "EA6EC778-4461-99D7-2821-60BDA8F4A095"; +createNode tweak -n "tweak612"; + rename -uid "C31FFEFD-4EA9-5D5A-B144-689F7C029999"; +createNode objectSet -n "mgear_curveCns464Set"; + rename -uid "ADB2C4B0-46C8-5B01-BBE8-F8ABADB59F62"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns424GroupId"; - rename -uid "339922A1-45FD-9A20-8FD2-68861B351322"; +createNode groupId -n "mgear_curveCns464GroupId"; + rename -uid "FD9ED851-4302-75A5-5D7D-7987B27734A5"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns424GroupParts"; - rename -uid "00BD5A6F-4D57-08BD-E199-5085E7E7C8BF"; +createNode groupParts -n "mgear_curveCns464GroupParts"; + rename -uid "C093F8B9-4F51-5F6C-1359-6788490B61B9"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet572"; - rename -uid "87A41D42-4EA8-2BBA-E9DB-B79E5AA965E9"; +createNode objectSet -n "tweakSet612"; + rename -uid "206D5F5E-4587-49C4-ECDE-31971C5B6901"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8713"; - rename -uid "EF00F464-4470-ED06-5787-AEBB957A4B9D"; +createNode groupId -n "groupId8793"; + rename -uid "314FB0D2-468A-2060-FAEF-E4B962514DBC"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1144"; - rename -uid "F3C9F536-4F85-93EF-8B30-2493B127ECC3"; +createNode groupParts -n "groupParts1224"; + rename -uid "E90D550D-49F4-0F5A-DAC9-988D6F428E76"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns425"; - rename -uid "7E9972B4-4750-F653-13D1-F8860557B6A5"; +createNode mgear_curveCns -n "mgear_curveCns465"; + rename -uid "ACC7AF7E-4402-92AC-8CA5-99820366E4D2"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak573"; - rename -uid "B271DC0B-4EC6-715B-B901-12B291D8B675"; -createNode objectSet -n "mgear_curveCns425Set"; - rename -uid "2163590B-49CE-EB4F-C2FE-1A89C05280E7"; +createNode tweak -n "tweak613"; + rename -uid "7DE88B75-4CC2-5554-C789-2BA338478BD3"; +createNode objectSet -n "mgear_curveCns465Set"; + rename -uid "98E33397-47C5-ADC9-EACD-DABB3BAF7146"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns425GroupId"; - rename -uid "99DA8A6D-429B-89F0-BC5C-D084AB9E5436"; +createNode groupId -n "mgear_curveCns465GroupId"; + rename -uid "5AAE1F42-4AEB-239D-3549-DE84C5106C0C"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns425GroupParts"; - rename -uid "C5E4345E-4724-4BC3-8A2E-3BB3D4393468"; +createNode groupParts -n "mgear_curveCns465GroupParts"; + rename -uid "A4D2E7AF-4766-C74F-9179-039C32DD09B4"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet573"; - rename -uid "AE42273F-4D42-AB0D-DA34-C8880A5E151A"; +createNode objectSet -n "tweakSet613"; + rename -uid "80DE07FA-4A07-96D9-B161-E6AF9D600981"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8715"; - rename -uid "614E1D29-48A6-7AE7-C221-F8BDFA23DFF3"; +createNode groupId -n "groupId8795"; + rename -uid "6CC0D58D-414F-53E0-7558-C0B1D7EF1651"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1146"; - rename -uid "1746E2AF-488D-5A30-8559-16A8D3B44742"; +createNode groupParts -n "groupParts1226"; + rename -uid "02916AC0-40C5-3AF2-3BF8-34B7773A01FE"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion140"; - rename -uid "E65ECD78-4DB3-05FA-6A5C-47A4279BE0D6"; +createNode unitConversion -n "unitConversion157"; + rename -uid "18CBC48D-48E2-4952-2DD3-A594AF4C4F67"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns426"; - rename -uid "AAEF2DFD-41BA-A368-C835-8097103F1708"; +createNode mgear_curveCns -n "mgear_curveCns466"; + rename -uid "3D01B5BE-4081-EFBC-2599-FA90D28C2147"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak574"; - rename -uid "6BE33333-45A9-0549-EF0D-FFA2EC40E4E7"; -createNode objectSet -n "mgear_curveCns426Set"; - rename -uid "4D510C57-4EA6-2970-814F-AD9E6B6097D1"; +createNode tweak -n "tweak614"; + rename -uid "BFCD49F5-4423-5B09-EA45-7980CB220A03"; +createNode objectSet -n "mgear_curveCns466Set"; + rename -uid "E1712865-4EEF-F697-821E-288DB5DDF66A"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns426GroupId"; - rename -uid "654CEB38-44F2-BD5F-A81F-EDB92E17C14F"; +createNode groupId -n "mgear_curveCns466GroupId"; + rename -uid "4950E3E0-4258-7DF9-024E-87925A38F9EC"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns426GroupParts"; - rename -uid "92B864C3-4EEC-0C79-6541-AC87943E0EEA"; +createNode groupParts -n "mgear_curveCns466GroupParts"; + rename -uid "F77AC12E-4B0F-5B6B-E815-94B30BE8A679"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet574"; - rename -uid "33E1192C-40FE-874C-2517-B0A122F87607"; +createNode objectSet -n "tweakSet614"; + rename -uid "EB644380-4667-F502-ACDF-81984E039108"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8717"; - rename -uid "CEBB0356-4139-E447-CEE8-37BA2E5B6783"; +createNode groupId -n "groupId8797"; + rename -uid "21F23092-4D96-9A39-BB7D-B79D2EE6D2E6"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1148"; - rename -uid "CF4D479E-43AD-38A1-254E-2496F2D444CE"; +createNode groupParts -n "groupParts1228"; + rename -uid "8C66EB2E-4153-97AD-620A-CF86C51DF580"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns427"; - rename -uid "6496BD4E-4FBC-3E17-BADF-E3A7DBDC49A9"; +createNode mgear_curveCns -n "mgear_curveCns467"; + rename -uid "A5D991A1-4C03-5978-4C9C-F6B45DF01966"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak575"; - rename -uid "8B6A45ED-42A1-6AD3-CFFD-4BB946358EEF"; -createNode objectSet -n "mgear_curveCns427Set"; - rename -uid "61E513FF-45E8-279D-CA2C-EA9B9F41B059"; +createNode tweak -n "tweak615"; + rename -uid "533D1F6C-41E0-F37A-A2C0-4EB90C632D3E"; +createNode objectSet -n "mgear_curveCns467Set"; + rename -uid "1337549A-4C45-C58C-2C8A-078793ECA05E"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns427GroupId"; - rename -uid "C6794BBE-4BAF-BEA2-F387-A59F65077D06"; +createNode groupId -n "mgear_curveCns467GroupId"; + rename -uid "410E1FDC-4F6E-8ED3-464E-22B1B51363A4"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns427GroupParts"; - rename -uid "DFD2116B-43E0-C13E-79BF-1C80C02C74E3"; +createNode groupParts -n "mgear_curveCns467GroupParts"; + rename -uid "4142E735-4566-66AD-DA0F-9E8A8C76BA5A"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet575"; - rename -uid "EF2839BD-4EA5-9100-1FFE-6AB24BEB95F5"; +createNode objectSet -n "tweakSet615"; + rename -uid "D82EAAEC-4FEC-64A6-5DBE-62AD76D0D386"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8719"; - rename -uid "97D0E198-4D4A-3495-EFA9-E594E0958F19"; +createNode groupId -n "groupId8799"; + rename -uid "E7A37DF3-4AD2-07FB-0A94-C1B2C9D31E83"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1150"; - rename -uid "9BE865FA-4828-0254-E573-68AF4C28F0E4"; +createNode groupParts -n "groupParts1230"; + rename -uid "41209562-46D6-9D97-7536-72887479ECF4"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns428"; - rename -uid "62264257-47A3-FDDE-D3B5-A0AB84789E38"; +createNode mgear_curveCns -n "mgear_curveCns468"; + rename -uid "5859750E-4F87-0110-812E-BFB58899EBDA"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak576"; - rename -uid "E1C4776B-4175-B719-A783-57BF37BA9F84"; -createNode objectSet -n "mgear_curveCns428Set"; - rename -uid "9C3A5D3B-4AF1-037F-152C-64A3381389E3"; +createNode tweak -n "tweak616"; + rename -uid "E6D49D73-4911-061C-8AF8-AABCA9BD984D"; +createNode objectSet -n "mgear_curveCns468Set"; + rename -uid "B53F2DB6-476C-936F-F517-528E8B24953A"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns428GroupId"; - rename -uid "4B978DBB-48DD-D48B-8393-25ADBB024D2C"; +createNode groupId -n "mgear_curveCns468GroupId"; + rename -uid "1F420979-4385-853F-46EE-DDAD735C1806"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns428GroupParts"; - rename -uid "3808F352-4C9E-3118-1584-BEA7BE2CF976"; +createNode groupParts -n "mgear_curveCns468GroupParts"; + rename -uid "84650683-47C6-8274-11A7-B095771A55B0"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet576"; - rename -uid "5F1CB803-4E21-08A4-2A9C-748255620757"; +createNode objectSet -n "tweakSet616"; + rename -uid "09E353DA-4A64-7357-511A-6F911222E14C"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8721"; - rename -uid "A208168D-462F-BCB1-D8B4-F08096F16587"; +createNode groupId -n "groupId8801"; + rename -uid "62127FD4-44A5-5F07-072D-84B4A2E797E9"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1152"; - rename -uid "8C17305D-403E-8E2A-41FF-9A822823A52C"; +createNode groupParts -n "groupParts1232"; + rename -uid "E94A2A66-4954-1AFE-A02C-8680B8602AEF"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion141"; - rename -uid "87526030-4E82-7156-1768-C68FBD6CE109"; +createNode unitConversion -n "unitConversion158"; + rename -uid "0A0A18B0-4FD5-569D-824D-839B1088303D"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns429"; - rename -uid "B1ECC11D-4D75-D8EF-AE85-0F9CAA485DFA"; +createNode mgear_curveCns -n "mgear_curveCns469"; + rename -uid "CC9AD703-42F5-D26B-7331-6C8AA2368A66"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak577"; - rename -uid "7D1BF52F-441D-57CC-BD5E-739A2D9286CF"; -createNode objectSet -n "mgear_curveCns429Set"; - rename -uid "22DBD876-491F-859D-8182-EF95D953B12B"; +createNode tweak -n "tweak617"; + rename -uid "0106F029-48D7-C194-865B-F388E5061812"; +createNode objectSet -n "mgear_curveCns469Set"; + rename -uid "CAEDC71A-4B42-B549-3152-67B214B36899"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns429GroupId"; - rename -uid "96F05BAE-4BB6-7A41-96D1-6E9D668FC0A4"; +createNode groupId -n "mgear_curveCns469GroupId"; + rename -uid "18E5A321-48BA-E5EA-A72B-C6AEEA4FE7FF"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns429GroupParts"; - rename -uid "BC6B8F8B-42AC-4BE0-65D6-4B9474E023DD"; +createNode groupParts -n "mgear_curveCns469GroupParts"; + rename -uid "4D1F56EF-4288-652E-CF75-B785C468F070"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet577"; - rename -uid "F490BE81-4FDF-BED4-3BD2-FC9517A5F23C"; +createNode objectSet -n "tweakSet617"; + rename -uid "4DCC44F2-4724-7810-700E-36BEA4A101AC"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8723"; - rename -uid "8024EA21-4215-F6BF-BAF8-A59C978F457E"; +createNode groupId -n "groupId8803"; + rename -uid "1EDCBEE8-4151-1368-BCD9-629D96140C8A"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1154"; - rename -uid "728D0AFC-41F3-1202-0F47-90BDE2F3DB85"; +createNode groupParts -n "groupParts1234"; + rename -uid "BD0A674A-49A2-E2CF-86FA-CA91CF153094"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; createNode animCurveUU -n "arm_R0_root_st_profile1"; - rename -uid "637DB92B-4566-A6E2-EC8E-A38EDF3D09ED"; + rename -uid "B53705A1-4C87-1B9D-642D-C18E637E0F6E"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -0.5 1 0; createNode animCurveUU -n "arm_R0_root_sq_profile1"; - rename -uid "213E8849-4A12-9413-E06C-6BBF575E9D5D"; + rename -uid "E450F0A8-4C28-C4BD-44DE-2BBFACEE2327"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 0.5 1 0; -createNode mgear_curveCns -n "mgear_curveCns430"; - rename -uid "348F2FB1-40C5-B72B-8662-F9AC68CE49C1"; +createNode mgear_curveCns -n "mgear_curveCns470"; + rename -uid "8E262FDC-476A-BE97-92C5-7BBA30AB79CD"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak578"; - rename -uid "CF9906E9-405E-6AE4-7D70-7BBE977B76D1"; -createNode objectSet -n "mgear_curveCns430Set"; - rename -uid "A987155E-4154-F128-A278-64AEDC0CD7D9"; +createNode tweak -n "tweak618"; + rename -uid "19152F01-44A9-3853-FBAD-6BB2D9F43026"; +createNode objectSet -n "mgear_curveCns470Set"; + rename -uid "188D0569-4859-1008-D799-D6B18193CC17"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns430GroupId"; - rename -uid "42BDE6CB-479C-AA85-A007-FBB9B20D1D20"; +createNode groupId -n "mgear_curveCns470GroupId"; + rename -uid "9F4D4D56-47A4-6DEB-C5D0-E6AC7791B11D"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns430GroupParts"; - rename -uid "A2502EE2-4AC5-B8DE-0ABC-CFA05B52185E"; +createNode groupParts -n "mgear_curveCns470GroupParts"; + rename -uid "3F1CDD8D-4227-B125-E80F-14B8C059BE95"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet578"; - rename -uid "B326BBE1-422A-962B-4F58-09B685B9599F"; +createNode objectSet -n "tweakSet618"; + rename -uid "13EFCEFD-47F5-63A0-D17E-EFBCE2CA96F2"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8725"; - rename -uid "DB12BE78-4F4D-DD5E-1B05-798F07C2674B"; +createNode groupId -n "groupId8805"; + rename -uid "00AB8847-424C-DD04-61B4-3BA261BD096F"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1156"; - rename -uid "BE645734-4274-6D69-2F0F-AA85F71A279B"; +createNode groupParts -n "groupParts1236"; + rename -uid "93A77A9D-4479-A33F-3010-59AE12232C98"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion142"; - rename -uid "B9636738-4302-8912-EC19-29B6AC2B1AE9"; +createNode unitConversion -n "unitConversion159"; + rename -uid "D7F0E350-44FF-5EAD-C649-069A641BE144"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns431"; - rename -uid "D9501E6E-4F0F-8587-82EC-56BDF886AA6A"; +createNode mgear_curveCns -n "mgear_curveCns471"; + rename -uid "29D64BE3-4038-1C5A-B99D-BAB1D148E700"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak579"; - rename -uid "F6A03781-42DB-0159-E5AF-999FA30F11C3"; -createNode objectSet -n "mgear_curveCns431Set"; - rename -uid "51C614BA-4268-0BFB-1AA2-3F872D3EF4D2"; +createNode tweak -n "tweak619"; + rename -uid "8359D8E0-474C-E1EB-B6E5-F083EA00B476"; +createNode objectSet -n "mgear_curveCns471Set"; + rename -uid "BFBB6845-4F64-0A98-B5CF-338528D69EB2"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns431GroupId"; - rename -uid "A9482C64-4177-83E8-409F-55B3A10F50D7"; +createNode groupId -n "mgear_curveCns471GroupId"; + rename -uid "C1C5B86D-48D1-0418-E2C6-D6BB7E7BA128"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns431GroupParts"; - rename -uid "263210DF-4745-51AF-521B-078A41136A95"; +createNode groupParts -n "mgear_curveCns471GroupParts"; + rename -uid "6DDA4919-4DDF-921D-8972-51863D093590"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet579"; - rename -uid "E65579BD-4348-56FF-9450-5EAE0E4CD141"; +createNode objectSet -n "tweakSet619"; + rename -uid "84449FED-4C05-7DB2-0899-12ADD910A60A"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8727"; - rename -uid "A17B4E36-42D2-CB0A-5509-3B9B843AAC60"; +createNode groupId -n "groupId8807"; + rename -uid "1A31BA0C-4FB8-9B68-A6DF-DCBB4CEA5BC2"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1158"; - rename -uid "9B466C8C-4D46-047C-D809-34BC1D7BBDF0"; +createNode groupParts -n "groupParts1238"; + rename -uid "CE1EAF23-4901-85D4-055E-909E7511D44F"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion143"; - rename -uid "36423457-4C8C-8947-0C93-29A86761F45D"; +createNode unitConversion -n "unitConversion160"; + rename -uid "E19EF50E-4A78-C245-9FF0-C6B6ACB4770A"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns432"; - rename -uid "324000B2-43B4-CD63-2A45-41832E4B5719"; +createNode mgear_curveCns -n "mgear_curveCns472"; + rename -uid "BA4041E2-41B4-4354-2B3E-9198EEBD1DCC"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak580"; - rename -uid "40059E4D-463F-1FA7-679A-BFA7422D6DB7"; -createNode objectSet -n "mgear_curveCns432Set"; - rename -uid "82ECEA30-4E8F-FC7E-DF36-7EA6FFE2D7B1"; +createNode tweak -n "tweak620"; + rename -uid "319A8BA2-4730-8F34-4805-78BAF268400B"; +createNode objectSet -n "mgear_curveCns472Set"; + rename -uid "04D78997-4B79-0C81-BEAE-5C94825264A2"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns432GroupId"; - rename -uid "56FC99C2-48AE-315B-6663-0BBAA73F0284"; +createNode groupId -n "mgear_curveCns472GroupId"; + rename -uid "D22C116D-40FB-9450-A40F-6780C30CDC02"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns432GroupParts"; - rename -uid "06973B11-4CCD-BA9F-90DF-6BB17DBFD06B"; +createNode groupParts -n "mgear_curveCns472GroupParts"; + rename -uid "EDE49B73-46DC-1F34-1ED4-3AB33A3E2143"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet580"; - rename -uid "CF667DF2-4396-76DF-2769-04ACD1E62121"; +createNode objectSet -n "tweakSet620"; + rename -uid "4295DD3F-47DB-2974-C264-81A6CD856AC0"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8729"; - rename -uid "6887B69F-4D75-A0F8-4484-B685B1C31151"; +createNode groupId -n "groupId8809"; + rename -uid "6C662EE5-45F8-3C17-6384-8E9EE8944BEE"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1160"; - rename -uid "90CE59B4-48D4-CF21-52F1-0A9FF7478480"; +createNode groupParts -n "groupParts1240"; + rename -uid "72EE73C6-4480-0E33-812E-809D3E63FBEA"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion144"; - rename -uid "0D2473EE-46D6-71CA-68AD-869EFCCD2B19"; +createNode unitConversion -n "unitConversion161"; + rename -uid "B3F14709-4E37-9878-5D49-4AACD486C344"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns433"; - rename -uid "6D46A20F-4E87-FE32-6211-F7A61D0891BD"; +createNode mgear_curveCns -n "mgear_curveCns473"; + rename -uid "796F265D-4363-A309-3941-94B5577F5FAF"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak581"; - rename -uid "4F0DB648-4054-C5E9-47B7-99B79277624E"; -createNode objectSet -n "mgear_curveCns433Set"; - rename -uid "BAC70D31-4C96-C1F6-407D-20B944FA5615"; +createNode tweak -n "tweak621"; + rename -uid "D2D0F15F-44D1-7E32-E7BD-0083021EC5FB"; +createNode objectSet -n "mgear_curveCns473Set"; + rename -uid "A65C0FF6-4DE3-A4DD-6BDB-62828B1EA085"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns433GroupId"; - rename -uid "72969D48-4A9E-0719-FE53-1EAA91E5AC7E"; +createNode groupId -n "mgear_curveCns473GroupId"; + rename -uid "A9C8F405-4C06-5924-2D63-51AC45892DE7"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns433GroupParts"; - rename -uid "921F45B4-4AB8-2BC5-6C40-4F8DEF2B0335"; +createNode groupParts -n "mgear_curveCns473GroupParts"; + rename -uid "87B8D26F-4378-1669-4293-55AC537ADA6C"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet581"; - rename -uid "7F038BCA-42E9-1CFE-F5A7-6C8345AE9F48"; +createNode objectSet -n "tweakSet621"; + rename -uid "6BFAA29C-4C61-CBCC-0267-0EB84B8281B5"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8731"; - rename -uid "606E0992-4E8A-31E0-3BB6-0086F1C868F1"; +createNode groupId -n "groupId8811"; + rename -uid "7D11EF4C-42BF-2FD9-6B1E-EC99AB6ABAFA"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1162"; - rename -uid "DAA21534-448C-1E41-1A24-C48EA370286F"; +createNode groupParts -n "groupParts1242"; + rename -uid "353F9E22-4993-5E6A-9EBD-2B8E3D7B0FDE"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion145"; - rename -uid "FD8A4B63-45D8-2139-CD3D-EBAB7982ED7C"; +createNode unitConversion -n "unitConversion162"; + rename -uid "C0C76FE5-4293-F01D-C716-B5A002017585"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns434"; - rename -uid "189972D6-4DC2-6D33-2B22-ECB3B18275A3"; +createNode mgear_curveCns -n "mgear_curveCns474"; + rename -uid "68315F43-4894-496F-68E8-70948C2F7321"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak582"; - rename -uid "D33B237A-4C76-500D-16B7-70A4D2F15498"; -createNode objectSet -n "mgear_curveCns434Set"; - rename -uid "29A6FB0E-4A05-C25F-FA09-2290EF6D9C16"; +createNode tweak -n "tweak622"; + rename -uid "6662B9DA-4B9E-E7A0-E57F-FF966F53955D"; +createNode objectSet -n "mgear_curveCns474Set"; + rename -uid "CBD129C7-4B1B-B749-E1FF-60A0EB916A6A"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns434GroupId"; - rename -uid "16BB488A-45A4-6733-3FA5-5798CCD1C309"; +createNode groupId -n "mgear_curveCns474GroupId"; + rename -uid "1522CD8A-4627-EAE2-3274-78AC1C872A29"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns434GroupParts"; - rename -uid "8447E106-47FB-9EBA-AC21-5DB65C28A798"; +createNode groupParts -n "mgear_curveCns474GroupParts"; + rename -uid "73A12010-4511-4FB7-6603-84958A5391D8"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet582"; - rename -uid "2CB22691-472B-D3C9-4FA4-9EB95B3AAB59"; +createNode objectSet -n "tweakSet622"; + rename -uid "43923750-49C7-B42B-E2A7-51ABF2734D38"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8733"; - rename -uid "1D5D9171-49D2-97A9-250C-BAAEEF1A9B13"; +createNode groupId -n "groupId8813"; + rename -uid "28BA8B7B-4B3E-F5AD-6401-E68B7534CB6F"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1164"; - rename -uid "F814FD2C-4501-4AE9-D512-DBAD4B49DA34"; +createNode groupParts -n "groupParts1244"; + rename -uid "8FBF3776-4042-0571-A965-5B8B868E39E6"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion146"; - rename -uid "9005297F-488C-3407-F1D1-F0B417B11B7C"; +createNode unitConversion -n "unitConversion163"; + rename -uid "9EE6BF9E-49F2-8051-0145-14BF3BF8D888"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns435"; - rename -uid "49BB732B-472D-C49E-0B61-DDB1AB153A01"; +createNode mgear_curveCns -n "mgear_curveCns475"; + rename -uid "5A48258B-4712-387D-FF28-9C9AD42C4238"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak583"; - rename -uid "FE119985-43F8-A8C7-77E3-058F7EDD7E33"; -createNode objectSet -n "mgear_curveCns435Set"; - rename -uid "C359E15C-4E18-A6EA-DB0E-D4B51A3461BB"; +createNode tweak -n "tweak623"; + rename -uid "FB0A96DB-4CF7-5DDE-1B29-D3A3A7458ED8"; +createNode objectSet -n "mgear_curveCns475Set"; + rename -uid "CDFF8B7A-4B93-129B-09B2-4F882F41E30C"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns435GroupId"; - rename -uid "DB00AA2B-4936-9C25-5618-F08A756F8D52"; +createNode groupId -n "mgear_curveCns475GroupId"; + rename -uid "C6396D2B-436F-04AA-84F8-AEBF17821200"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns435GroupParts"; - rename -uid "4308A096-47B4-9CA9-91CE-36B74B72D14C"; +createNode groupParts -n "mgear_curveCns475GroupParts"; + rename -uid "BA137669-4B49-D5DE-4D23-8EABB3A1EE72"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet583"; - rename -uid "344FC4F3-4472-11DD-4E8C-7E95BC4D9E87"; +createNode objectSet -n "tweakSet623"; + rename -uid "D2DE9FA4-49CF-70DE-FD27-339B253F3FBB"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8735"; - rename -uid "94B91D9B-4982-64F1-76B5-B2AD227356A6"; +createNode groupId -n "groupId8815"; + rename -uid "CDC93E76-4B8F-B42A-A19E-D99C30E7454F"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1166"; - rename -uid "7AEB5AFA-4C40-6B60-8FBE-96ABC89E8692"; +createNode groupParts -n "groupParts1246"; + rename -uid "9754CF7C-4196-A227-AE22-AA8F77276F2C"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion147"; - rename -uid "34CE390F-4301-E08E-C67B-6683C4BF1204"; +createNode unitConversion -n "unitConversion164"; + rename -uid "38427B25-4F9E-6584-AFB4-F2B401B81112"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns436"; - rename -uid "FA6BCF03-4699-32AC-5F07-9FB6870BCFAB"; +createNode mgear_curveCns -n "mgear_curveCns476"; + rename -uid "0026FA6F-442B-B3B5-104C-44A0E234E583"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak584"; - rename -uid "EC980DD2-4C43-5ADD-26D9-BA9588EE885A"; -createNode objectSet -n "mgear_curveCns436Set"; - rename -uid "AE5D1901-44AF-DEF3-8EFF-EB94B2511F7D"; +createNode tweak -n "tweak624"; + rename -uid "075FEAEF-45C6-7403-70F0-8C9D72CB7E74"; +createNode objectSet -n "mgear_curveCns476Set"; + rename -uid "0176136F-4B2C-8C14-C5EF-A69D01EBFEBF"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns436GroupId"; - rename -uid "18B83AB1-4B1C-CB37-AEDF-CA87861BA935"; +createNode groupId -n "mgear_curveCns476GroupId"; + rename -uid "FA08E5B0-478C-F188-C05A-ABA8857A01E5"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns436GroupParts"; - rename -uid "FFC5760D-4C6F-C609-CFEA-DEA0C6A6A371"; +createNode groupParts -n "mgear_curveCns476GroupParts"; + rename -uid "3A367FA5-4765-AAAD-34DA-06ACA30BC676"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet584"; - rename -uid "E6A1B06F-4075-81B2-5E63-E8932D818F76"; +createNode objectSet -n "tweakSet624"; + rename -uid "3F6528C4-47EE-6E9E-D506-F883A67E6E68"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8737"; - rename -uid "72F34A1E-44A7-2ABA-23EC-658780A61AF7"; +createNode groupId -n "groupId8817"; + rename -uid "B01A7C2F-4990-571C-AC01-FC89F45F89F0"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1168"; - rename -uid "8C5D39ED-465D-B3CD-BA5D-EEB2CF9002FC"; +createNode groupParts -n "groupParts1248"; + rename -uid "D79B879F-4558-7602-4772-DCB01A972124"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode animCurveUU -n "leg_L0_root_st_profile1"; - rename -uid "6F9C144C-4D97-D234-F24D-D49BE3C7275A"; +createNode animCurveUU -n "leg_L0_root_st_profile"; + rename -uid "D51E85C4-4590-61A9-7428-A48DE3E96606"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "leg_L0_root_sq_profile1"; - rename -uid "C68FAA89-4AA2-32B7-A80D-DA8D835D2D90"; +createNode animCurveUU -n "leg_L0_root_sq_profile"; + rename -uid "E1E9900B-4CD0-8B71-C356-B789C0788981"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode mgear_curveCns -n "mgear_curveCns437"; - rename -uid "CA945228-44EC-1AC7-A08F-6D9A93A8849B"; +createNode mgear_curveCns -n "mgear_curveCns477"; + rename -uid "BBD17CCE-40E6-1C70-57A6-4380D0E7D024"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak585"; - rename -uid "AA16C151-4E94-D990-CFCA-0B87B3A576F2"; -createNode objectSet -n "mgear_curveCns437Set"; - rename -uid "592F10A3-4F63-8D21-F6AA-139A8B49B38C"; +createNode tweak -n "tweak625"; + rename -uid "02A57130-4859-EC06-D0AD-EFB0E94D45D8"; +createNode objectSet -n "mgear_curveCns477Set"; + rename -uid "57FB8F5E-4D58-9991-F0D8-958647307602"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns437GroupId"; - rename -uid "B24B1CF8-44FE-2BD8-9ECB-EDA9E9CB4D23"; +createNode groupId -n "mgear_curveCns477GroupId"; + rename -uid "6F76E598-438C-00CE-7C5F-E38970CEC2EB"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns437GroupParts"; - rename -uid "46E2A1E9-43B8-AD5B-7383-98BE9856CE9F"; +createNode groupParts -n "mgear_curveCns477GroupParts"; + rename -uid "B57D3634-4740-5A86-5743-3EBF7F3F33A2"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet585"; - rename -uid "2D25710B-48AC-7339-22C2-DD88C9EBE343"; +createNode objectSet -n "tweakSet625"; + rename -uid "F0CCDF29-4451-9E56-4E7B-A9BB88CB02A3"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8739"; - rename -uid "380C1CEB-4460-5E92-636A-2DA4AD1E2860"; +createNode groupId -n "groupId8819"; + rename -uid "40A82E62-423D-2DF7-738A-26B9AD09B8CE"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1170"; - rename -uid "3709B094-4B26-93B2-686C-A79AA5120720"; +createNode groupParts -n "groupParts1250"; + rename -uid "30C20A11-4943-FD0D-323C-30875FFEBC62"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns438"; - rename -uid "AD815CC8-48A4-8BC9-AA33-3A8D439272A6"; +createNode mgear_curveCns -n "mgear_curveCns478"; + rename -uid "0295FF8F-4209-C323-99EC-F99BD0CDA9D4"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak586"; - rename -uid "5E1F7A4C-4FCF-F5F7-909B-EF932C3AEA57"; -createNode objectSet -n "mgear_curveCns438Set"; - rename -uid "479BB742-4E87-CCAF-49C0-079D4E74B765"; +createNode tweak -n "tweak626"; + rename -uid "D1922B21-4BF1-0921-E5EE-3893A91DF7D9"; +createNode objectSet -n "mgear_curveCns478Set"; + rename -uid "F0CAF722-4DF7-82BB-1FEB-2FB1E41144B3"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns438GroupId"; - rename -uid "7E01C3E1-426F-EC94-D6EB-D89FCDF95897"; +createNode groupId -n "mgear_curveCns478GroupId"; + rename -uid "88B170D8-491D-2A76-BB68-05B32C26F734"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns438GroupParts"; - rename -uid "B83133D1-4ACB-B397-A5DE-12AE33A10B83"; +createNode groupParts -n "mgear_curveCns478GroupParts"; + rename -uid "D6573FAC-4494-4A47-E003-45999F0904E6"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet586"; - rename -uid "122F4E57-444C-EAB0-2A93-E0941F969415"; +createNode objectSet -n "tweakSet626"; + rename -uid "234E34B6-4D5F-8E69-3316-33BB82694E2F"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8741"; - rename -uid "0B3E8A81-4350-48FF-B1D1-2187278E158F"; +createNode groupId -n "groupId8821"; + rename -uid "34B7548C-4970-2B4E-E6F6-00A12EB56439"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1172"; - rename -uid "C69A0639-443A-F62E-1C32-86B46F3C9418"; +createNode groupParts -n "groupParts1252"; + rename -uid "4AB36852-478F-4651-C299-E58BA415FA19"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns439"; - rename -uid "F4780B70-41EA-9AA7-3C6F-ED8FC7A6236A"; +createNode mgear_curveCns -n "mgear_curveCns479"; + rename -uid "703DDCE5-4B51-AC7D-6592-C0BBA5E1920F"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak587"; - rename -uid "9717ADF9-4633-AEE9-B53B-0CAD3284EF7B"; -createNode objectSet -n "mgear_curveCns439Set"; - rename -uid "2C54006B-4AEF-9C02-D4B2-D6A1013BEFCE"; +createNode tweak -n "tweak627"; + rename -uid "137D2E7E-42C1-9DC7-F448-DFBB850A5F97"; +createNode objectSet -n "mgear_curveCns479Set"; + rename -uid "350F0E2F-42D9-FF91-F235-35B3BBB32164"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns439GroupId"; - rename -uid "10AF0D11-45D3-75CB-6007-FDA7BA2653F8"; +createNode groupId -n "mgear_curveCns479GroupId"; + rename -uid "AE52A70C-4687-8E5C-19F6-07A7DD6C9655"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns439GroupParts"; - rename -uid "B72A41CB-4AC9-B289-63CA-E6BFD19788C3"; +createNode groupParts -n "mgear_curveCns479GroupParts"; + rename -uid "695D90B3-4559-02B4-EF0D-CB91C32E196C"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet587"; - rename -uid "5B3E51CB-4AA6-263B-E03D-03A57E1176CB"; +createNode objectSet -n "tweakSet627"; + rename -uid "84E9F1FE-4367-3EF8-2EC0-24846F403C75"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8743"; - rename -uid "D134E9D1-4E69-6668-D316-3984F67240E8"; +createNode groupId -n "groupId8823"; + rename -uid "CA62AE78-4BB0-9D4F-C29C-7EA663D689E9"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1174"; - rename -uid "E6CF5782-4B8F-1937-BBA0-C8A22FD8CDF5"; +createNode groupParts -n "groupParts1254"; + rename -uid "AAA54092-4F91-3FB1-8C9F-80965F9ED1AE"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode animCurveUU -n "leg_R0_root_st_profile"; - rename -uid "C8CDE234-4A8F-C1F8-1964-C687DC6391C9"; +createNode animCurveUU -n "leg_R0_root_st_profile1"; + rename -uid "554F7AC2-4738-77E1-EC96-10B0065F4CDF"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "leg_R0_root_sq_profile"; - rename -uid "11D9731B-4A4D-6835-6DBB-759CC672DBD6"; +createNode animCurveUU -n "leg_R0_root_sq_profile1"; + rename -uid "26E47BD8-41DA-2B00-3C58-0DBFC69D4CCD"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode mgear_curveCns -n "mgear_curveCns440"; - rename -uid "70F136BF-488A-8A8A-B53E-E59A1146C53E"; +createNode mgear_curveCns -n "mgear_curveCns480"; + rename -uid "D95F15DE-4313-45CF-DAF8-C0835C8B695F"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak588"; - rename -uid "A4175B9A-4296-16C9-FF83-32A629C4C611"; -createNode objectSet -n "mgear_curveCns440Set"; - rename -uid "E87BF3CC-4DE0-A57D-40A4-808DAF0D3BA4"; +createNode tweak -n "tweak628"; + rename -uid "5D22EC37-41CA-2B13-8DE6-87BC812EC506"; +createNode objectSet -n "mgear_curveCns480Set"; + rename -uid "A6301360-4BBC-0E62-B66A-E9B0B77387FE"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns440GroupId"; - rename -uid "31354F13-449C-F77B-CB2E-1CBD85C01D12"; +createNode groupId -n "mgear_curveCns480GroupId"; + rename -uid "0E35D8AF-4000-4626-A791-029A324C978A"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns440GroupParts"; - rename -uid "6A263843-41FB-BAAF-980A-B18B02C3045F"; +createNode groupParts -n "mgear_curveCns480GroupParts"; + rename -uid "3D02FC4E-47C9-4C85-D097-279E7E38ADCB"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet588"; - rename -uid "D02AD947-4F68-C6BB-49D8-72A3DB80B85C"; +createNode objectSet -n "tweakSet628"; + rename -uid "4BF65396-41DD-7CA2-860D-15A99634926A"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8745"; - rename -uid "F26D3FEA-4392-1988-5EAC-989086DF22D0"; +createNode groupId -n "groupId8825"; + rename -uid "82446721-499D-DEDF-C5D2-7F84AF44DA7F"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1176"; - rename -uid "EEF0A8C4-41E6-0F8C-3123-5C9E09B0215C"; +createNode groupParts -n "groupParts1256"; + rename -uid "EB6CD083-4573-42BE-7162-53AB9EDDAE10"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns441"; - rename -uid "8F3D6F74-4DF7-6F2A-BD67-B6ACE9DA804A"; +createNode mgear_curveCns -n "mgear_curveCns481"; + rename -uid "6E9E5D27-47B4-63A3-84A9-F2B8BF1F8D99"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak589"; - rename -uid "69FE70ED-4A0F-1C86-9484-3BAC9F2AF2B9"; -createNode objectSet -n "mgear_curveCns441Set"; - rename -uid "6FC7587C-48F0-0BEF-6C31-BCB9A5DBEB06"; +createNode tweak -n "tweak629"; + rename -uid "2A9D62E0-4188-4A10-976F-A1A9079486E4"; +createNode objectSet -n "mgear_curveCns481Set"; + rename -uid "D0013EBB-4962-573F-0143-0A8BE8DDBAED"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns441GroupId"; - rename -uid "D6556C99-4213-5C17-D7E7-20BB553C59BE"; +createNode groupId -n "mgear_curveCns481GroupId"; + rename -uid "7004F407-4F05-8CAC-EA72-2591B735038D"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns441GroupParts"; - rename -uid "593A7337-4352-B3FE-A15E-41B9577BE238"; +createNode groupParts -n "mgear_curveCns481GroupParts"; + rename -uid "8276EBCC-46F9-A737-DADB-0BA7369C96C1"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet589"; - rename -uid "1B6C42C4-4918-06FF-B689-A4A05EDAEFBA"; +createNode objectSet -n "tweakSet629"; + rename -uid "805A2672-4639-8234-1301-E3A917CBE9CB"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8747"; - rename -uid "1876125A-49CC-524E-FD62-AA9112D643A8"; +createNode groupId -n "groupId8827"; + rename -uid "BF3BAD20-42BD-5473-AC06-4C90A8C0D879"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1178"; - rename -uid "C67982B6-4346-598E-6793-06A984D00928"; +createNode groupParts -n "groupParts1258"; + rename -uid "3EDFEB1C-4ADB-A095-A47E-F1905B046FDF"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns442"; - rename -uid "8612C551-469C-63E6-A5A9-2F84CA405673"; +createNode mgear_curveCns -n "mgear_curveCns482"; + rename -uid "8F4194AC-45EF-44DE-6333-FD897C02E083"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak590"; - rename -uid "3704EEAA-480A-1DCA-788B-82BF2DB4E50B"; -createNode objectSet -n "mgear_curveCns442Set"; - rename -uid "65CFCB30-4227-431E-04E5-BB840F6D830F"; +createNode tweak -n "tweak630"; + rename -uid "1A08832E-4EAE-CFB0-1E55-9CAA138E61A8"; +createNode objectSet -n "mgear_curveCns482Set"; + rename -uid "9F78BC17-4647-E3E0-D603-D1AFA4E42EB4"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns442GroupId"; - rename -uid "554C7142-4D71-327B-5B12-D6BBBE5D6871"; +createNode groupId -n "mgear_curveCns482GroupId"; + rename -uid "759C09B9-4B4D-A325-B4B3-CE931EC8F695"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns442GroupParts"; - rename -uid "CF950B57-41AB-137D-CB49-4298C8B3F05C"; +createNode groupParts -n "mgear_curveCns482GroupParts"; + rename -uid "84520EC3-400F-1C86-548A-AABFE20C4A7D"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet590"; - rename -uid "3C60F627-4B3B-4854-524C-9DA4E5446920"; +createNode objectSet -n "tweakSet630"; + rename -uid "77EFBC8B-4483-A3E0-82FE-528897087E9D"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId8749"; - rename -uid "B8B422C8-4CE3-5919-5742-3F896269C7A1"; +createNode groupId -n "groupId8829"; + rename -uid "B53270CB-4B0C-9755-AAB9-7A93F38A33AE"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts1180"; - rename -uid "96BA0227-4E65-A8AA-C76C-9E98BD07B719"; +createNode groupParts -n "groupParts1260"; + rename -uid "D310D476-4B60-B45C-4C9B-4CA3ECDF6033"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; createNode script -n "uiConfigurationScriptNode"; - rename -uid "093946A3-4A4E-10B7-F93B-50A3E5F1F0BE"; + rename -uid "66D2A573-4BF1-BF2F-78B6-99BFF7141625"; setAttr ".b" -type "string" ( "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n" + " -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n" @@ -15905,24 +15879,24 @@ createNode script -n "uiConfigurationScriptNode"; + " -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n" + " -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n" + " -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n" - + " -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1168\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\t}\n\t} else {\n" + + " -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1300\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\t}\n\t} else {\n" + "\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n" + " -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n" - + " -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1168\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n" - + " -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n" - + " -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n" - + " -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n" - + " -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n" - + " -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n" - + " -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n" - + " outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n" - + " -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n" - + " -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" - + " -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n" - + " -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n" + + " -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1300\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" + + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n" + + " -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" + + " -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n" + + " -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n" + + " -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n" + + " -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n" + + " -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n" + + " -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n" + + "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n" + + " -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n" + + " animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n" + + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n" + + " -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n" + + " -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n" + "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n" + " -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n" + " dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n" @@ -15949,14 +15923,14 @@ createNode script -n "uiConfigurationScriptNode"; + "\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -activeTab -1\n -editorMode \"default\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" + "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -activeTab -1\n -editorMode \"default\" \n" + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"left3\\\" -ps 1 80 78 -ps 2 20 100 -ps 3 80 22 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap true\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1168\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1168\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" - + "\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Outliner\")) \n\t\t\t\t\t\"outlinerPanel\"\n\t\t\t\t\t\"$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" - + "\t\t\t\t\t\"outlinerPanel -edit -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" + + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1300\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1300\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Outliner\")) \n\t\t\t\t\t\"outlinerPanel\"\n\t\t\t\t\t\"$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -docTag \\\"isolOutln_fromSeln\\\" \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" + + "\t\t\t\t\t\"outlinerPanel -edit -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -docTag \\\"isolOutln_fromSeln\\\" \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" + "\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Script Editor\")) \n\t\t\t\t\t\"scriptedPanel\"\n\t\t\t\t\t\"$panelName = `scriptedPanel -unParent -type \\\"scriptEditorPanel\\\" -l (localizedPanelLabel(\\\"Script Editor\\\")) -mbv $menusOkayInPanels `\"\n\t\t\t\t\t\"scriptedPanel -edit -l (localizedPanelLabel(\\\"Script Editor\\\")) -mbv $menusOkayInPanels $panelName\"\n\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n"); setAttr ".st" 3; createNode script -n "sceneConfigurationScriptNode"; - rename -uid "DFA6B35A-4AC5-B3F6-2B5A-798628D34796"; + rename -uid "5177B696-438F-B220-2A7B-56A61BA1BD0C"; setAttr ".b" -type "string" "playbackOptions -min 1 -max 120 -ast 1 -aet 200 "; setAttr ".st" 6; select -ne :time1; @@ -15985,1307 +15959,1310 @@ select -ne :defaultResolution; select -ne :hardwareRenderGlobals; setAttr ".ctrs" 256; setAttr ".btrs" 512; -connectAttr "spine_C0_root_st_profile1.o" "spine_C0_root.st_profile"; -connectAttr "spine_C0_root_sq_profile1.o" "spine_C0_root.sq_profile"; -connectAttr "arm_L0_root_st_profile1.o" "arm_L0_root.st_profile"; -connectAttr "arm_L0_root_sq_profile1.o" "arm_L0_root.sq_profile"; -connectAttr "finger_L3_blade_pointConstraint9.ctx" "finger_L3_blade.tx" -l on; -connectAttr "finger_L3_blade_pointConstraint9.cty" "finger_L3_blade.ty" -l on; -connectAttr "finger_L3_blade_pointConstraint9.ctz" "finger_L3_blade.tz" -l on; -connectAttr "finger_L3_blade_aimConstraint9.crx" "finger_L3_blade.rx" -l on; -connectAttr "finger_L3_blade_aimConstraint9.cry" "finger_L3_blade.ry" -l on; -connectAttr "finger_L3_blade_aimConstraint9.crz" "finger_L3_blade.rz" -l on; -connectAttr "finger_L3_blade.pim" "finger_L3_blade_aimConstraint9.cpim"; -connectAttr "finger_L3_blade.t" "finger_L3_blade_aimConstraint9.ct"; -connectAttr "finger_L3_blade.rp" "finger_L3_blade_aimConstraint9.crp"; -connectAttr "finger_L3_blade.rpt" "finger_L3_blade_aimConstraint9.crt"; -connectAttr "finger_L3_blade.ro" "finger_L3_blade_aimConstraint9.cro"; -connectAttr "finger_L3_0_loc.t" "finger_L3_blade_aimConstraint9.tg[0].tt"; -connectAttr "finger_L3_0_loc.rp" "finger_L3_blade_aimConstraint9.tg[0].trp"; -connectAttr "finger_L3_0_loc.rpt" "finger_L3_blade_aimConstraint9.tg[0].trt"; -connectAttr "finger_L3_0_loc.pm" "finger_L3_blade_aimConstraint9.tg[0].tpm"; -connectAttr "finger_L3_blade_aimConstraint9.w0" "finger_L3_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "finger_L3_root.wm" "finger_L3_blade_aimConstraint9.wum"; -connectAttr "unitConversion134.o" "finger_L3_blade_aimConstraint9.ox"; -connectAttr "finger_L3_blade.pim" "finger_L3_blade_pointConstraint9.cpim"; -connectAttr "finger_L3_blade.rp" "finger_L3_blade_pointConstraint9.crp"; -connectAttr "finger_L3_blade.rpt" "finger_L3_blade_pointConstraint9.crt"; -connectAttr "finger_L3_root.t" "finger_L3_blade_pointConstraint9.tg[0].tt"; -connectAttr "finger_L3_root.rp" "finger_L3_blade_pointConstraint9.tg[0].trp"; -connectAttr "finger_L3_root.rpt" "finger_L3_blade_pointConstraint9.tg[0].trt"; -connectAttr "finger_L3_root.pm" "finger_L3_blade_pointConstraint9.tg[0].tpm"; -connectAttr "finger_L3_blade_pointConstraint9.w0" "finger_L3_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns415.og[0]" "finger_L3_crvShape.cr"; -connectAttr "tweak563.pl[0].cp[0]" "finger_L3_crvShape.twl"; -connectAttr "mgear_curveCns415GroupId.id" "finger_L3_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns415Set.mwc" "finger_L3_crvShape.iog.og[0].gco"; -connectAttr "groupId8695.id" "finger_L3_crvShape.iog.og[1].gid"; -connectAttr "tweakSet563.mwc" "finger_L3_crvShape.iog.og[1].gco"; -connectAttr "finger_L2_blade_pointConstraint9.ctx" "finger_L2_blade.tx" -l on; -connectAttr "finger_L2_blade_pointConstraint9.cty" "finger_L2_blade.ty" -l on; -connectAttr "finger_L2_blade_pointConstraint9.ctz" "finger_L2_blade.tz" -l on; -connectAttr "finger_L2_blade_aimConstraint9.crx" "finger_L2_blade.rx" -l on; -connectAttr "finger_L2_blade_aimConstraint9.cry" "finger_L2_blade.ry" -l on; -connectAttr "finger_L2_blade_aimConstraint9.crz" "finger_L2_blade.rz" -l on; -connectAttr "finger_L2_blade.pim" "finger_L2_blade_aimConstraint9.cpim"; -connectAttr "finger_L2_blade.t" "finger_L2_blade_aimConstraint9.ct"; -connectAttr "finger_L2_blade.rp" "finger_L2_blade_aimConstraint9.crp"; -connectAttr "finger_L2_blade.rpt" "finger_L2_blade_aimConstraint9.crt"; -connectAttr "finger_L2_blade.ro" "finger_L2_blade_aimConstraint9.cro"; -connectAttr "finger_L2_0_loc.t" "finger_L2_blade_aimConstraint9.tg[0].tt"; -connectAttr "finger_L2_0_loc.rp" "finger_L2_blade_aimConstraint9.tg[0].trp"; -connectAttr "finger_L2_0_loc.rpt" "finger_L2_blade_aimConstraint9.tg[0].trt"; -connectAttr "finger_L2_0_loc.pm" "finger_L2_blade_aimConstraint9.tg[0].tpm"; -connectAttr "finger_L2_blade_aimConstraint9.w0" "finger_L2_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "finger_L2_root.wm" "finger_L2_blade_aimConstraint9.wum"; -connectAttr "unitConversion135.o" "finger_L2_blade_aimConstraint9.ox"; -connectAttr "finger_L2_blade.pim" "finger_L2_blade_pointConstraint9.cpim"; -connectAttr "finger_L2_blade.rp" "finger_L2_blade_pointConstraint9.crp"; -connectAttr "finger_L2_blade.rpt" "finger_L2_blade_pointConstraint9.crt"; -connectAttr "finger_L2_root.t" "finger_L2_blade_pointConstraint9.tg[0].tt"; -connectAttr "finger_L2_root.rp" "finger_L2_blade_pointConstraint9.tg[0].trp"; -connectAttr "finger_L2_root.rpt" "finger_L2_blade_pointConstraint9.tg[0].trt"; -connectAttr "finger_L2_root.pm" "finger_L2_blade_pointConstraint9.tg[0].tpm"; -connectAttr "finger_L2_blade_pointConstraint9.w0" "finger_L2_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns416.og[0]" "finger_L2_crvShape.cr"; -connectAttr "tweak564.pl[0].cp[0]" "finger_L2_crvShape.twl"; -connectAttr "mgear_curveCns416GroupId.id" "finger_L2_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns416Set.mwc" "finger_L2_crvShape.iog.og[0].gco"; -connectAttr "groupId8697.id" "finger_L2_crvShape.iog.og[1].gid"; -connectAttr "tweakSet564.mwc" "finger_L2_crvShape.iog.og[1].gco"; -connectAttr "finger_L1_blade_pointConstraint9.ctx" "finger_L1_blade.tx" -l on; -connectAttr "finger_L1_blade_pointConstraint9.cty" "finger_L1_blade.ty" -l on; -connectAttr "finger_L1_blade_pointConstraint9.ctz" "finger_L1_blade.tz" -l on; -connectAttr "finger_L1_blade_aimConstraint9.crx" "finger_L1_blade.rx" -l on; -connectAttr "finger_L1_blade_aimConstraint9.cry" "finger_L1_blade.ry" -l on; -connectAttr "finger_L1_blade_aimConstraint9.crz" "finger_L1_blade.rz" -l on; -connectAttr "finger_L1_blade.pim" "finger_L1_blade_aimConstraint9.cpim"; -connectAttr "finger_L1_blade.t" "finger_L1_blade_aimConstraint9.ct"; -connectAttr "finger_L1_blade.rp" "finger_L1_blade_aimConstraint9.crp"; -connectAttr "finger_L1_blade.rpt" "finger_L1_blade_aimConstraint9.crt"; -connectAttr "finger_L1_blade.ro" "finger_L1_blade_aimConstraint9.cro"; -connectAttr "finger_L1_0_loc.t" "finger_L1_blade_aimConstraint9.tg[0].tt"; -connectAttr "finger_L1_0_loc.rp" "finger_L1_blade_aimConstraint9.tg[0].trp"; -connectAttr "finger_L1_0_loc.rpt" "finger_L1_blade_aimConstraint9.tg[0].trt"; -connectAttr "finger_L1_0_loc.pm" "finger_L1_blade_aimConstraint9.tg[0].tpm"; -connectAttr "finger_L1_blade_aimConstraint9.w0" "finger_L1_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "finger_L1_root.wm" "finger_L1_blade_aimConstraint9.wum"; -connectAttr "unitConversion136.o" "finger_L1_blade_aimConstraint9.ox"; -connectAttr "finger_L1_blade.pim" "finger_L1_blade_pointConstraint9.cpim"; -connectAttr "finger_L1_blade.rp" "finger_L1_blade_pointConstraint9.crp"; -connectAttr "finger_L1_blade.rpt" "finger_L1_blade_pointConstraint9.crt"; -connectAttr "finger_L1_root.t" "finger_L1_blade_pointConstraint9.tg[0].tt"; -connectAttr "finger_L1_root.rp" "finger_L1_blade_pointConstraint9.tg[0].trp"; -connectAttr "finger_L1_root.rpt" "finger_L1_blade_pointConstraint9.tg[0].trt"; -connectAttr "finger_L1_root.pm" "finger_L1_blade_pointConstraint9.tg[0].tpm"; -connectAttr "finger_L1_blade_pointConstraint9.w0" "finger_L1_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns417.og[0]" "finger_L1_crvShape.cr"; -connectAttr "tweak565.pl[0].cp[0]" "finger_L1_crvShape.twl"; -connectAttr "mgear_curveCns417GroupId.id" "finger_L1_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns417Set.mwc" "finger_L1_crvShape.iog.og[0].gco"; -connectAttr "groupId8699.id" "finger_L1_crvShape.iog.og[1].gid"; -connectAttr "tweakSet565.mwc" "finger_L1_crvShape.iog.og[1].gco"; -connectAttr "meta_L0_blade_pointConstraint9.ctx" "meta_L0_blade.tx" -l on; -connectAttr "meta_L0_blade_pointConstraint9.cty" "meta_L0_blade.ty" -l on; -connectAttr "meta_L0_blade_pointConstraint9.ctz" "meta_L0_blade.tz" -l on; -connectAttr "meta_L0_blade_aimConstraint9.crx" "meta_L0_blade.rx" -l on; -connectAttr "meta_L0_blade_aimConstraint9.cry" "meta_L0_blade.ry" -l on; -connectAttr "meta_L0_blade_aimConstraint9.crz" "meta_L0_blade.rz" -l on; -connectAttr "meta_L0_blade.pim" "meta_L0_blade_aimConstraint9.cpim"; -connectAttr "meta_L0_blade.t" "meta_L0_blade_aimConstraint9.ct"; -connectAttr "meta_L0_blade.rp" "meta_L0_blade_aimConstraint9.crp"; -connectAttr "meta_L0_blade.rpt" "meta_L0_blade_aimConstraint9.crt"; -connectAttr "meta_L0_blade.ro" "meta_L0_blade_aimConstraint9.cro"; -connectAttr "meta_L0_0_loc.t" "meta_L0_blade_aimConstraint9.tg[0].tt"; -connectAttr "meta_L0_0_loc.rp" "meta_L0_blade_aimConstraint9.tg[0].trp"; -connectAttr "meta_L0_0_loc.rpt" "meta_L0_blade_aimConstraint9.tg[0].trt"; -connectAttr "meta_L0_0_loc.pm" "meta_L0_blade_aimConstraint9.tg[0].tpm"; -connectAttr "meta_L0_blade_aimConstraint9.w0" "meta_L0_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "meta_L0_root.wm" "meta_L0_blade_aimConstraint9.wum"; -connectAttr "unitConversion133.o" "meta_L0_blade_aimConstraint9.ox"; -connectAttr "meta_L0_blade.pim" "meta_L0_blade_pointConstraint9.cpim"; -connectAttr "meta_L0_blade.rp" "meta_L0_blade_pointConstraint9.crp"; -connectAttr "meta_L0_blade.rpt" "meta_L0_blade_pointConstraint9.crt"; -connectAttr "meta_L0_root.t" "meta_L0_blade_pointConstraint9.tg[0].tt"; -connectAttr "meta_L0_root.rp" "meta_L0_blade_pointConstraint9.tg[0].trp"; -connectAttr "meta_L0_root.rpt" "meta_L0_blade_pointConstraint9.tg[0].trt"; -connectAttr "meta_L0_root.pm" "meta_L0_blade_pointConstraint9.tg[0].tpm"; -connectAttr "meta_L0_blade_pointConstraint9.w0" "meta_L0_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns414.og[0]" "meta_L0_crvShape.cr"; -connectAttr "tweak562.pl[0].cp[0]" "meta_L0_crvShape.twl"; -connectAttr "mgear_curveCns414GroupId.id" "meta_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns414Set.mwc" "meta_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8693.id" "meta_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet562.mwc" "meta_L0_crvShape.iog.og[1].gco"; -connectAttr "finger_L0_blade_pointConstraint9.ctx" "finger_L0_blade.tx" -l on; -connectAttr "finger_L0_blade_pointConstraint9.cty" "finger_L0_blade.ty" -l on; -connectAttr "finger_L0_blade_pointConstraint9.ctz" "finger_L0_blade.tz" -l on; -connectAttr "finger_L0_blade_aimConstraint9.crx" "finger_L0_blade.rx" -l on; -connectAttr "finger_L0_blade_aimConstraint9.cry" "finger_L0_blade.ry" -l on; -connectAttr "finger_L0_blade_aimConstraint9.crz" "finger_L0_blade.rz" -l on; -connectAttr "finger_L0_blade.pim" "finger_L0_blade_aimConstraint9.cpim"; -connectAttr "finger_L0_blade.t" "finger_L0_blade_aimConstraint9.ct"; -connectAttr "finger_L0_blade.rp" "finger_L0_blade_aimConstraint9.crp"; -connectAttr "finger_L0_blade.rpt" "finger_L0_blade_aimConstraint9.crt"; -connectAttr "finger_L0_blade.ro" "finger_L0_blade_aimConstraint9.cro"; -connectAttr "finger_L0_0_loc.t" "finger_L0_blade_aimConstraint9.tg[0].tt"; -connectAttr "finger_L0_0_loc.rp" "finger_L0_blade_aimConstraint9.tg[0].trp"; -connectAttr "finger_L0_0_loc.rpt" "finger_L0_blade_aimConstraint9.tg[0].trt"; -connectAttr "finger_L0_0_loc.pm" "finger_L0_blade_aimConstraint9.tg[0].tpm"; -connectAttr "finger_L0_blade_aimConstraint9.w0" "finger_L0_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "finger_L0_root.wm" "finger_L0_blade_aimConstraint9.wum"; -connectAttr "unitConversion137.o" "finger_L0_blade_aimConstraint9.ox"; -connectAttr "finger_L0_blade.pim" "finger_L0_blade_pointConstraint9.cpim"; -connectAttr "finger_L0_blade.rp" "finger_L0_blade_pointConstraint9.crp"; -connectAttr "finger_L0_blade.rpt" "finger_L0_blade_pointConstraint9.crt"; -connectAttr "finger_L0_root.t" "finger_L0_blade_pointConstraint9.tg[0].tt"; -connectAttr "finger_L0_root.rp" "finger_L0_blade_pointConstraint9.tg[0].trp"; -connectAttr "finger_L0_root.rpt" "finger_L0_blade_pointConstraint9.tg[0].trt"; -connectAttr "finger_L0_root.pm" "finger_L0_blade_pointConstraint9.tg[0].tpm"; -connectAttr "finger_L0_blade_pointConstraint9.w0" "finger_L0_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns418.og[0]" "finger_L0_crvShape.cr"; -connectAttr "tweak566.pl[0].cp[0]" "finger_L0_crvShape.twl"; -connectAttr "mgear_curveCns418GroupId.id" "finger_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns418Set.mwc" "finger_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8701.id" "finger_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet566.mwc" "finger_L0_crvShape.iog.og[1].gco"; -connectAttr "thumb_L0_blade_pointConstraint9.ctx" "thumb_L0_blade.tx" -l on; -connectAttr "thumb_L0_blade_pointConstraint9.cty" "thumb_L0_blade.ty" -l on; -connectAttr "thumb_L0_blade_pointConstraint9.ctz" "thumb_L0_blade.tz" -l on; -connectAttr "thumb_L0_blade_aimConstraint9.crx" "thumb_L0_blade.rx" -l on; -connectAttr "thumb_L0_blade_aimConstraint9.cry" "thumb_L0_blade.ry" -l on; -connectAttr "thumb_L0_blade_aimConstraint9.crz" "thumb_L0_blade.rz" -l on; -connectAttr "thumb_L0_blade.pim" "thumb_L0_blade_aimConstraint9.cpim"; -connectAttr "thumb_L0_blade.t" "thumb_L0_blade_aimConstraint9.ct"; -connectAttr "thumb_L0_blade.rp" "thumb_L0_blade_aimConstraint9.crp"; -connectAttr "thumb_L0_blade.rpt" "thumb_L0_blade_aimConstraint9.crt"; -connectAttr "thumb_L0_blade.ro" "thumb_L0_blade_aimConstraint9.cro"; -connectAttr "thumb_L0_0_loc.t" "thumb_L0_blade_aimConstraint9.tg[0].tt"; -connectAttr "thumb_L0_0_loc.rp" "thumb_L0_blade_aimConstraint9.tg[0].trp"; -connectAttr "thumb_L0_0_loc.rpt" "thumb_L0_blade_aimConstraint9.tg[0].trt"; -connectAttr "thumb_L0_0_loc.pm" "thumb_L0_blade_aimConstraint9.tg[0].tpm"; -connectAttr "thumb_L0_blade_aimConstraint9.w0" "thumb_L0_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "thumb_L0_root.wm" "thumb_L0_blade_aimConstraint9.wum"; -connectAttr "unitConversion138.o" "thumb_L0_blade_aimConstraint9.ox"; -connectAttr "thumb_L0_blade.pim" "thumb_L0_blade_pointConstraint9.cpim"; -connectAttr "thumb_L0_blade.rp" "thumb_L0_blade_pointConstraint9.crp"; -connectAttr "thumb_L0_blade.rpt" "thumb_L0_blade_pointConstraint9.crt"; -connectAttr "thumb_L0_root.t" "thumb_L0_blade_pointConstraint9.tg[0].tt"; -connectAttr "thumb_L0_root.rp" "thumb_L0_blade_pointConstraint9.tg[0].trp"; -connectAttr "thumb_L0_root.rpt" "thumb_L0_blade_pointConstraint9.tg[0].trt"; -connectAttr "thumb_L0_root.pm" "thumb_L0_blade_pointConstraint9.tg[0].tpm"; -connectAttr "thumb_L0_blade_pointConstraint9.w0" "thumb_L0_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns419.og[0]" "thumb_L0_crvShape.cr"; -connectAttr "tweak567.pl[0].cp[0]" "thumb_L0_crvShape.twl"; -connectAttr "mgear_curveCns419GroupId.id" "thumb_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns419Set.mwc" "thumb_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8703.id" "thumb_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet567.mwc" "thumb_L0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns413.og[0]" "arm_L0_crvShape.cr"; -connectAttr "tweak561.pl[0].cp[0]" "arm_L0_crvShape.twl"; -connectAttr "mgear_curveCns413GroupId.id" "arm_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns413Set.mwc" "arm_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8691.id" "arm_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet561.mwc" "arm_L0_crvShape.iog.og[1].gco"; -connectAttr "shoulder_L0_blade_pointConstraint9.ctx" "shoulder_L0_blade.tx" -l on - ; -connectAttr "shoulder_L0_blade_pointConstraint9.cty" "shoulder_L0_blade.ty" -l on - ; -connectAttr "shoulder_L0_blade_pointConstraint9.ctz" "shoulder_L0_blade.tz" -l on - ; -connectAttr "shoulder_L0_blade_aimConstraint9.crx" "shoulder_L0_blade.rx" -l on; -connectAttr "shoulder_L0_blade_aimConstraint9.cry" "shoulder_L0_blade.ry" -l on; -connectAttr "shoulder_L0_blade_aimConstraint9.crz" "shoulder_L0_blade.rz" -l on; -connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_aimConstraint9.cpim"; -connectAttr "shoulder_L0_blade.t" "shoulder_L0_blade_aimConstraint9.ct"; -connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_aimConstraint9.crp"; -connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_aimConstraint9.crt"; -connectAttr "shoulder_L0_blade.ro" "shoulder_L0_blade_aimConstraint9.cro"; -connectAttr "shoulder_L0_tip.t" "shoulder_L0_blade_aimConstraint9.tg[0].tt"; -connectAttr "shoulder_L0_tip.rp" "shoulder_L0_blade_aimConstraint9.tg[0].trp"; -connectAttr "shoulder_L0_tip.rpt" "shoulder_L0_blade_aimConstraint9.tg[0].trt"; -connectAttr "shoulder_L0_tip.pm" "shoulder_L0_blade_aimConstraint9.tg[0].tpm"; -connectAttr "shoulder_L0_blade_aimConstraint9.w0" "shoulder_L0_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "shoulder_L0_root.wm" "shoulder_L0_blade_aimConstraint9.wum"; -connectAttr "unitConversion132.o" "shoulder_L0_blade_aimConstraint9.ox"; -connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_pointConstraint9.cpim"; -connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_pointConstraint9.crp"; -connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_pointConstraint9.crt"; -connectAttr "shoulder_L0_root.t" "shoulder_L0_blade_pointConstraint9.tg[0].tt"; -connectAttr "shoulder_L0_root.rp" "shoulder_L0_blade_pointConstraint9.tg[0].trp" - ; -connectAttr "shoulder_L0_root.rpt" "shoulder_L0_blade_pointConstraint9.tg[0].trt" - ; -connectAttr "shoulder_L0_root.pm" "shoulder_L0_blade_pointConstraint9.tg[0].tpm" - ; -connectAttr "shoulder_L0_blade_pointConstraint9.w0" "shoulder_L0_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns412.og[0]" "shoulder_L0_crvShape.cr"; -connectAttr "tweak560.pl[0].cp[0]" "shoulder_L0_crvShape.twl"; -connectAttr "mgear_curveCns412GroupId.id" "shoulder_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns412Set.mwc" "shoulder_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8689.id" "shoulder_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet560.mwc" "shoulder_L0_crvShape.iog.og[1].gco"; -connectAttr "neck_C0_root_st_profile1.o" "neck_C0_root.st_profile"; -connectAttr "neck_C0_root_sq_profile1.o" "neck_C0_root.sq_profile"; -connectAttr "mgear_curveCns423.og[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.cr" - ; -connectAttr "tweak571.pl[0].cp[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.twl" - ; -connectAttr "mgear_curveCns423GroupId.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" - ; -connectAttr "mgear_curveCns423Set.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" - ; -connectAttr "groupId8711.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" - ; -connectAttr "tweakSet571.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" - ; -connectAttr "mgear_curveCns424.og[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.cr" - ; -connectAttr "tweak572.pl[0].cp[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.twl" - ; -connectAttr "mgear_curveCns424GroupId.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" - ; -connectAttr "mgear_curveCns424Set.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" - ; -connectAttr "groupId8713.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" - ; -connectAttr "tweakSet572.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" - ; -connectAttr "tongue_C0_blade_pointConstraint9.ctx" "tongue_C0_blade.tx" -l on; -connectAttr "tongue_C0_blade_pointConstraint9.cty" "tongue_C0_blade.ty" -l on; -connectAttr "tongue_C0_blade_pointConstraint9.ctz" "tongue_C0_blade.tz" -l on; -connectAttr "tongue_C0_blade_aimConstraint9.crx" "tongue_C0_blade.rx" -l on; -connectAttr "tongue_C0_blade_aimConstraint9.cry" "tongue_C0_blade.ry" -l on; -connectAttr "tongue_C0_blade_aimConstraint9.crz" "tongue_C0_blade.rz" -l on; -connectAttr "tongue_C0_blade.pim" "tongue_C0_blade_aimConstraint9.cpim"; -connectAttr "tongue_C0_blade.t" "tongue_C0_blade_aimConstraint9.ct"; -connectAttr "tongue_C0_blade.rp" "tongue_C0_blade_aimConstraint9.crp"; -connectAttr "tongue_C0_blade.rpt" "tongue_C0_blade_aimConstraint9.crt"; -connectAttr "tongue_C0_blade.ro" "tongue_C0_blade_aimConstraint9.cro"; -connectAttr "tongue_C0_0_loc.t" "tongue_C0_blade_aimConstraint9.tg[0].tt"; -connectAttr "tongue_C0_0_loc.rp" "tongue_C0_blade_aimConstraint9.tg[0].trp"; -connectAttr "tongue_C0_0_loc.rpt" "tongue_C0_blade_aimConstraint9.tg[0].trt"; -connectAttr "tongue_C0_0_loc.pm" "tongue_C0_blade_aimConstraint9.tg[0].tpm"; -connectAttr "tongue_C0_blade_aimConstraint9.w0" "tongue_C0_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "tongue_C0_root.wm" "tongue_C0_blade_aimConstraint9.wum"; -connectAttr "unitConversion140.o" "tongue_C0_blade_aimConstraint9.ox"; -connectAttr "tongue_C0_blade.pim" "tongue_C0_blade_pointConstraint9.cpim"; -connectAttr "tongue_C0_blade.rp" "tongue_C0_blade_pointConstraint9.crp"; -connectAttr "tongue_C0_blade.rpt" "tongue_C0_blade_pointConstraint9.crt"; -connectAttr "tongue_C0_root.t" "tongue_C0_blade_pointConstraint9.tg[0].tt"; -connectAttr "tongue_C0_root.rp" "tongue_C0_blade_pointConstraint9.tg[0].trp"; -connectAttr "tongue_C0_root.rpt" "tongue_C0_blade_pointConstraint9.tg[0].trt"; -connectAttr "tongue_C0_root.pm" "tongue_C0_blade_pointConstraint9.tg[0].tpm"; -connectAttr "tongue_C0_blade_pointConstraint9.w0" "tongue_C0_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns426.og[0]" "tongue_C0_crvShape.cr"; -connectAttr "tweak574.pl[0].cp[0]" "tongue_C0_crvShape.twl"; -connectAttr "mgear_curveCns426GroupId.id" "tongue_C0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns426Set.mwc" "tongue_C0_crvShape.iog.og[0].gco"; -connectAttr "groupId8717.id" "tongue_C0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet574.mwc" "tongue_C0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns422.og[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.cr" - ; -connectAttr "tweak570.pl[0].cp[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.twl" - ; -connectAttr "mgear_curveCns422GroupId.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" - ; -connectAttr "mgear_curveCns422Set.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" - ; -connectAttr "groupId8709.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" - ; -connectAttr "tweakSet570.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" - ; -connectAttr "mgear_curveCns425.og[0]" "mouth_C0_crv9Shape.cr"; -connectAttr "tweak573.pl[0].cp[0]" "mouth_C0_crv9Shape.twl"; -connectAttr "mgear_curveCns425GroupId.id" "mouth_C0_crv9Shape.iog.og[0].gid"; -connectAttr "mgear_curveCns425Set.mwc" "mouth_C0_crv9Shape.iog.og[0].gco"; -connectAttr "groupId8715.id" "mouth_C0_crv9Shape.iog.og[1].gid"; -connectAttr "tweakSet573.mwc" "mouth_C0_crv9Shape.iog.og[1].gco"; -connectAttr "mgear_curveCns427.og[0]" "eye_R0_crvShape.cr"; -connectAttr "tweak575.pl[0].cp[0]" "eye_R0_crvShape.twl"; -connectAttr "mgear_curveCns427GroupId.id" "eye_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns427Set.mwc" "eye_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8719.id" "eye_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet575.mwc" "eye_R0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns428.og[0]" "eye_L0_crvShape.cr"; -connectAttr "tweak576.pl[0].cp[0]" "eye_L0_crvShape.twl"; -connectAttr "mgear_curveCns428GroupId.id" "eye_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns428Set.mwc" "eye_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8721.id" "eye_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet576.mwc" "eye_L0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns421.og[0]" "neck_C0_head_crvShape.cr"; -connectAttr "tweak569.pl[0].cp[0]" "neck_C0_head_crvShape.twl"; -connectAttr "mgear_curveCns421GroupId.id" "neck_C0_head_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns421Set.mwc" "neck_C0_head_crvShape.iog.og[0].gco"; -connectAttr "groupId8707.id" "neck_C0_head_crvShape.iog.og[1].gid"; -connectAttr "tweakSet569.mwc" "neck_C0_head_crvShape.iog.og[1].gco"; -connectAttr "neck_C0_blade_pointConstraint9.ctx" "neck_C0_blade.tx" -l on; -connectAttr "neck_C0_blade_pointConstraint9.cty" "neck_C0_blade.ty" -l on; -connectAttr "neck_C0_blade_pointConstraint9.ctz" "neck_C0_blade.tz" -l on; -connectAttr "neck_C0_blade_aimConstraint9.crx" "neck_C0_blade.rx" -l on; -connectAttr "neck_C0_blade_aimConstraint9.cry" "neck_C0_blade.ry" -l on; -connectAttr "neck_C0_blade_aimConstraint9.crz" "neck_C0_blade.rz" -l on; -connectAttr "neck_C0_blade.pim" "neck_C0_blade_aimConstraint9.cpim"; -connectAttr "neck_C0_blade.t" "neck_C0_blade_aimConstraint9.ct"; -connectAttr "neck_C0_blade.rp" "neck_C0_blade_aimConstraint9.crp"; -connectAttr "neck_C0_blade.rpt" "neck_C0_blade_aimConstraint9.crt"; -connectAttr "neck_C0_blade.ro" "neck_C0_blade_aimConstraint9.cro"; -connectAttr "neck_C0_tan0.t" "neck_C0_blade_aimConstraint9.tg[0].tt"; -connectAttr "neck_C0_tan0.rp" "neck_C0_blade_aimConstraint9.tg[0].trp"; -connectAttr "neck_C0_tan0.rpt" "neck_C0_blade_aimConstraint9.tg[0].trt"; -connectAttr "neck_C0_tan0.pm" "neck_C0_blade_aimConstraint9.tg[0].tpm"; -connectAttr "neck_C0_blade_aimConstraint9.w0" "neck_C0_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "neck_C0_root.wm" "neck_C0_blade_aimConstraint9.wum"; -connectAttr "unitConversion139.o" "neck_C0_blade_aimConstraint9.ox"; -connectAttr "neck_C0_blade.pim" "neck_C0_blade_pointConstraint9.cpim"; -connectAttr "neck_C0_blade.rp" "neck_C0_blade_pointConstraint9.crp"; -connectAttr "neck_C0_blade.rpt" "neck_C0_blade_pointConstraint9.crt"; -connectAttr "neck_C0_root.t" "neck_C0_blade_pointConstraint9.tg[0].tt"; -connectAttr "neck_C0_root.rp" "neck_C0_blade_pointConstraint9.tg[0].trp"; -connectAttr "neck_C0_root.rpt" "neck_C0_blade_pointConstraint9.tg[0].trt"; -connectAttr "neck_C0_root.pm" "neck_C0_blade_pointConstraint9.tg[0].tpm"; -connectAttr "neck_C0_blade_pointConstraint9.w0" "neck_C0_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns420.og[0]" "neck_C0_neck_crvShape.cr"; -connectAttr "tweak568.pl[0].cp[0]" "neck_C0_neck_crvShape.twl"; -connectAttr "mgear_curveCns420GroupId.id" "neck_C0_neck_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns420Set.mwc" "neck_C0_neck_crvShape.iog.og[0].gco"; -connectAttr "groupId8705.id" "neck_C0_neck_crvShape.iog.og[1].gid"; -connectAttr "tweakSet568.mwc" "neck_C0_neck_crvShape.iog.og[1].gco"; +connectAttr "spine_C0_root_st_profile.o" "spine_C0_root.st_profile"; +connectAttr "spine_C0_root_sq_profile.o" "spine_C0_root.sq_profile"; +connectAttr "arm_L0_root_st_profile.o" "arm_L0_root.st_profile"; +connectAttr "arm_L0_root_sq_profile.o" "arm_L0_root.sq_profile"; +connectAttr "finger_L3_blade_pointConstraint10.ctx" "finger_L3_blade.tx" -l on; +connectAttr "finger_L3_blade_pointConstraint10.cty" "finger_L3_blade.ty" -l on; +connectAttr "finger_L3_blade_pointConstraint10.ctz" "finger_L3_blade.tz" -l on; +connectAttr "finger_L3_blade_aimConstraint10.crx" "finger_L3_blade.rx" -l on; +connectAttr "finger_L3_blade_aimConstraint10.cry" "finger_L3_blade.ry" -l on; +connectAttr "finger_L3_blade_aimConstraint10.crz" "finger_L3_blade.rz" -l on; +connectAttr "finger_L3_blade.pim" "finger_L3_blade_aimConstraint10.cpim"; +connectAttr "finger_L3_blade.t" "finger_L3_blade_aimConstraint10.ct"; +connectAttr "finger_L3_blade.rp" "finger_L3_blade_aimConstraint10.crp"; +connectAttr "finger_L3_blade.rpt" "finger_L3_blade_aimConstraint10.crt"; +connectAttr "finger_L3_blade.ro" "finger_L3_blade_aimConstraint10.cro"; +connectAttr "finger_L3_0_loc.t" "finger_L3_blade_aimConstraint10.tg[0].tt"; +connectAttr "finger_L3_0_loc.rp" "finger_L3_blade_aimConstraint10.tg[0].trp"; +connectAttr "finger_L3_0_loc.rpt" "finger_L3_blade_aimConstraint10.tg[0].trt"; +connectAttr "finger_L3_0_loc.pm" "finger_L3_blade_aimConstraint10.tg[0].tpm"; +connectAttr "finger_L3_blade_aimConstraint10.w0" "finger_L3_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "finger_L3_root.wm" "finger_L3_blade_aimConstraint10.wum"; +connectAttr "unitConversion151.o" "finger_L3_blade_aimConstraint10.ox"; +connectAttr "finger_L3_blade.pim" "finger_L3_blade_pointConstraint10.cpim"; +connectAttr "finger_L3_blade.rp" "finger_L3_blade_pointConstraint10.crp"; +connectAttr "finger_L3_blade.rpt" "finger_L3_blade_pointConstraint10.crt"; +connectAttr "finger_L3_root.t" "finger_L3_blade_pointConstraint10.tg[0].tt"; +connectAttr "finger_L3_root.rp" "finger_L3_blade_pointConstraint10.tg[0].trp"; +connectAttr "finger_L3_root.rpt" "finger_L3_blade_pointConstraint10.tg[0].trt"; +connectAttr "finger_L3_root.pm" "finger_L3_blade_pointConstraint10.tg[0].tpm"; +connectAttr "finger_L3_blade_pointConstraint10.w0" "finger_L3_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns455.og[0]" "finger_L3_crvShape.cr"; +connectAttr "tweak603.pl[0].cp[0]" "finger_L3_crvShape.twl"; +connectAttr "mgear_curveCns455GroupId.id" "finger_L3_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns455Set.mwc" "finger_L3_crvShape.iog.og[0].gco"; +connectAttr "groupId8775.id" "finger_L3_crvShape.iog.og[1].gid"; +connectAttr "tweakSet603.mwc" "finger_L3_crvShape.iog.og[1].gco"; +connectAttr "finger_L2_blade_pointConstraint10.ctx" "finger_L2_blade.tx" -l on; +connectAttr "finger_L2_blade_pointConstraint10.cty" "finger_L2_blade.ty" -l on; +connectAttr "finger_L2_blade_pointConstraint10.ctz" "finger_L2_blade.tz" -l on; +connectAttr "finger_L2_blade_aimConstraint10.crx" "finger_L2_blade.rx" -l on; +connectAttr "finger_L2_blade_aimConstraint10.cry" "finger_L2_blade.ry" -l on; +connectAttr "finger_L2_blade_aimConstraint10.crz" "finger_L2_blade.rz" -l on; +connectAttr "finger_L2_blade.pim" "finger_L2_blade_aimConstraint10.cpim"; +connectAttr "finger_L2_blade.t" "finger_L2_blade_aimConstraint10.ct"; +connectAttr "finger_L2_blade.rp" "finger_L2_blade_aimConstraint10.crp"; +connectAttr "finger_L2_blade.rpt" "finger_L2_blade_aimConstraint10.crt"; +connectAttr "finger_L2_blade.ro" "finger_L2_blade_aimConstraint10.cro"; +connectAttr "finger_L2_0_loc.t" "finger_L2_blade_aimConstraint10.tg[0].tt"; +connectAttr "finger_L2_0_loc.rp" "finger_L2_blade_aimConstraint10.tg[0].trp"; +connectAttr "finger_L2_0_loc.rpt" "finger_L2_blade_aimConstraint10.tg[0].trt"; +connectAttr "finger_L2_0_loc.pm" "finger_L2_blade_aimConstraint10.tg[0].tpm"; +connectAttr "finger_L2_blade_aimConstraint10.w0" "finger_L2_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "finger_L2_root.wm" "finger_L2_blade_aimConstraint10.wum"; +connectAttr "unitConversion152.o" "finger_L2_blade_aimConstraint10.ox"; +connectAttr "finger_L2_blade.pim" "finger_L2_blade_pointConstraint10.cpim"; +connectAttr "finger_L2_blade.rp" "finger_L2_blade_pointConstraint10.crp"; +connectAttr "finger_L2_blade.rpt" "finger_L2_blade_pointConstraint10.crt"; +connectAttr "finger_L2_root.t" "finger_L2_blade_pointConstraint10.tg[0].tt"; +connectAttr "finger_L2_root.rp" "finger_L2_blade_pointConstraint10.tg[0].trp"; +connectAttr "finger_L2_root.rpt" "finger_L2_blade_pointConstraint10.tg[0].trt"; +connectAttr "finger_L2_root.pm" "finger_L2_blade_pointConstraint10.tg[0].tpm"; +connectAttr "finger_L2_blade_pointConstraint10.w0" "finger_L2_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns456.og[0]" "finger_L2_crvShape.cr"; +connectAttr "tweak604.pl[0].cp[0]" "finger_L2_crvShape.twl"; +connectAttr "mgear_curveCns456GroupId.id" "finger_L2_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns456Set.mwc" "finger_L2_crvShape.iog.og[0].gco"; +connectAttr "groupId8777.id" "finger_L2_crvShape.iog.og[1].gid"; +connectAttr "tweakSet604.mwc" "finger_L2_crvShape.iog.og[1].gco"; +connectAttr "finger_L1_blade_pointConstraint10.ctx" "finger_L1_blade.tx" -l on; +connectAttr "finger_L1_blade_pointConstraint10.cty" "finger_L1_blade.ty" -l on; +connectAttr "finger_L1_blade_pointConstraint10.ctz" "finger_L1_blade.tz" -l on; +connectAttr "finger_L1_blade_aimConstraint10.crx" "finger_L1_blade.rx" -l on; +connectAttr "finger_L1_blade_aimConstraint10.cry" "finger_L1_blade.ry" -l on; +connectAttr "finger_L1_blade_aimConstraint10.crz" "finger_L1_blade.rz" -l on; +connectAttr "finger_L1_blade.pim" "finger_L1_blade_aimConstraint10.cpim"; +connectAttr "finger_L1_blade.t" "finger_L1_blade_aimConstraint10.ct"; +connectAttr "finger_L1_blade.rp" "finger_L1_blade_aimConstraint10.crp"; +connectAttr "finger_L1_blade.rpt" "finger_L1_blade_aimConstraint10.crt"; +connectAttr "finger_L1_blade.ro" "finger_L1_blade_aimConstraint10.cro"; +connectAttr "finger_L1_0_loc.t" "finger_L1_blade_aimConstraint10.tg[0].tt"; +connectAttr "finger_L1_0_loc.rp" "finger_L1_blade_aimConstraint10.tg[0].trp"; +connectAttr "finger_L1_0_loc.rpt" "finger_L1_blade_aimConstraint10.tg[0].trt"; +connectAttr "finger_L1_0_loc.pm" "finger_L1_blade_aimConstraint10.tg[0].tpm"; +connectAttr "finger_L1_blade_aimConstraint10.w0" "finger_L1_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "finger_L1_root.wm" "finger_L1_blade_aimConstraint10.wum"; +connectAttr "unitConversion153.o" "finger_L1_blade_aimConstraint10.ox"; +connectAttr "finger_L1_blade.pim" "finger_L1_blade_pointConstraint10.cpim"; +connectAttr "finger_L1_blade.rp" "finger_L1_blade_pointConstraint10.crp"; +connectAttr "finger_L1_blade.rpt" "finger_L1_blade_pointConstraint10.crt"; +connectAttr "finger_L1_root.t" "finger_L1_blade_pointConstraint10.tg[0].tt"; +connectAttr "finger_L1_root.rp" "finger_L1_blade_pointConstraint10.tg[0].trp"; +connectAttr "finger_L1_root.rpt" "finger_L1_blade_pointConstraint10.tg[0].trt"; +connectAttr "finger_L1_root.pm" "finger_L1_blade_pointConstraint10.tg[0].tpm"; +connectAttr "finger_L1_blade_pointConstraint10.w0" "finger_L1_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns457.og[0]" "finger_L1_crvShape.cr"; +connectAttr "tweak605.pl[0].cp[0]" "finger_L1_crvShape.twl"; +connectAttr "mgear_curveCns457GroupId.id" "finger_L1_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns457Set.mwc" "finger_L1_crvShape.iog.og[0].gco"; +connectAttr "groupId8779.id" "finger_L1_crvShape.iog.og[1].gid"; +connectAttr "tweakSet605.mwc" "finger_L1_crvShape.iog.og[1].gco"; +connectAttr "meta_L0_blade_pointConstraint10.ctx" "meta_L0_blade.tx" -l on; +connectAttr "meta_L0_blade_pointConstraint10.cty" "meta_L0_blade.ty" -l on; +connectAttr "meta_L0_blade_pointConstraint10.ctz" "meta_L0_blade.tz" -l on; +connectAttr "meta_L0_blade_aimConstraint10.crx" "meta_L0_blade.rx" -l on; +connectAttr "meta_L0_blade_aimConstraint10.cry" "meta_L0_blade.ry" -l on; +connectAttr "meta_L0_blade_aimConstraint10.crz" "meta_L0_blade.rz" -l on; +connectAttr "meta_L0_blade.pim" "meta_L0_blade_aimConstraint10.cpim"; +connectAttr "meta_L0_blade.t" "meta_L0_blade_aimConstraint10.ct"; +connectAttr "meta_L0_blade.rp" "meta_L0_blade_aimConstraint10.crp"; +connectAttr "meta_L0_blade.rpt" "meta_L0_blade_aimConstraint10.crt"; +connectAttr "meta_L0_blade.ro" "meta_L0_blade_aimConstraint10.cro"; +connectAttr "meta_L0_0_loc.t" "meta_L0_blade_aimConstraint10.tg[0].tt"; +connectAttr "meta_L0_0_loc.rp" "meta_L0_blade_aimConstraint10.tg[0].trp"; +connectAttr "meta_L0_0_loc.rpt" "meta_L0_blade_aimConstraint10.tg[0].trt"; +connectAttr "meta_L0_0_loc.pm" "meta_L0_blade_aimConstraint10.tg[0].tpm"; +connectAttr "meta_L0_blade_aimConstraint10.w0" "meta_L0_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "meta_L0_root.wm" "meta_L0_blade_aimConstraint10.wum"; +connectAttr "unitConversion150.o" "meta_L0_blade_aimConstraint10.ox"; +connectAttr "meta_L0_blade.pim" "meta_L0_blade_pointConstraint10.cpim"; +connectAttr "meta_L0_blade.rp" "meta_L0_blade_pointConstraint10.crp"; +connectAttr "meta_L0_blade.rpt" "meta_L0_blade_pointConstraint10.crt"; +connectAttr "meta_L0_root.t" "meta_L0_blade_pointConstraint10.tg[0].tt"; +connectAttr "meta_L0_root.rp" "meta_L0_blade_pointConstraint10.tg[0].trp"; +connectAttr "meta_L0_root.rpt" "meta_L0_blade_pointConstraint10.tg[0].trt"; +connectAttr "meta_L0_root.pm" "meta_L0_blade_pointConstraint10.tg[0].tpm"; +connectAttr "meta_L0_blade_pointConstraint10.w0" "meta_L0_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns454.og[0]" "meta_L0_crvShape.cr"; +connectAttr "tweak602.pl[0].cp[0]" "meta_L0_crvShape.twl"; +connectAttr "mgear_curveCns454GroupId.id" "meta_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns454Set.mwc" "meta_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8773.id" "meta_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet602.mwc" "meta_L0_crvShape.iog.og[1].gco"; +connectAttr "finger_L0_blade_pointConstraint10.ctx" "finger_L0_blade.tx" -l on; +connectAttr "finger_L0_blade_pointConstraint10.cty" "finger_L0_blade.ty" -l on; +connectAttr "finger_L0_blade_pointConstraint10.ctz" "finger_L0_blade.tz" -l on; +connectAttr "finger_L0_blade_aimConstraint10.crx" "finger_L0_blade.rx" -l on; +connectAttr "finger_L0_blade_aimConstraint10.cry" "finger_L0_blade.ry" -l on; +connectAttr "finger_L0_blade_aimConstraint10.crz" "finger_L0_blade.rz" -l on; +connectAttr "finger_L0_blade.pim" "finger_L0_blade_aimConstraint10.cpim"; +connectAttr "finger_L0_blade.t" "finger_L0_blade_aimConstraint10.ct"; +connectAttr "finger_L0_blade.rp" "finger_L0_blade_aimConstraint10.crp"; +connectAttr "finger_L0_blade.rpt" "finger_L0_blade_aimConstraint10.crt"; +connectAttr "finger_L0_blade.ro" "finger_L0_blade_aimConstraint10.cro"; +connectAttr "finger_L0_0_loc.t" "finger_L0_blade_aimConstraint10.tg[0].tt"; +connectAttr "finger_L0_0_loc.rp" "finger_L0_blade_aimConstraint10.tg[0].trp"; +connectAttr "finger_L0_0_loc.rpt" "finger_L0_blade_aimConstraint10.tg[0].trt"; +connectAttr "finger_L0_0_loc.pm" "finger_L0_blade_aimConstraint10.tg[0].tpm"; +connectAttr "finger_L0_blade_aimConstraint10.w0" "finger_L0_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "finger_L0_root.wm" "finger_L0_blade_aimConstraint10.wum"; +connectAttr "unitConversion154.o" "finger_L0_blade_aimConstraint10.ox"; +connectAttr "finger_L0_blade.pim" "finger_L0_blade_pointConstraint10.cpim"; +connectAttr "finger_L0_blade.rp" "finger_L0_blade_pointConstraint10.crp"; +connectAttr "finger_L0_blade.rpt" "finger_L0_blade_pointConstraint10.crt"; +connectAttr "finger_L0_root.t" "finger_L0_blade_pointConstraint10.tg[0].tt"; +connectAttr "finger_L0_root.rp" "finger_L0_blade_pointConstraint10.tg[0].trp"; +connectAttr "finger_L0_root.rpt" "finger_L0_blade_pointConstraint10.tg[0].trt"; +connectAttr "finger_L0_root.pm" "finger_L0_blade_pointConstraint10.tg[0].tpm"; +connectAttr "finger_L0_blade_pointConstraint10.w0" "finger_L0_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns458.og[0]" "finger_L0_crvShape.cr"; +connectAttr "tweak606.pl[0].cp[0]" "finger_L0_crvShape.twl"; +connectAttr "mgear_curveCns458GroupId.id" "finger_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns458Set.mwc" "finger_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8781.id" "finger_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet606.mwc" "finger_L0_crvShape.iog.og[1].gco"; +connectAttr "thumb_L0_blade_pointConstraint10.ctx" "thumb_L0_blade.tx" -l on; +connectAttr "thumb_L0_blade_pointConstraint10.cty" "thumb_L0_blade.ty" -l on; +connectAttr "thumb_L0_blade_pointConstraint10.ctz" "thumb_L0_blade.tz" -l on; +connectAttr "thumb_L0_blade_aimConstraint10.crx" "thumb_L0_blade.rx" -l on; +connectAttr "thumb_L0_blade_aimConstraint10.cry" "thumb_L0_blade.ry" -l on; +connectAttr "thumb_L0_blade_aimConstraint10.crz" "thumb_L0_blade.rz" -l on; +connectAttr "thumb_L0_blade.pim" "thumb_L0_blade_aimConstraint10.cpim"; +connectAttr "thumb_L0_blade.t" "thumb_L0_blade_aimConstraint10.ct"; +connectAttr "thumb_L0_blade.rp" "thumb_L0_blade_aimConstraint10.crp"; +connectAttr "thumb_L0_blade.rpt" "thumb_L0_blade_aimConstraint10.crt"; +connectAttr "thumb_L0_blade.ro" "thumb_L0_blade_aimConstraint10.cro"; +connectAttr "thumb_L0_0_loc.t" "thumb_L0_blade_aimConstraint10.tg[0].tt"; +connectAttr "thumb_L0_0_loc.rp" "thumb_L0_blade_aimConstraint10.tg[0].trp"; +connectAttr "thumb_L0_0_loc.rpt" "thumb_L0_blade_aimConstraint10.tg[0].trt"; +connectAttr "thumb_L0_0_loc.pm" "thumb_L0_blade_aimConstraint10.tg[0].tpm"; +connectAttr "thumb_L0_blade_aimConstraint10.w0" "thumb_L0_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "thumb_L0_root.wm" "thumb_L0_blade_aimConstraint10.wum"; +connectAttr "unitConversion155.o" "thumb_L0_blade_aimConstraint10.ox"; +connectAttr "thumb_L0_blade.pim" "thumb_L0_blade_pointConstraint10.cpim"; +connectAttr "thumb_L0_blade.rp" "thumb_L0_blade_pointConstraint10.crp"; +connectAttr "thumb_L0_blade.rpt" "thumb_L0_blade_pointConstraint10.crt"; +connectAttr "thumb_L0_root.t" "thumb_L0_blade_pointConstraint10.tg[0].tt"; +connectAttr "thumb_L0_root.rp" "thumb_L0_blade_pointConstraint10.tg[0].trp"; +connectAttr "thumb_L0_root.rpt" "thumb_L0_blade_pointConstraint10.tg[0].trt"; +connectAttr "thumb_L0_root.pm" "thumb_L0_blade_pointConstraint10.tg[0].tpm"; +connectAttr "thumb_L0_blade_pointConstraint10.w0" "thumb_L0_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns459.og[0]" "thumb_L0_crvShape.cr"; +connectAttr "tweak607.pl[0].cp[0]" "thumb_L0_crvShape.twl"; +connectAttr "mgear_curveCns459GroupId.id" "thumb_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns459Set.mwc" "thumb_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8783.id" "thumb_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet607.mwc" "thumb_L0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns453.og[0]" "arm_L0_crvShape.cr"; +connectAttr "tweak601.pl[0].cp[0]" "arm_L0_crvShape.twl"; +connectAttr "mgear_curveCns453GroupId.id" "arm_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns453Set.mwc" "arm_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8771.id" "arm_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet601.mwc" "arm_L0_crvShape.iog.og[1].gco"; +connectAttr "shoulder_L0_blade_pointConstraint10.ctx" "shoulder_L0_blade.tx" -l on + ; +connectAttr "shoulder_L0_blade_pointConstraint10.cty" "shoulder_L0_blade.ty" -l on + ; +connectAttr "shoulder_L0_blade_pointConstraint10.ctz" "shoulder_L0_blade.tz" -l on + ; +connectAttr "shoulder_L0_blade_aimConstraint10.crx" "shoulder_L0_blade.rx" -l on + ; +connectAttr "shoulder_L0_blade_aimConstraint10.cry" "shoulder_L0_blade.ry" -l on + ; +connectAttr "shoulder_L0_blade_aimConstraint10.crz" "shoulder_L0_blade.rz" -l on + ; +connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_aimConstraint10.cpim"; +connectAttr "shoulder_L0_blade.t" "shoulder_L0_blade_aimConstraint10.ct"; +connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_aimConstraint10.crp"; +connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_aimConstraint10.crt"; +connectAttr "shoulder_L0_blade.ro" "shoulder_L0_blade_aimConstraint10.cro"; +connectAttr "shoulder_L0_tip.t" "shoulder_L0_blade_aimConstraint10.tg[0].tt"; +connectAttr "shoulder_L0_tip.rp" "shoulder_L0_blade_aimConstraint10.tg[0].trp"; +connectAttr "shoulder_L0_tip.rpt" "shoulder_L0_blade_aimConstraint10.tg[0].trt"; +connectAttr "shoulder_L0_tip.pm" "shoulder_L0_blade_aimConstraint10.tg[0].tpm"; +connectAttr "shoulder_L0_blade_aimConstraint10.w0" "shoulder_L0_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "shoulder_L0_root.wm" "shoulder_L0_blade_aimConstraint10.wum"; +connectAttr "unitConversion149.o" "shoulder_L0_blade_aimConstraint10.ox"; +connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_pointConstraint10.cpim"; +connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_pointConstraint10.crp"; +connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_pointConstraint10.crt"; +connectAttr "shoulder_L0_root.t" "shoulder_L0_blade_pointConstraint10.tg[0].tt"; +connectAttr "shoulder_L0_root.rp" "shoulder_L0_blade_pointConstraint10.tg[0].trp" + ; +connectAttr "shoulder_L0_root.rpt" "shoulder_L0_blade_pointConstraint10.tg[0].trt" + ; +connectAttr "shoulder_L0_root.pm" "shoulder_L0_blade_pointConstraint10.tg[0].tpm" + ; +connectAttr "shoulder_L0_blade_pointConstraint10.w0" "shoulder_L0_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns452.og[0]" "shoulder_L0_crvShape.cr"; +connectAttr "tweak600.pl[0].cp[0]" "shoulder_L0_crvShape.twl"; +connectAttr "mgear_curveCns452GroupId.id" "shoulder_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns452Set.mwc" "shoulder_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8769.id" "shoulder_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet600.mwc" "shoulder_L0_crvShape.iog.og[1].gco"; +connectAttr "neck_C0_root_st_profile.o" "neck_C0_root.st_profile"; +connectAttr "neck_C0_root_sq_profile.o" "neck_C0_root.sq_profile"; +connectAttr "mgear_curveCns463.og[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.cr" + ; +connectAttr "tweak611.pl[0].cp[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.twl" + ; +connectAttr "mgear_curveCns463GroupId.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" + ; +connectAttr "mgear_curveCns463Set.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" + ; +connectAttr "groupId8791.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" + ; +connectAttr "tweakSet611.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" + ; +connectAttr "mgear_curveCns464.og[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.cr" + ; +connectAttr "tweak612.pl[0].cp[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.twl" + ; +connectAttr "mgear_curveCns464GroupId.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" + ; +connectAttr "mgear_curveCns464Set.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" + ; +connectAttr "groupId8793.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" + ; +connectAttr "tweakSet612.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" + ; +connectAttr "tongue_C0_blade_pointConstraint10.ctx" "tongue_C0_blade.tx" -l on; +connectAttr "tongue_C0_blade_pointConstraint10.cty" "tongue_C0_blade.ty" -l on; +connectAttr "tongue_C0_blade_pointConstraint10.ctz" "tongue_C0_blade.tz" -l on; +connectAttr "tongue_C0_blade_aimConstraint10.crx" "tongue_C0_blade.rx" -l on; +connectAttr "tongue_C0_blade_aimConstraint10.cry" "tongue_C0_blade.ry" -l on; +connectAttr "tongue_C0_blade_aimConstraint10.crz" "tongue_C0_blade.rz" -l on; +connectAttr "tongue_C0_blade.pim" "tongue_C0_blade_aimConstraint10.cpim"; +connectAttr "tongue_C0_blade.t" "tongue_C0_blade_aimConstraint10.ct"; +connectAttr "tongue_C0_blade.rp" "tongue_C0_blade_aimConstraint10.crp"; +connectAttr "tongue_C0_blade.rpt" "tongue_C0_blade_aimConstraint10.crt"; +connectAttr "tongue_C0_blade.ro" "tongue_C0_blade_aimConstraint10.cro"; +connectAttr "tongue_C0_0_loc.t" "tongue_C0_blade_aimConstraint10.tg[0].tt"; +connectAttr "tongue_C0_0_loc.rp" "tongue_C0_blade_aimConstraint10.tg[0].trp"; +connectAttr "tongue_C0_0_loc.rpt" "tongue_C0_blade_aimConstraint10.tg[0].trt"; +connectAttr "tongue_C0_0_loc.pm" "tongue_C0_blade_aimConstraint10.tg[0].tpm"; +connectAttr "tongue_C0_blade_aimConstraint10.w0" "tongue_C0_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "tongue_C0_root.wm" "tongue_C0_blade_aimConstraint10.wum"; +connectAttr "unitConversion157.o" "tongue_C0_blade_aimConstraint10.ox"; +connectAttr "tongue_C0_blade.pim" "tongue_C0_blade_pointConstraint10.cpim"; +connectAttr "tongue_C0_blade.rp" "tongue_C0_blade_pointConstraint10.crp"; +connectAttr "tongue_C0_blade.rpt" "tongue_C0_blade_pointConstraint10.crt"; +connectAttr "tongue_C0_root.t" "tongue_C0_blade_pointConstraint10.tg[0].tt"; +connectAttr "tongue_C0_root.rp" "tongue_C0_blade_pointConstraint10.tg[0].trp"; +connectAttr "tongue_C0_root.rpt" "tongue_C0_blade_pointConstraint10.tg[0].trt"; +connectAttr "tongue_C0_root.pm" "tongue_C0_blade_pointConstraint10.tg[0].tpm"; +connectAttr "tongue_C0_blade_pointConstraint10.w0" "tongue_C0_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns466.og[0]" "tongue_C0_crvShape.cr"; +connectAttr "tweak614.pl[0].cp[0]" "tongue_C0_crvShape.twl"; +connectAttr "mgear_curveCns466GroupId.id" "tongue_C0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns466Set.mwc" "tongue_C0_crvShape.iog.og[0].gco"; +connectAttr "groupId8797.id" "tongue_C0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet614.mwc" "tongue_C0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns462.og[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.cr" + ; +connectAttr "tweak610.pl[0].cp[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.twl" + ; +connectAttr "mgear_curveCns462GroupId.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" + ; +connectAttr "mgear_curveCns462Set.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" + ; +connectAttr "groupId8789.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" + ; +connectAttr "tweakSet610.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" + ; +connectAttr "mgear_curveCns465.og[0]" "mouth_C0_crv10Shape.cr"; +connectAttr "tweak613.pl[0].cp[0]" "mouth_C0_crv10Shape.twl"; +connectAttr "mgear_curveCns465GroupId.id" "mouth_C0_crv10Shape.iog.og[0].gid"; +connectAttr "mgear_curveCns465Set.mwc" "mouth_C0_crv10Shape.iog.og[0].gco"; +connectAttr "groupId8795.id" "mouth_C0_crv10Shape.iog.og[1].gid"; +connectAttr "tweakSet613.mwc" "mouth_C0_crv10Shape.iog.og[1].gco"; +connectAttr "mgear_curveCns467.og[0]" "eye_R0_crvShape.cr"; +connectAttr "tweak615.pl[0].cp[0]" "eye_R0_crvShape.twl"; +connectAttr "mgear_curveCns467GroupId.id" "eye_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns467Set.mwc" "eye_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8799.id" "eye_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet615.mwc" "eye_R0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns468.og[0]" "eye_L0_crvShape.cr"; +connectAttr "tweak616.pl[0].cp[0]" "eye_L0_crvShape.twl"; +connectAttr "mgear_curveCns468GroupId.id" "eye_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns468Set.mwc" "eye_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8801.id" "eye_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet616.mwc" "eye_L0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns461.og[0]" "neck_C0_head_crvShape.cr"; +connectAttr "tweak609.pl[0].cp[0]" "neck_C0_head_crvShape.twl"; +connectAttr "mgear_curveCns461GroupId.id" "neck_C0_head_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns461Set.mwc" "neck_C0_head_crvShape.iog.og[0].gco"; +connectAttr "groupId8787.id" "neck_C0_head_crvShape.iog.og[1].gid"; +connectAttr "tweakSet609.mwc" "neck_C0_head_crvShape.iog.og[1].gco"; +connectAttr "neck_C0_blade_pointConstraint10.ctx" "neck_C0_blade.tx" -l on; +connectAttr "neck_C0_blade_pointConstraint10.cty" "neck_C0_blade.ty" -l on; +connectAttr "neck_C0_blade_pointConstraint10.ctz" "neck_C0_blade.tz" -l on; +connectAttr "neck_C0_blade_aimConstraint10.crx" "neck_C0_blade.rx" -l on; +connectAttr "neck_C0_blade_aimConstraint10.cry" "neck_C0_blade.ry" -l on; +connectAttr "neck_C0_blade_aimConstraint10.crz" "neck_C0_blade.rz" -l on; +connectAttr "neck_C0_blade.pim" "neck_C0_blade_aimConstraint10.cpim"; +connectAttr "neck_C0_blade.t" "neck_C0_blade_aimConstraint10.ct"; +connectAttr "neck_C0_blade.rp" "neck_C0_blade_aimConstraint10.crp"; +connectAttr "neck_C0_blade.rpt" "neck_C0_blade_aimConstraint10.crt"; +connectAttr "neck_C0_blade.ro" "neck_C0_blade_aimConstraint10.cro"; +connectAttr "neck_C0_tan0.t" "neck_C0_blade_aimConstraint10.tg[0].tt"; +connectAttr "neck_C0_tan0.rp" "neck_C0_blade_aimConstraint10.tg[0].trp"; +connectAttr "neck_C0_tan0.rpt" "neck_C0_blade_aimConstraint10.tg[0].trt"; +connectAttr "neck_C0_tan0.pm" "neck_C0_blade_aimConstraint10.tg[0].tpm"; +connectAttr "neck_C0_blade_aimConstraint10.w0" "neck_C0_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "neck_C0_root.wm" "neck_C0_blade_aimConstraint10.wum"; +connectAttr "unitConversion156.o" "neck_C0_blade_aimConstraint10.ox"; +connectAttr "neck_C0_blade.pim" "neck_C0_blade_pointConstraint10.cpim"; +connectAttr "neck_C0_blade.rp" "neck_C0_blade_pointConstraint10.crp"; +connectAttr "neck_C0_blade.rpt" "neck_C0_blade_pointConstraint10.crt"; +connectAttr "neck_C0_root.t" "neck_C0_blade_pointConstraint10.tg[0].tt"; +connectAttr "neck_C0_root.rp" "neck_C0_blade_pointConstraint10.tg[0].trp"; +connectAttr "neck_C0_root.rpt" "neck_C0_blade_pointConstraint10.tg[0].trt"; +connectAttr "neck_C0_root.pm" "neck_C0_blade_pointConstraint10.tg[0].tpm"; +connectAttr "neck_C0_blade_pointConstraint10.w0" "neck_C0_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns460.og[0]" "neck_C0_neck_crvShape.cr"; +connectAttr "tweak608.pl[0].cp[0]" "neck_C0_neck_crvShape.twl"; +connectAttr "mgear_curveCns460GroupId.id" "neck_C0_neck_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns460Set.mwc" "neck_C0_neck_crvShape.iog.og[0].gco"; +connectAttr "groupId8785.id" "neck_C0_neck_crvShape.iog.og[1].gid"; +connectAttr "tweakSet608.mwc" "neck_C0_neck_crvShape.iog.og[1].gco"; connectAttr "arm_R0_root_st_profile1.o" "arm_R0_root.st_profile"; connectAttr "arm_R0_root_sq_profile1.o" "arm_R0_root.sq_profile"; -connectAttr "finger_R3_blade_pointConstraint4.ctx" "finger_R3_blade.tx" -l on; -connectAttr "finger_R3_blade_pointConstraint4.cty" "finger_R3_blade.ty" -l on; -connectAttr "finger_R3_blade_pointConstraint4.ctz" "finger_R3_blade.tz" -l on; -connectAttr "finger_R3_blade_aimConstraint4.crx" "finger_R3_blade.rx" -l on; -connectAttr "finger_R3_blade_aimConstraint4.cry" "finger_R3_blade.ry" -l on; -connectAttr "finger_R3_blade_aimConstraint4.crz" "finger_R3_blade.rz" -l on; -connectAttr "finger_R3_blade.pim" "finger_R3_blade_aimConstraint4.cpim"; -connectAttr "finger_R3_blade.t" "finger_R3_blade_aimConstraint4.ct"; -connectAttr "finger_R3_blade.rp" "finger_R3_blade_aimConstraint4.crp"; -connectAttr "finger_R3_blade.rpt" "finger_R3_blade_aimConstraint4.crt"; -connectAttr "finger_R3_blade.ro" "finger_R3_blade_aimConstraint4.cro"; -connectAttr "finger_R3_0_loc.t" "finger_R3_blade_aimConstraint4.tg[0].tt"; -connectAttr "finger_R3_0_loc.rp" "finger_R3_blade_aimConstraint4.tg[0].trp"; -connectAttr "finger_R3_0_loc.rpt" "finger_R3_blade_aimConstraint4.tg[0].trt"; -connectAttr "finger_R3_0_loc.pm" "finger_R3_blade_aimConstraint4.tg[0].tpm"; -connectAttr "finger_R3_blade_aimConstraint4.w0" "finger_R3_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "finger_R3_root.wm" "finger_R3_blade_aimConstraint4.wum"; -connectAttr "unitConversion143.o" "finger_R3_blade_aimConstraint4.ox"; -connectAttr "finger_R3_blade.pim" "finger_R3_blade_pointConstraint4.cpim"; -connectAttr "finger_R3_blade.rp" "finger_R3_blade_pointConstraint4.crp"; -connectAttr "finger_R3_blade.rpt" "finger_R3_blade_pointConstraint4.crt"; -connectAttr "finger_R3_root.t" "finger_R3_blade_pointConstraint4.tg[0].tt"; -connectAttr "finger_R3_root.rp" "finger_R3_blade_pointConstraint4.tg[0].trp"; -connectAttr "finger_R3_root.rpt" "finger_R3_blade_pointConstraint4.tg[0].trt"; -connectAttr "finger_R3_root.pm" "finger_R3_blade_pointConstraint4.tg[0].tpm"; -connectAttr "finger_R3_blade_pointConstraint4.w0" "finger_R3_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns432.og[0]" "finger_R3_crvShape.cr"; -connectAttr "tweak580.pl[0].cp[0]" "finger_R3_crvShape.twl"; -connectAttr "mgear_curveCns432GroupId.id" "finger_R3_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns432Set.mwc" "finger_R3_crvShape.iog.og[0].gco"; -connectAttr "groupId8729.id" "finger_R3_crvShape.iog.og[1].gid"; -connectAttr "tweakSet580.mwc" "finger_R3_crvShape.iog.og[1].gco"; -connectAttr "finger_R2_blade_pointConstraint4.ctx" "finger_R2_blade.tx" -l on; -connectAttr "finger_R2_blade_pointConstraint4.cty" "finger_R2_blade.ty" -l on; -connectAttr "finger_R2_blade_pointConstraint4.ctz" "finger_R2_blade.tz" -l on; -connectAttr "finger_R2_blade_aimConstraint4.crx" "finger_R2_blade.rx" -l on; -connectAttr "finger_R2_blade_aimConstraint4.cry" "finger_R2_blade.ry" -l on; -connectAttr "finger_R2_blade_aimConstraint4.crz" "finger_R2_blade.rz" -l on; -connectAttr "finger_R2_blade.pim" "finger_R2_blade_aimConstraint4.cpim"; -connectAttr "finger_R2_blade.t" "finger_R2_blade_aimConstraint4.ct"; -connectAttr "finger_R2_blade.rp" "finger_R2_blade_aimConstraint4.crp"; -connectAttr "finger_R2_blade.rpt" "finger_R2_blade_aimConstraint4.crt"; -connectAttr "finger_R2_blade.ro" "finger_R2_blade_aimConstraint4.cro"; -connectAttr "finger_R2_0_loc.t" "finger_R2_blade_aimConstraint4.tg[0].tt"; -connectAttr "finger_R2_0_loc.rp" "finger_R2_blade_aimConstraint4.tg[0].trp"; -connectAttr "finger_R2_0_loc.rpt" "finger_R2_blade_aimConstraint4.tg[0].trt"; -connectAttr "finger_R2_0_loc.pm" "finger_R2_blade_aimConstraint4.tg[0].tpm"; -connectAttr "finger_R2_blade_aimConstraint4.w0" "finger_R2_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "finger_R2_root.wm" "finger_R2_blade_aimConstraint4.wum"; -connectAttr "unitConversion144.o" "finger_R2_blade_aimConstraint4.ox"; -connectAttr "finger_R2_blade.pim" "finger_R2_blade_pointConstraint4.cpim"; -connectAttr "finger_R2_blade.rp" "finger_R2_blade_pointConstraint4.crp"; -connectAttr "finger_R2_blade.rpt" "finger_R2_blade_pointConstraint4.crt"; -connectAttr "finger_R2_root.t" "finger_R2_blade_pointConstraint4.tg[0].tt"; -connectAttr "finger_R2_root.rp" "finger_R2_blade_pointConstraint4.tg[0].trp"; -connectAttr "finger_R2_root.rpt" "finger_R2_blade_pointConstraint4.tg[0].trt"; -connectAttr "finger_R2_root.pm" "finger_R2_blade_pointConstraint4.tg[0].tpm"; -connectAttr "finger_R2_blade_pointConstraint4.w0" "finger_R2_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns433.og[0]" "finger_R2_crvShape.cr"; -connectAttr "tweak581.pl[0].cp[0]" "finger_R2_crvShape.twl"; -connectAttr "mgear_curveCns433GroupId.id" "finger_R2_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns433Set.mwc" "finger_R2_crvShape.iog.og[0].gco"; -connectAttr "groupId8731.id" "finger_R2_crvShape.iog.og[1].gid"; -connectAttr "tweakSet581.mwc" "finger_R2_crvShape.iog.og[1].gco"; -connectAttr "finger_R1_blade_pointConstraint4.ctx" "finger_R1_blade.tx" -l on; -connectAttr "finger_R1_blade_pointConstraint4.cty" "finger_R1_blade.ty" -l on; -connectAttr "finger_R1_blade_pointConstraint4.ctz" "finger_R1_blade.tz" -l on; -connectAttr "finger_R1_blade_aimConstraint4.crx" "finger_R1_blade.rx" -l on; -connectAttr "finger_R1_blade_aimConstraint4.cry" "finger_R1_blade.ry" -l on; -connectAttr "finger_R1_blade_aimConstraint4.crz" "finger_R1_blade.rz" -l on; -connectAttr "finger_R1_blade.pim" "finger_R1_blade_aimConstraint4.cpim"; -connectAttr "finger_R1_blade.t" "finger_R1_blade_aimConstraint4.ct"; -connectAttr "finger_R1_blade.rp" "finger_R1_blade_aimConstraint4.crp"; -connectAttr "finger_R1_blade.rpt" "finger_R1_blade_aimConstraint4.crt"; -connectAttr "finger_R1_blade.ro" "finger_R1_blade_aimConstraint4.cro"; -connectAttr "finger_R1_0_loc.t" "finger_R1_blade_aimConstraint4.tg[0].tt"; -connectAttr "finger_R1_0_loc.rp" "finger_R1_blade_aimConstraint4.tg[0].trp"; -connectAttr "finger_R1_0_loc.rpt" "finger_R1_blade_aimConstraint4.tg[0].trt"; -connectAttr "finger_R1_0_loc.pm" "finger_R1_blade_aimConstraint4.tg[0].tpm"; -connectAttr "finger_R1_blade_aimConstraint4.w0" "finger_R1_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "finger_R1_root.wm" "finger_R1_blade_aimConstraint4.wum"; -connectAttr "unitConversion145.o" "finger_R1_blade_aimConstraint4.ox"; -connectAttr "finger_R1_blade.pim" "finger_R1_blade_pointConstraint4.cpim"; -connectAttr "finger_R1_blade.rp" "finger_R1_blade_pointConstraint4.crp"; -connectAttr "finger_R1_blade.rpt" "finger_R1_blade_pointConstraint4.crt"; -connectAttr "finger_R1_root.t" "finger_R1_blade_pointConstraint4.tg[0].tt"; -connectAttr "finger_R1_root.rp" "finger_R1_blade_pointConstraint4.tg[0].trp"; -connectAttr "finger_R1_root.rpt" "finger_R1_blade_pointConstraint4.tg[0].trt"; -connectAttr "finger_R1_root.pm" "finger_R1_blade_pointConstraint4.tg[0].tpm"; -connectAttr "finger_R1_blade_pointConstraint4.w0" "finger_R1_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns434.og[0]" "finger_R1_crvShape.cr"; -connectAttr "tweak582.pl[0].cp[0]" "finger_R1_crvShape.twl"; -connectAttr "mgear_curveCns434GroupId.id" "finger_R1_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns434Set.mwc" "finger_R1_crvShape.iog.og[0].gco"; -connectAttr "groupId8733.id" "finger_R1_crvShape.iog.og[1].gid"; -connectAttr "tweakSet582.mwc" "finger_R1_crvShape.iog.og[1].gco"; -connectAttr "meta_R0_blade_pointConstraint4.ctx" "meta_R0_blade.tx" -l on; -connectAttr "meta_R0_blade_pointConstraint4.cty" "meta_R0_blade.ty" -l on; -connectAttr "meta_R0_blade_pointConstraint4.ctz" "meta_R0_blade.tz" -l on; -connectAttr "meta_R0_blade_aimConstraint4.crx" "meta_R0_blade.rx" -l on; -connectAttr "meta_R0_blade_aimConstraint4.cry" "meta_R0_blade.ry" -l on; -connectAttr "meta_R0_blade_aimConstraint4.crz" "meta_R0_blade.rz" -l on; -connectAttr "meta_R0_blade.pim" "meta_R0_blade_aimConstraint4.cpim"; -connectAttr "meta_R0_blade.t" "meta_R0_blade_aimConstraint4.ct"; -connectAttr "meta_R0_blade.rp" "meta_R0_blade_aimConstraint4.crp"; -connectAttr "meta_R0_blade.rpt" "meta_R0_blade_aimConstraint4.crt"; -connectAttr "meta_R0_blade.ro" "meta_R0_blade_aimConstraint4.cro"; -connectAttr "meta_R0_0_loc.t" "meta_R0_blade_aimConstraint4.tg[0].tt"; -connectAttr "meta_R0_0_loc.rp" "meta_R0_blade_aimConstraint4.tg[0].trp"; -connectAttr "meta_R0_0_loc.rpt" "meta_R0_blade_aimConstraint4.tg[0].trt"; -connectAttr "meta_R0_0_loc.pm" "meta_R0_blade_aimConstraint4.tg[0].tpm"; -connectAttr "meta_R0_blade_aimConstraint4.w0" "meta_R0_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "meta_R0_root.wm" "meta_R0_blade_aimConstraint4.wum"; -connectAttr "unitConversion142.o" "meta_R0_blade_aimConstraint4.ox"; -connectAttr "meta_R0_blade.pim" "meta_R0_blade_pointConstraint4.cpim"; -connectAttr "meta_R0_blade.rp" "meta_R0_blade_pointConstraint4.crp"; -connectAttr "meta_R0_blade.rpt" "meta_R0_blade_pointConstraint4.crt"; -connectAttr "meta_R0_root.t" "meta_R0_blade_pointConstraint4.tg[0].tt"; -connectAttr "meta_R0_root.rp" "meta_R0_blade_pointConstraint4.tg[0].trp"; -connectAttr "meta_R0_root.rpt" "meta_R0_blade_pointConstraint4.tg[0].trt"; -connectAttr "meta_R0_root.pm" "meta_R0_blade_pointConstraint4.tg[0].tpm"; -connectAttr "meta_R0_blade_pointConstraint4.w0" "meta_R0_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns431.og[0]" "meta_R0_crvShape.cr"; -connectAttr "tweak579.pl[0].cp[0]" "meta_R0_crvShape.twl"; -connectAttr "mgear_curveCns431GroupId.id" "meta_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns431Set.mwc" "meta_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8727.id" "meta_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet579.mwc" "meta_R0_crvShape.iog.og[1].gco"; -connectAttr "finger_R0_blade_pointConstraint4.ctx" "finger_R0_blade.tx" -l on; -connectAttr "finger_R0_blade_pointConstraint4.cty" "finger_R0_blade.ty" -l on; -connectAttr "finger_R0_blade_pointConstraint4.ctz" "finger_R0_blade.tz" -l on; -connectAttr "finger_R0_blade_aimConstraint4.crx" "finger_R0_blade.rx" -l on; -connectAttr "finger_R0_blade_aimConstraint4.cry" "finger_R0_blade.ry" -l on; -connectAttr "finger_R0_blade_aimConstraint4.crz" "finger_R0_blade.rz" -l on; -connectAttr "finger_R0_blade.pim" "finger_R0_blade_aimConstraint4.cpim"; -connectAttr "finger_R0_blade.t" "finger_R0_blade_aimConstraint4.ct"; -connectAttr "finger_R0_blade.rp" "finger_R0_blade_aimConstraint4.crp"; -connectAttr "finger_R0_blade.rpt" "finger_R0_blade_aimConstraint4.crt"; -connectAttr "finger_R0_blade.ro" "finger_R0_blade_aimConstraint4.cro"; -connectAttr "finger_R0_0_loc.t" "finger_R0_blade_aimConstraint4.tg[0].tt"; -connectAttr "finger_R0_0_loc.rp" "finger_R0_blade_aimConstraint4.tg[0].trp"; -connectAttr "finger_R0_0_loc.rpt" "finger_R0_blade_aimConstraint4.tg[0].trt"; -connectAttr "finger_R0_0_loc.pm" "finger_R0_blade_aimConstraint4.tg[0].tpm"; -connectAttr "finger_R0_blade_aimConstraint4.w0" "finger_R0_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "finger_R0_root.wm" "finger_R0_blade_aimConstraint4.wum"; -connectAttr "unitConversion146.o" "finger_R0_blade_aimConstraint4.ox"; -connectAttr "finger_R0_blade.pim" "finger_R0_blade_pointConstraint4.cpim"; -connectAttr "finger_R0_blade.rp" "finger_R0_blade_pointConstraint4.crp"; -connectAttr "finger_R0_blade.rpt" "finger_R0_blade_pointConstraint4.crt"; -connectAttr "finger_R0_root.t" "finger_R0_blade_pointConstraint4.tg[0].tt"; -connectAttr "finger_R0_root.rp" "finger_R0_blade_pointConstraint4.tg[0].trp"; -connectAttr "finger_R0_root.rpt" "finger_R0_blade_pointConstraint4.tg[0].trt"; -connectAttr "finger_R0_root.pm" "finger_R0_blade_pointConstraint4.tg[0].tpm"; -connectAttr "finger_R0_blade_pointConstraint4.w0" "finger_R0_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns435.og[0]" "finger_R0_crvShape.cr"; -connectAttr "tweak583.pl[0].cp[0]" "finger_R0_crvShape.twl"; -connectAttr "mgear_curveCns435GroupId.id" "finger_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns435Set.mwc" "finger_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8735.id" "finger_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet583.mwc" "finger_R0_crvShape.iog.og[1].gco"; -connectAttr "thumb_R0_blade_pointConstraint4.ctx" "thumb_R0_blade.tx" -l on; -connectAttr "thumb_R0_blade_pointConstraint4.cty" "thumb_R0_blade.ty" -l on; -connectAttr "thumb_R0_blade_pointConstraint4.ctz" "thumb_R0_blade.tz" -l on; -connectAttr "thumb_R0_blade_aimConstraint4.crx" "thumb_R0_blade.rx" -l on; -connectAttr "thumb_R0_blade_aimConstraint4.cry" "thumb_R0_blade.ry" -l on; -connectAttr "thumb_R0_blade_aimConstraint4.crz" "thumb_R0_blade.rz" -l on; -connectAttr "thumb_R0_blade.pim" "thumb_R0_blade_aimConstraint4.cpim"; -connectAttr "thumb_R0_blade.t" "thumb_R0_blade_aimConstraint4.ct"; -connectAttr "thumb_R0_blade.rp" "thumb_R0_blade_aimConstraint4.crp"; -connectAttr "thumb_R0_blade.rpt" "thumb_R0_blade_aimConstraint4.crt"; -connectAttr "thumb_R0_blade.ro" "thumb_R0_blade_aimConstraint4.cro"; -connectAttr "thumb_R0_0_loc.t" "thumb_R0_blade_aimConstraint4.tg[0].tt"; -connectAttr "thumb_R0_0_loc.rp" "thumb_R0_blade_aimConstraint4.tg[0].trp"; -connectAttr "thumb_R0_0_loc.rpt" "thumb_R0_blade_aimConstraint4.tg[0].trt"; -connectAttr "thumb_R0_0_loc.pm" "thumb_R0_blade_aimConstraint4.tg[0].tpm"; -connectAttr "thumb_R0_blade_aimConstraint4.w0" "thumb_R0_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "thumb_R0_root.wm" "thumb_R0_blade_aimConstraint4.wum"; -connectAttr "unitConversion147.o" "thumb_R0_blade_aimConstraint4.ox"; -connectAttr "thumb_R0_blade.pim" "thumb_R0_blade_pointConstraint4.cpim"; -connectAttr "thumb_R0_blade.rp" "thumb_R0_blade_pointConstraint4.crp"; -connectAttr "thumb_R0_blade.rpt" "thumb_R0_blade_pointConstraint4.crt"; -connectAttr "thumb_R0_root.t" "thumb_R0_blade_pointConstraint4.tg[0].tt"; -connectAttr "thumb_R0_root.rp" "thumb_R0_blade_pointConstraint4.tg[0].trp"; -connectAttr "thumb_R0_root.rpt" "thumb_R0_blade_pointConstraint4.tg[0].trt"; -connectAttr "thumb_R0_root.pm" "thumb_R0_blade_pointConstraint4.tg[0].tpm"; -connectAttr "thumb_R0_blade_pointConstraint4.w0" "thumb_R0_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns436.og[0]" "thumb_R0_crvShape.cr"; -connectAttr "tweak584.pl[0].cp[0]" "thumb_R0_crvShape.twl"; -connectAttr "mgear_curveCns436GroupId.id" "thumb_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns436Set.mwc" "thumb_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8737.id" "thumb_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet584.mwc" "thumb_R0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns430.og[0]" "arm_R0_crvShape.cr"; -connectAttr "tweak578.pl[0].cp[0]" "arm_R0_crvShape.twl"; -connectAttr "mgear_curveCns430GroupId.id" "arm_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns430Set.mwc" "arm_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8725.id" "arm_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet578.mwc" "arm_R0_crvShape.iog.og[1].gco"; -connectAttr "shoulder_R0_blade_pointConstraint4.ctx" "shoulder_R0_blade.tx" -l on - ; -connectAttr "shoulder_R0_blade_pointConstraint4.cty" "shoulder_R0_blade.ty" -l on - ; -connectAttr "shoulder_R0_blade_pointConstraint4.ctz" "shoulder_R0_blade.tz" -l on - ; -connectAttr "shoulder_R0_blade_aimConstraint4.crx" "shoulder_R0_blade.rx" -l on; -connectAttr "shoulder_R0_blade_aimConstraint4.cry" "shoulder_R0_blade.ry" -l on; -connectAttr "shoulder_R0_blade_aimConstraint4.crz" "shoulder_R0_blade.rz" -l on; -connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_aimConstraint4.cpim"; -connectAttr "shoulder_R0_blade.t" "shoulder_R0_blade_aimConstraint4.ct"; -connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_aimConstraint4.crp"; -connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_aimConstraint4.crt"; -connectAttr "shoulder_R0_blade.ro" "shoulder_R0_blade_aimConstraint4.cro"; -connectAttr "shoulder_R0_tip.t" "shoulder_R0_blade_aimConstraint4.tg[0].tt"; -connectAttr "shoulder_R0_tip.rp" "shoulder_R0_blade_aimConstraint4.tg[0].trp"; -connectAttr "shoulder_R0_tip.rpt" "shoulder_R0_blade_aimConstraint4.tg[0].trt"; -connectAttr "shoulder_R0_tip.pm" "shoulder_R0_blade_aimConstraint4.tg[0].tpm"; -connectAttr "shoulder_R0_blade_aimConstraint4.w0" "shoulder_R0_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "shoulder_R0_root.wm" "shoulder_R0_blade_aimConstraint4.wum"; -connectAttr "unitConversion141.o" "shoulder_R0_blade_aimConstraint4.ox"; -connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_pointConstraint4.cpim"; -connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_pointConstraint4.crp"; -connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_pointConstraint4.crt"; -connectAttr "shoulder_R0_root.t" "shoulder_R0_blade_pointConstraint4.tg[0].tt"; -connectAttr "shoulder_R0_root.rp" "shoulder_R0_blade_pointConstraint4.tg[0].trp" - ; -connectAttr "shoulder_R0_root.rpt" "shoulder_R0_blade_pointConstraint4.tg[0].trt" - ; -connectAttr "shoulder_R0_root.pm" "shoulder_R0_blade_pointConstraint4.tg[0].tpm" - ; -connectAttr "shoulder_R0_blade_pointConstraint4.w0" "shoulder_R0_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns429.og[0]" "shoulder_R0_crvShape.cr"; -connectAttr "tweak577.pl[0].cp[0]" "shoulder_R0_crvShape.twl"; -connectAttr "mgear_curveCns429GroupId.id" "shoulder_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns429Set.mwc" "shoulder_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8723.id" "shoulder_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet577.mwc" "shoulder_R0_crvShape.iog.og[1].gco"; -connectAttr "spine_C0_blade_pointConstraint9.ctx" "spine_C0_blade.tx" -l on; -connectAttr "spine_C0_blade_pointConstraint9.cty" "spine_C0_blade.ty" -l on; -connectAttr "spine_C0_blade_pointConstraint9.ctz" "spine_C0_blade.tz" -l on; -connectAttr "spine_C0_blade_aimConstraint9.crx" "spine_C0_blade.rx" -l on; -connectAttr "spine_C0_blade_aimConstraint9.cry" "spine_C0_blade.ry" -l on; -connectAttr "spine_C0_blade_aimConstraint9.crz" "spine_C0_blade.rz" -l on; -connectAttr "spine_C0_blade.pim" "spine_C0_blade_aimConstraint9.cpim"; -connectAttr "spine_C0_blade.t" "spine_C0_blade_aimConstraint9.ct"; -connectAttr "spine_C0_blade.rp" "spine_C0_blade_aimConstraint9.crp"; -connectAttr "spine_C0_blade.rpt" "spine_C0_blade_aimConstraint9.crt"; -connectAttr "spine_C0_blade.ro" "spine_C0_blade_aimConstraint9.cro"; -connectAttr "spine_C0_eff.t" "spine_C0_blade_aimConstraint9.tg[0].tt"; -connectAttr "spine_C0_eff.rp" "spine_C0_blade_aimConstraint9.tg[0].trp"; -connectAttr "spine_C0_eff.rpt" "spine_C0_blade_aimConstraint9.tg[0].trt"; -connectAttr "spine_C0_eff.pm" "spine_C0_blade_aimConstraint9.tg[0].tpm"; -connectAttr "spine_C0_blade_aimConstraint9.w0" "spine_C0_blade_aimConstraint9.tg[0].tw" - ; -connectAttr "spine_C0_root.wm" "spine_C0_blade_aimConstraint9.wum"; -connectAttr "unitConversion131.o" "spine_C0_blade_aimConstraint9.ox"; -connectAttr "spine_C0_blade.pim" "spine_C0_blade_pointConstraint9.cpim"; -connectAttr "spine_C0_blade.rp" "spine_C0_blade_pointConstraint9.crp"; -connectAttr "spine_C0_blade.rpt" "spine_C0_blade_pointConstraint9.crt"; -connectAttr "spine_C0_root.t" "spine_C0_blade_pointConstraint9.tg[0].tt"; -connectAttr "spine_C0_root.rp" "spine_C0_blade_pointConstraint9.tg[0].trp"; -connectAttr "spine_C0_root.rpt" "spine_C0_blade_pointConstraint9.tg[0].trt"; -connectAttr "spine_C0_root.pm" "spine_C0_blade_pointConstraint9.tg[0].tpm"; -connectAttr "spine_C0_blade_pointConstraint9.w0" "spine_C0_blade_pointConstraint9.tg[0].tw" - ; -connectAttr "mgear_curveCns411.og[0]" "spine_C0_crvShape.cr"; -connectAttr "tweak559.pl[0].cp[0]" "spine_C0_crvShape.twl"; -connectAttr "mgear_curveCns411GroupId.id" "spine_C0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns411Set.mwc" "spine_C0_crvShape.iog.og[0].gco"; -connectAttr "groupId8687.id" "spine_C0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet559.mwc" "spine_C0_crvShape.iog.og[1].gco"; -connectAttr "leg_L0_root_st_profile1.o" "leg_L0_root.st_profile"; -connectAttr "leg_L0_root_sq_profile1.o" "leg_L0_root.sq_profile"; -connectAttr "mgear_curveCns438.og[0]" "foot_L0_crvShape.cr"; -connectAttr "tweak586.pl[0].cp[0]" "foot_L0_crvShape.twl"; -connectAttr "mgear_curveCns438GroupId.id" "foot_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns438Set.mwc" "foot_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8741.id" "foot_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet586.mwc" "foot_L0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns439.og[0]" "foot_L0_Shape1.cr"; -connectAttr "tweak587.pl[0].cp[0]" "foot_L0_Shape1.twl"; -connectAttr "mgear_curveCns439GroupId.id" "foot_L0_Shape1.iog.og[0].gid"; -connectAttr "mgear_curveCns439Set.mwc" "foot_L0_Shape1.iog.og[0].gco"; -connectAttr "groupId8743.id" "foot_L0_Shape1.iog.og[1].gid"; -connectAttr "tweakSet587.mwc" "foot_L0_Shape1.iog.og[1].gco"; -connectAttr "mgear_curveCns437.og[0]" "leg_L0_crvShape.cr"; -connectAttr "tweak585.pl[0].cp[0]" "leg_L0_crvShape.twl"; -connectAttr "mgear_curveCns437GroupId.id" "leg_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns437Set.mwc" "leg_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId8739.id" "leg_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet585.mwc" "leg_L0_crvShape.iog.og[1].gco"; -connectAttr "leg_R0_root_st_profile.o" "leg_R0_root.st_profile"; -connectAttr "leg_R0_root_sq_profile.o" "leg_R0_root.sq_profile"; -connectAttr "mgear_curveCns441.og[0]" "foot_R0_crvShape.cr"; -connectAttr "tweak589.pl[0].cp[0]" "foot_R0_crvShape.twl"; -connectAttr "mgear_curveCns441GroupId.id" "foot_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns441Set.mwc" "foot_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8747.id" "foot_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet589.mwc" "foot_R0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns442.og[0]" "foot_R0_Shape1.cr"; -connectAttr "tweak590.pl[0].cp[0]" "foot_R0_Shape1.twl"; -connectAttr "mgear_curveCns442GroupId.id" "foot_R0_Shape1.iog.og[0].gid"; -connectAttr "mgear_curveCns442Set.mwc" "foot_R0_Shape1.iog.og[0].gco"; -connectAttr "groupId8749.id" "foot_R0_Shape1.iog.og[1].gid"; -connectAttr "tweakSet590.mwc" "foot_R0_Shape1.iog.og[1].gco"; -connectAttr "mgear_curveCns440.og[0]" "leg_R0_crvShape.cr"; -connectAttr "tweak588.pl[0].cp[0]" "leg_R0_crvShape.twl"; -connectAttr "mgear_curveCns440GroupId.id" "leg_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns440Set.mwc" "leg_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId8745.id" "leg_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet588.mwc" "leg_R0_crvShape.iog.og[1].gco"; +connectAttr "finger_R3_blade_pointConstraint2.ctx" "finger_R3_blade.tx" -l on; +connectAttr "finger_R3_blade_pointConstraint2.cty" "finger_R3_blade.ty" -l on; +connectAttr "finger_R3_blade_pointConstraint2.ctz" "finger_R3_blade.tz" -l on; +connectAttr "finger_R3_blade_aimConstraint2.crx" "finger_R3_blade.rx" -l on; +connectAttr "finger_R3_blade_aimConstraint2.cry" "finger_R3_blade.ry" -l on; +connectAttr "finger_R3_blade_aimConstraint2.crz" "finger_R3_blade.rz" -l on; +connectAttr "finger_R3_blade.pim" "finger_R3_blade_aimConstraint2.cpim"; +connectAttr "finger_R3_blade.t" "finger_R3_blade_aimConstraint2.ct"; +connectAttr "finger_R3_blade.rp" "finger_R3_blade_aimConstraint2.crp"; +connectAttr "finger_R3_blade.rpt" "finger_R3_blade_aimConstraint2.crt"; +connectAttr "finger_R3_blade.ro" "finger_R3_blade_aimConstraint2.cro"; +connectAttr "finger_R3_0_loc.t" "finger_R3_blade_aimConstraint2.tg[0].tt"; +connectAttr "finger_R3_0_loc.rp" "finger_R3_blade_aimConstraint2.tg[0].trp"; +connectAttr "finger_R3_0_loc.rpt" "finger_R3_blade_aimConstraint2.tg[0].trt"; +connectAttr "finger_R3_0_loc.pm" "finger_R3_blade_aimConstraint2.tg[0].tpm"; +connectAttr "finger_R3_blade_aimConstraint2.w0" "finger_R3_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "finger_R3_root.wm" "finger_R3_blade_aimConstraint2.wum"; +connectAttr "unitConversion160.o" "finger_R3_blade_aimConstraint2.ox"; +connectAttr "finger_R3_blade.pim" "finger_R3_blade_pointConstraint2.cpim"; +connectAttr "finger_R3_blade.rp" "finger_R3_blade_pointConstraint2.crp"; +connectAttr "finger_R3_blade.rpt" "finger_R3_blade_pointConstraint2.crt"; +connectAttr "finger_R3_root.t" "finger_R3_blade_pointConstraint2.tg[0].tt"; +connectAttr "finger_R3_root.rp" "finger_R3_blade_pointConstraint2.tg[0].trp"; +connectAttr "finger_R3_root.rpt" "finger_R3_blade_pointConstraint2.tg[0].trt"; +connectAttr "finger_R3_root.pm" "finger_R3_blade_pointConstraint2.tg[0].tpm"; +connectAttr "finger_R3_blade_pointConstraint2.w0" "finger_R3_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns472.og[0]" "finger_R3_crvShape.cr"; +connectAttr "tweak620.pl[0].cp[0]" "finger_R3_crvShape.twl"; +connectAttr "mgear_curveCns472GroupId.id" "finger_R3_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns472Set.mwc" "finger_R3_crvShape.iog.og[0].gco"; +connectAttr "groupId8809.id" "finger_R3_crvShape.iog.og[1].gid"; +connectAttr "tweakSet620.mwc" "finger_R3_crvShape.iog.og[1].gco"; +connectAttr "finger_R2_blade_pointConstraint2.ctx" "finger_R2_blade.tx" -l on; +connectAttr "finger_R2_blade_pointConstraint2.cty" "finger_R2_blade.ty" -l on; +connectAttr "finger_R2_blade_pointConstraint2.ctz" "finger_R2_blade.tz" -l on; +connectAttr "finger_R2_blade_aimConstraint2.crx" "finger_R2_blade.rx" -l on; +connectAttr "finger_R2_blade_aimConstraint2.cry" "finger_R2_blade.ry" -l on; +connectAttr "finger_R2_blade_aimConstraint2.crz" "finger_R2_blade.rz" -l on; +connectAttr "finger_R2_blade.pim" "finger_R2_blade_aimConstraint2.cpim"; +connectAttr "finger_R2_blade.t" "finger_R2_blade_aimConstraint2.ct"; +connectAttr "finger_R2_blade.rp" "finger_R2_blade_aimConstraint2.crp"; +connectAttr "finger_R2_blade.rpt" "finger_R2_blade_aimConstraint2.crt"; +connectAttr "finger_R2_blade.ro" "finger_R2_blade_aimConstraint2.cro"; +connectAttr "finger_R2_0_loc.t" "finger_R2_blade_aimConstraint2.tg[0].tt"; +connectAttr "finger_R2_0_loc.rp" "finger_R2_blade_aimConstraint2.tg[0].trp"; +connectAttr "finger_R2_0_loc.rpt" "finger_R2_blade_aimConstraint2.tg[0].trt"; +connectAttr "finger_R2_0_loc.pm" "finger_R2_blade_aimConstraint2.tg[0].tpm"; +connectAttr "finger_R2_blade_aimConstraint2.w0" "finger_R2_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "finger_R2_root.wm" "finger_R2_blade_aimConstraint2.wum"; +connectAttr "unitConversion161.o" "finger_R2_blade_aimConstraint2.ox"; +connectAttr "finger_R2_blade.pim" "finger_R2_blade_pointConstraint2.cpim"; +connectAttr "finger_R2_blade.rp" "finger_R2_blade_pointConstraint2.crp"; +connectAttr "finger_R2_blade.rpt" "finger_R2_blade_pointConstraint2.crt"; +connectAttr "finger_R2_root.t" "finger_R2_blade_pointConstraint2.tg[0].tt"; +connectAttr "finger_R2_root.rp" "finger_R2_blade_pointConstraint2.tg[0].trp"; +connectAttr "finger_R2_root.rpt" "finger_R2_blade_pointConstraint2.tg[0].trt"; +connectAttr "finger_R2_root.pm" "finger_R2_blade_pointConstraint2.tg[0].tpm"; +connectAttr "finger_R2_blade_pointConstraint2.w0" "finger_R2_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns473.og[0]" "finger_R2_crvShape.cr"; +connectAttr "tweak621.pl[0].cp[0]" "finger_R2_crvShape.twl"; +connectAttr "mgear_curveCns473GroupId.id" "finger_R2_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns473Set.mwc" "finger_R2_crvShape.iog.og[0].gco"; +connectAttr "groupId8811.id" "finger_R2_crvShape.iog.og[1].gid"; +connectAttr "tweakSet621.mwc" "finger_R2_crvShape.iog.og[1].gco"; +connectAttr "finger_R1_blade_pointConstraint2.ctx" "finger_R1_blade.tx" -l on; +connectAttr "finger_R1_blade_pointConstraint2.cty" "finger_R1_blade.ty" -l on; +connectAttr "finger_R1_blade_pointConstraint2.ctz" "finger_R1_blade.tz" -l on; +connectAttr "finger_R1_blade_aimConstraint2.crx" "finger_R1_blade.rx" -l on; +connectAttr "finger_R1_blade_aimConstraint2.cry" "finger_R1_blade.ry" -l on; +connectAttr "finger_R1_blade_aimConstraint2.crz" "finger_R1_blade.rz" -l on; +connectAttr "finger_R1_blade.pim" "finger_R1_blade_aimConstraint2.cpim"; +connectAttr "finger_R1_blade.t" "finger_R1_blade_aimConstraint2.ct"; +connectAttr "finger_R1_blade.rp" "finger_R1_blade_aimConstraint2.crp"; +connectAttr "finger_R1_blade.rpt" "finger_R1_blade_aimConstraint2.crt"; +connectAttr "finger_R1_blade.ro" "finger_R1_blade_aimConstraint2.cro"; +connectAttr "finger_R1_0_loc.t" "finger_R1_blade_aimConstraint2.tg[0].tt"; +connectAttr "finger_R1_0_loc.rp" "finger_R1_blade_aimConstraint2.tg[0].trp"; +connectAttr "finger_R1_0_loc.rpt" "finger_R1_blade_aimConstraint2.tg[0].trt"; +connectAttr "finger_R1_0_loc.pm" "finger_R1_blade_aimConstraint2.tg[0].tpm"; +connectAttr "finger_R1_blade_aimConstraint2.w0" "finger_R1_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "finger_R1_root.wm" "finger_R1_blade_aimConstraint2.wum"; +connectAttr "unitConversion162.o" "finger_R1_blade_aimConstraint2.ox"; +connectAttr "finger_R1_blade.pim" "finger_R1_blade_pointConstraint2.cpim"; +connectAttr "finger_R1_blade.rp" "finger_R1_blade_pointConstraint2.crp"; +connectAttr "finger_R1_blade.rpt" "finger_R1_blade_pointConstraint2.crt"; +connectAttr "finger_R1_root.t" "finger_R1_blade_pointConstraint2.tg[0].tt"; +connectAttr "finger_R1_root.rp" "finger_R1_blade_pointConstraint2.tg[0].trp"; +connectAttr "finger_R1_root.rpt" "finger_R1_blade_pointConstraint2.tg[0].trt"; +connectAttr "finger_R1_root.pm" "finger_R1_blade_pointConstraint2.tg[0].tpm"; +connectAttr "finger_R1_blade_pointConstraint2.w0" "finger_R1_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns474.og[0]" "finger_R1_crvShape.cr"; +connectAttr "tweak622.pl[0].cp[0]" "finger_R1_crvShape.twl"; +connectAttr "mgear_curveCns474GroupId.id" "finger_R1_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns474Set.mwc" "finger_R1_crvShape.iog.og[0].gco"; +connectAttr "groupId8813.id" "finger_R1_crvShape.iog.og[1].gid"; +connectAttr "tweakSet622.mwc" "finger_R1_crvShape.iog.og[1].gco"; +connectAttr "meta_R0_blade_pointConstraint2.ctx" "meta_R0_blade.tx" -l on; +connectAttr "meta_R0_blade_pointConstraint2.cty" "meta_R0_blade.ty" -l on; +connectAttr "meta_R0_blade_pointConstraint2.ctz" "meta_R0_blade.tz" -l on; +connectAttr "meta_R0_blade_aimConstraint2.crx" "meta_R0_blade.rx" -l on; +connectAttr "meta_R0_blade_aimConstraint2.cry" "meta_R0_blade.ry" -l on; +connectAttr "meta_R0_blade_aimConstraint2.crz" "meta_R0_blade.rz" -l on; +connectAttr "meta_R0_blade.pim" "meta_R0_blade_aimConstraint2.cpim"; +connectAttr "meta_R0_blade.t" "meta_R0_blade_aimConstraint2.ct"; +connectAttr "meta_R0_blade.rp" "meta_R0_blade_aimConstraint2.crp"; +connectAttr "meta_R0_blade.rpt" "meta_R0_blade_aimConstraint2.crt"; +connectAttr "meta_R0_blade.ro" "meta_R0_blade_aimConstraint2.cro"; +connectAttr "meta_R0_0_loc.t" "meta_R0_blade_aimConstraint2.tg[0].tt"; +connectAttr "meta_R0_0_loc.rp" "meta_R0_blade_aimConstraint2.tg[0].trp"; +connectAttr "meta_R0_0_loc.rpt" "meta_R0_blade_aimConstraint2.tg[0].trt"; +connectAttr "meta_R0_0_loc.pm" "meta_R0_blade_aimConstraint2.tg[0].tpm"; +connectAttr "meta_R0_blade_aimConstraint2.w0" "meta_R0_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "meta_R0_root.wm" "meta_R0_blade_aimConstraint2.wum"; +connectAttr "unitConversion159.o" "meta_R0_blade_aimConstraint2.ox"; +connectAttr "meta_R0_blade.pim" "meta_R0_blade_pointConstraint2.cpim"; +connectAttr "meta_R0_blade.rp" "meta_R0_blade_pointConstraint2.crp"; +connectAttr "meta_R0_blade.rpt" "meta_R0_blade_pointConstraint2.crt"; +connectAttr "meta_R0_root.t" "meta_R0_blade_pointConstraint2.tg[0].tt"; +connectAttr "meta_R0_root.rp" "meta_R0_blade_pointConstraint2.tg[0].trp"; +connectAttr "meta_R0_root.rpt" "meta_R0_blade_pointConstraint2.tg[0].trt"; +connectAttr "meta_R0_root.pm" "meta_R0_blade_pointConstraint2.tg[0].tpm"; +connectAttr "meta_R0_blade_pointConstraint2.w0" "meta_R0_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns471.og[0]" "meta_R0_crvShape.cr"; +connectAttr "tweak619.pl[0].cp[0]" "meta_R0_crvShape.twl"; +connectAttr "mgear_curveCns471GroupId.id" "meta_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns471Set.mwc" "meta_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8807.id" "meta_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet619.mwc" "meta_R0_crvShape.iog.og[1].gco"; +connectAttr "finger_R0_blade_pointConstraint2.ctx" "finger_R0_blade.tx" -l on; +connectAttr "finger_R0_blade_pointConstraint2.cty" "finger_R0_blade.ty" -l on; +connectAttr "finger_R0_blade_pointConstraint2.ctz" "finger_R0_blade.tz" -l on; +connectAttr "finger_R0_blade_aimConstraint2.crx" "finger_R0_blade.rx" -l on; +connectAttr "finger_R0_blade_aimConstraint2.cry" "finger_R0_blade.ry" -l on; +connectAttr "finger_R0_blade_aimConstraint2.crz" "finger_R0_blade.rz" -l on; +connectAttr "finger_R0_blade.pim" "finger_R0_blade_aimConstraint2.cpim"; +connectAttr "finger_R0_blade.t" "finger_R0_blade_aimConstraint2.ct"; +connectAttr "finger_R0_blade.rp" "finger_R0_blade_aimConstraint2.crp"; +connectAttr "finger_R0_blade.rpt" "finger_R0_blade_aimConstraint2.crt"; +connectAttr "finger_R0_blade.ro" "finger_R0_blade_aimConstraint2.cro"; +connectAttr "finger_R0_0_loc.t" "finger_R0_blade_aimConstraint2.tg[0].tt"; +connectAttr "finger_R0_0_loc.rp" "finger_R0_blade_aimConstraint2.tg[0].trp"; +connectAttr "finger_R0_0_loc.rpt" "finger_R0_blade_aimConstraint2.tg[0].trt"; +connectAttr "finger_R0_0_loc.pm" "finger_R0_blade_aimConstraint2.tg[0].tpm"; +connectAttr "finger_R0_blade_aimConstraint2.w0" "finger_R0_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "finger_R0_root.wm" "finger_R0_blade_aimConstraint2.wum"; +connectAttr "unitConversion163.o" "finger_R0_blade_aimConstraint2.ox"; +connectAttr "finger_R0_blade.pim" "finger_R0_blade_pointConstraint2.cpim"; +connectAttr "finger_R0_blade.rp" "finger_R0_blade_pointConstraint2.crp"; +connectAttr "finger_R0_blade.rpt" "finger_R0_blade_pointConstraint2.crt"; +connectAttr "finger_R0_root.t" "finger_R0_blade_pointConstraint2.tg[0].tt"; +connectAttr "finger_R0_root.rp" "finger_R0_blade_pointConstraint2.tg[0].trp"; +connectAttr "finger_R0_root.rpt" "finger_R0_blade_pointConstraint2.tg[0].trt"; +connectAttr "finger_R0_root.pm" "finger_R0_blade_pointConstraint2.tg[0].tpm"; +connectAttr "finger_R0_blade_pointConstraint2.w0" "finger_R0_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns475.og[0]" "finger_R0_crvShape.cr"; +connectAttr "tweak623.pl[0].cp[0]" "finger_R0_crvShape.twl"; +connectAttr "mgear_curveCns475GroupId.id" "finger_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns475Set.mwc" "finger_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8815.id" "finger_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet623.mwc" "finger_R0_crvShape.iog.og[1].gco"; +connectAttr "thumb_R0_blade_pointConstraint2.ctx" "thumb_R0_blade.tx" -l on; +connectAttr "thumb_R0_blade_pointConstraint2.cty" "thumb_R0_blade.ty" -l on; +connectAttr "thumb_R0_blade_pointConstraint2.ctz" "thumb_R0_blade.tz" -l on; +connectAttr "thumb_R0_blade_aimConstraint2.crx" "thumb_R0_blade.rx" -l on; +connectAttr "thumb_R0_blade_aimConstraint2.cry" "thumb_R0_blade.ry" -l on; +connectAttr "thumb_R0_blade_aimConstraint2.crz" "thumb_R0_blade.rz" -l on; +connectAttr "thumb_R0_blade.pim" "thumb_R0_blade_aimConstraint2.cpim"; +connectAttr "thumb_R0_blade.t" "thumb_R0_blade_aimConstraint2.ct"; +connectAttr "thumb_R0_blade.rp" "thumb_R0_blade_aimConstraint2.crp"; +connectAttr "thumb_R0_blade.rpt" "thumb_R0_blade_aimConstraint2.crt"; +connectAttr "thumb_R0_blade.ro" "thumb_R0_blade_aimConstraint2.cro"; +connectAttr "thumb_R0_0_loc.t" "thumb_R0_blade_aimConstraint2.tg[0].tt"; +connectAttr "thumb_R0_0_loc.rp" "thumb_R0_blade_aimConstraint2.tg[0].trp"; +connectAttr "thumb_R0_0_loc.rpt" "thumb_R0_blade_aimConstraint2.tg[0].trt"; +connectAttr "thumb_R0_0_loc.pm" "thumb_R0_blade_aimConstraint2.tg[0].tpm"; +connectAttr "thumb_R0_blade_aimConstraint2.w0" "thumb_R0_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "thumb_R0_root.wm" "thumb_R0_blade_aimConstraint2.wum"; +connectAttr "unitConversion164.o" "thumb_R0_blade_aimConstraint2.ox"; +connectAttr "thumb_R0_blade.pim" "thumb_R0_blade_pointConstraint2.cpim"; +connectAttr "thumb_R0_blade.rp" "thumb_R0_blade_pointConstraint2.crp"; +connectAttr "thumb_R0_blade.rpt" "thumb_R0_blade_pointConstraint2.crt"; +connectAttr "thumb_R0_root.t" "thumb_R0_blade_pointConstraint2.tg[0].tt"; +connectAttr "thumb_R0_root.rp" "thumb_R0_blade_pointConstraint2.tg[0].trp"; +connectAttr "thumb_R0_root.rpt" "thumb_R0_blade_pointConstraint2.tg[0].trt"; +connectAttr "thumb_R0_root.pm" "thumb_R0_blade_pointConstraint2.tg[0].tpm"; +connectAttr "thumb_R0_blade_pointConstraint2.w0" "thumb_R0_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns476.og[0]" "thumb_R0_crvShape.cr"; +connectAttr "tweak624.pl[0].cp[0]" "thumb_R0_crvShape.twl"; +connectAttr "mgear_curveCns476GroupId.id" "thumb_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns476Set.mwc" "thumb_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8817.id" "thumb_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet624.mwc" "thumb_R0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns470.og[0]" "arm_R0_crvShape.cr"; +connectAttr "tweak618.pl[0].cp[0]" "arm_R0_crvShape.twl"; +connectAttr "mgear_curveCns470GroupId.id" "arm_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns470Set.mwc" "arm_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8805.id" "arm_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet618.mwc" "arm_R0_crvShape.iog.og[1].gco"; +connectAttr "shoulder_R0_blade_pointConstraint2.ctx" "shoulder_R0_blade.tx" -l on + ; +connectAttr "shoulder_R0_blade_pointConstraint2.cty" "shoulder_R0_blade.ty" -l on + ; +connectAttr "shoulder_R0_blade_pointConstraint2.ctz" "shoulder_R0_blade.tz" -l on + ; +connectAttr "shoulder_R0_blade_aimConstraint2.crx" "shoulder_R0_blade.rx" -l on; +connectAttr "shoulder_R0_blade_aimConstraint2.cry" "shoulder_R0_blade.ry" -l on; +connectAttr "shoulder_R0_blade_aimConstraint2.crz" "shoulder_R0_blade.rz" -l on; +connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_aimConstraint2.cpim"; +connectAttr "shoulder_R0_blade.t" "shoulder_R0_blade_aimConstraint2.ct"; +connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_aimConstraint2.crp"; +connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_aimConstraint2.crt"; +connectAttr "shoulder_R0_blade.ro" "shoulder_R0_blade_aimConstraint2.cro"; +connectAttr "shoulder_R0_tip.t" "shoulder_R0_blade_aimConstraint2.tg[0].tt"; +connectAttr "shoulder_R0_tip.rp" "shoulder_R0_blade_aimConstraint2.tg[0].trp"; +connectAttr "shoulder_R0_tip.rpt" "shoulder_R0_blade_aimConstraint2.tg[0].trt"; +connectAttr "shoulder_R0_tip.pm" "shoulder_R0_blade_aimConstraint2.tg[0].tpm"; +connectAttr "shoulder_R0_blade_aimConstraint2.w0" "shoulder_R0_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "shoulder_R0_root.wm" "shoulder_R0_blade_aimConstraint2.wum"; +connectAttr "unitConversion158.o" "shoulder_R0_blade_aimConstraint2.ox"; +connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_pointConstraint2.cpim"; +connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_pointConstraint2.crp"; +connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_pointConstraint2.crt"; +connectAttr "shoulder_R0_root.t" "shoulder_R0_blade_pointConstraint2.tg[0].tt"; +connectAttr "shoulder_R0_root.rp" "shoulder_R0_blade_pointConstraint2.tg[0].trp" + ; +connectAttr "shoulder_R0_root.rpt" "shoulder_R0_blade_pointConstraint2.tg[0].trt" + ; +connectAttr "shoulder_R0_root.pm" "shoulder_R0_blade_pointConstraint2.tg[0].tpm" + ; +connectAttr "shoulder_R0_blade_pointConstraint2.w0" "shoulder_R0_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns469.og[0]" "shoulder_R0_crvShape.cr"; +connectAttr "tweak617.pl[0].cp[0]" "shoulder_R0_crvShape.twl"; +connectAttr "mgear_curveCns469GroupId.id" "shoulder_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns469Set.mwc" "shoulder_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8803.id" "shoulder_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet617.mwc" "shoulder_R0_crvShape.iog.og[1].gco"; +connectAttr "spine_C0_blade_pointConstraint10.ctx" "spine_C0_blade.tx" -l on; +connectAttr "spine_C0_blade_pointConstraint10.cty" "spine_C0_blade.ty" -l on; +connectAttr "spine_C0_blade_pointConstraint10.ctz" "spine_C0_blade.tz" -l on; +connectAttr "spine_C0_blade_aimConstraint10.crx" "spine_C0_blade.rx" -l on; +connectAttr "spine_C0_blade_aimConstraint10.cry" "spine_C0_blade.ry" -l on; +connectAttr "spine_C0_blade_aimConstraint10.crz" "spine_C0_blade.rz" -l on; +connectAttr "spine_C0_blade.pim" "spine_C0_blade_aimConstraint10.cpim"; +connectAttr "spine_C0_blade.t" "spine_C0_blade_aimConstraint10.ct"; +connectAttr "spine_C0_blade.rp" "spine_C0_blade_aimConstraint10.crp"; +connectAttr "spine_C0_blade.rpt" "spine_C0_blade_aimConstraint10.crt"; +connectAttr "spine_C0_blade.ro" "spine_C0_blade_aimConstraint10.cro"; +connectAttr "spine_C0_eff.t" "spine_C0_blade_aimConstraint10.tg[0].tt"; +connectAttr "spine_C0_eff.rp" "spine_C0_blade_aimConstraint10.tg[0].trp"; +connectAttr "spine_C0_eff.rpt" "spine_C0_blade_aimConstraint10.tg[0].trt"; +connectAttr "spine_C0_eff.pm" "spine_C0_blade_aimConstraint10.tg[0].tpm"; +connectAttr "spine_C0_blade_aimConstraint10.w0" "spine_C0_blade_aimConstraint10.tg[0].tw" + ; +connectAttr "spine_C0_root.wm" "spine_C0_blade_aimConstraint10.wum"; +connectAttr "unitConversion148.o" "spine_C0_blade_aimConstraint10.ox"; +connectAttr "spine_C0_blade.pim" "spine_C0_blade_pointConstraint10.cpim"; +connectAttr "spine_C0_blade.rp" "spine_C0_blade_pointConstraint10.crp"; +connectAttr "spine_C0_blade.rpt" "spine_C0_blade_pointConstraint10.crt"; +connectAttr "spine_C0_root.t" "spine_C0_blade_pointConstraint10.tg[0].tt"; +connectAttr "spine_C0_root.rp" "spine_C0_blade_pointConstraint10.tg[0].trp"; +connectAttr "spine_C0_root.rpt" "spine_C0_blade_pointConstraint10.tg[0].trt"; +connectAttr "spine_C0_root.pm" "spine_C0_blade_pointConstraint10.tg[0].tpm"; +connectAttr "spine_C0_blade_pointConstraint10.w0" "spine_C0_blade_pointConstraint10.tg[0].tw" + ; +connectAttr "mgear_curveCns451.og[0]" "spine_C0_crvShape.cr"; +connectAttr "tweak599.pl[0].cp[0]" "spine_C0_crvShape.twl"; +connectAttr "mgear_curveCns451GroupId.id" "spine_C0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns451Set.mwc" "spine_C0_crvShape.iog.og[0].gco"; +connectAttr "groupId8767.id" "spine_C0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet599.mwc" "spine_C0_crvShape.iog.og[1].gco"; +connectAttr "leg_L0_root_st_profile.o" "leg_L0_root.st_profile"; +connectAttr "leg_L0_root_sq_profile.o" "leg_L0_root.sq_profile"; +connectAttr "mgear_curveCns478.og[0]" "foot_L0_crvShape.cr"; +connectAttr "tweak626.pl[0].cp[0]" "foot_L0_crvShape.twl"; +connectAttr "mgear_curveCns478GroupId.id" "foot_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns478Set.mwc" "foot_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8821.id" "foot_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet626.mwc" "foot_L0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns479.og[0]" "foot_L0_Shape1.cr"; +connectAttr "tweak627.pl[0].cp[0]" "foot_L0_Shape1.twl"; +connectAttr "mgear_curveCns479GroupId.id" "foot_L0_Shape1.iog.og[0].gid"; +connectAttr "mgear_curveCns479Set.mwc" "foot_L0_Shape1.iog.og[0].gco"; +connectAttr "groupId8823.id" "foot_L0_Shape1.iog.og[1].gid"; +connectAttr "tweakSet627.mwc" "foot_L0_Shape1.iog.og[1].gco"; +connectAttr "mgear_curveCns477.og[0]" "leg_L0_crvShape.cr"; +connectAttr "tweak625.pl[0].cp[0]" "leg_L0_crvShape.twl"; +connectAttr "mgear_curveCns477GroupId.id" "leg_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns477Set.mwc" "leg_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId8819.id" "leg_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet625.mwc" "leg_L0_crvShape.iog.og[1].gco"; +connectAttr "leg_R0_root_st_profile1.o" "leg_R0_root.st_profile"; +connectAttr "leg_R0_root_sq_profile1.o" "leg_R0_root.sq_profile"; +connectAttr "mgear_curveCns481.og[0]" "foot_R0_crvShape.cr"; +connectAttr "tweak629.pl[0].cp[0]" "foot_R0_crvShape.twl"; +connectAttr "mgear_curveCns481GroupId.id" "foot_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns481Set.mwc" "foot_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8827.id" "foot_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet629.mwc" "foot_R0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns482.og[0]" "foot_R0_Shape1.cr"; +connectAttr "tweak630.pl[0].cp[0]" "foot_R0_Shape1.twl"; +connectAttr "mgear_curveCns482GroupId.id" "foot_R0_Shape1.iog.og[0].gid"; +connectAttr "mgear_curveCns482Set.mwc" "foot_R0_Shape1.iog.og[0].gco"; +connectAttr "groupId8829.id" "foot_R0_Shape1.iog.og[1].gid"; +connectAttr "tweakSet630.mwc" "foot_R0_Shape1.iog.og[1].gco"; +connectAttr "mgear_curveCns480.og[0]" "leg_R0_crvShape.cr"; +connectAttr "tweak628.pl[0].cp[0]" "leg_R0_crvShape.twl"; +connectAttr "mgear_curveCns480GroupId.id" "leg_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns480Set.mwc" "leg_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId8825.id" "leg_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet628.mwc" "leg_R0_crvShape.iog.og[1].gco"; relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; connectAttr "layerManager.dli[0]" "defaultLayer.id"; connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr "spine_C0_blade.bladeRollOffset" "unitConversion131.i"; -connectAttr "mgear_curveCns411GroupParts.og" "mgear_curveCns411.ip[0].ig"; -connectAttr "mgear_curveCns411GroupId.id" "mgear_curveCns411.ip[0].gi"; -connectAttr "spine_C0_root.wm" "mgear_curveCns411.inputs[0]"; -connectAttr "spine_C0_eff.wm" "mgear_curveCns411.inputs[1]"; -connectAttr "groupParts1118.og" "tweak559.ip[0].ig"; -connectAttr "groupId8687.id" "tweak559.ip[0].gi"; -connectAttr "mgear_curveCns411GroupId.msg" "mgear_curveCns411Set.gn" -na; -connectAttr "spine_C0_crvShape.iog.og[0]" "mgear_curveCns411Set.dsm" -na; -connectAttr "mgear_curveCns411.msg" "mgear_curveCns411Set.ub[0]"; -connectAttr "tweak559.og[0]" "mgear_curveCns411GroupParts.ig"; -connectAttr "mgear_curveCns411GroupId.id" "mgear_curveCns411GroupParts.gi"; -connectAttr "groupId8687.msg" "tweakSet559.gn" -na; -connectAttr "spine_C0_crvShape.iog.og[1]" "tweakSet559.dsm" -na; -connectAttr "tweak559.msg" "tweakSet559.ub[0]"; -connectAttr "spine_C0_crvShapeOrig.ws" "groupParts1118.ig"; -connectAttr "groupId8687.id" "groupParts1118.gi"; -connectAttr "shoulder_L0_blade.bladeRollOffset" "unitConversion132.i"; -connectAttr "mgear_curveCns412GroupParts.og" "mgear_curveCns412.ip[0].ig"; -connectAttr "mgear_curveCns412GroupId.id" "mgear_curveCns412.ip[0].gi"; -connectAttr "shoulder_L0_root.wm" "mgear_curveCns412.inputs[0]"; -connectAttr "shoulder_L0_tip.wm" "mgear_curveCns412.inputs[1]"; -connectAttr "groupParts1120.og" "tweak560.ip[0].ig"; -connectAttr "groupId8689.id" "tweak560.ip[0].gi"; -connectAttr "mgear_curveCns412GroupId.msg" "mgear_curveCns412Set.gn" -na; -connectAttr "shoulder_L0_crvShape.iog.og[0]" "mgear_curveCns412Set.dsm" -na; -connectAttr "mgear_curveCns412.msg" "mgear_curveCns412Set.ub[0]"; -connectAttr "tweak560.og[0]" "mgear_curveCns412GroupParts.ig"; -connectAttr "mgear_curveCns412GroupId.id" "mgear_curveCns412GroupParts.gi"; -connectAttr "groupId8689.msg" "tweakSet560.gn" -na; -connectAttr "shoulder_L0_crvShape.iog.og[1]" "tweakSet560.dsm" -na; -connectAttr "tweak560.msg" "tweakSet560.ub[0]"; -connectAttr "shoulder_L0_crvShapeOrig.ws" "groupParts1120.ig"; -connectAttr "groupId8689.id" "groupParts1120.gi"; -connectAttr "mgear_curveCns413GroupParts.og" "mgear_curveCns413.ip[0].ig"; -connectAttr "mgear_curveCns413GroupId.id" "mgear_curveCns413.ip[0].gi"; -connectAttr "arm_L0_root.wm" "mgear_curveCns413.inputs[0]"; -connectAttr "arm_L0_elbow.wm" "mgear_curveCns413.inputs[1]"; -connectAttr "arm_L0_wrist.wm" "mgear_curveCns413.inputs[2]"; -connectAttr "arm_L0_eff.wm" "mgear_curveCns413.inputs[3]"; -connectAttr "groupParts1122.og" "tweak561.ip[0].ig"; -connectAttr "groupId8691.id" "tweak561.ip[0].gi"; -connectAttr "mgear_curveCns413GroupId.msg" "mgear_curveCns413Set.gn" -na; -connectAttr "arm_L0_crvShape.iog.og[0]" "mgear_curveCns413Set.dsm" -na; -connectAttr "mgear_curveCns413.msg" "mgear_curveCns413Set.ub[0]"; -connectAttr "tweak561.og[0]" "mgear_curveCns413GroupParts.ig"; -connectAttr "mgear_curveCns413GroupId.id" "mgear_curveCns413GroupParts.gi"; -connectAttr "groupId8691.msg" "tweakSet561.gn" -na; -connectAttr "arm_L0_crvShape.iog.og[1]" "tweakSet561.dsm" -na; -connectAttr "tweak561.msg" "tweakSet561.ub[0]"; -connectAttr "arm_L0_crvShapeOrig.ws" "groupParts1122.ig"; -connectAttr "groupId8691.id" "groupParts1122.gi"; -connectAttr "meta_L0_blade.bladeRollOffset" "unitConversion133.i"; -connectAttr "mgear_curveCns414GroupParts.og" "mgear_curveCns414.ip[0].ig"; -connectAttr "mgear_curveCns414GroupId.id" "mgear_curveCns414.ip[0].gi"; -connectAttr "meta_L0_root.wm" "mgear_curveCns414.inputs[0]"; -connectAttr "meta_L0_0_loc.wm" "mgear_curveCns414.inputs[1]"; -connectAttr "meta_L0_1_loc.wm" "mgear_curveCns414.inputs[2]"; -connectAttr "meta_L0_2_loc.wm" "mgear_curveCns414.inputs[3]"; -connectAttr "groupParts1124.og" "tweak562.ip[0].ig"; -connectAttr "groupId8693.id" "tweak562.ip[0].gi"; -connectAttr "mgear_curveCns414GroupId.msg" "mgear_curveCns414Set.gn" -na; -connectAttr "meta_L0_crvShape.iog.og[0]" "mgear_curveCns414Set.dsm" -na; -connectAttr "mgear_curveCns414.msg" "mgear_curveCns414Set.ub[0]"; -connectAttr "tweak562.og[0]" "mgear_curveCns414GroupParts.ig"; -connectAttr "mgear_curveCns414GroupId.id" "mgear_curveCns414GroupParts.gi"; -connectAttr "groupId8693.msg" "tweakSet562.gn" -na; -connectAttr "meta_L0_crvShape.iog.og[1]" "tweakSet562.dsm" -na; -connectAttr "tweak562.msg" "tweakSet562.ub[0]"; -connectAttr "meta_L0_crvShapeOrig.ws" "groupParts1124.ig"; -connectAttr "groupId8693.id" "groupParts1124.gi"; -connectAttr "finger_L3_blade.bladeRollOffset" "unitConversion134.i"; -connectAttr "mgear_curveCns415GroupParts.og" "mgear_curveCns415.ip[0].ig"; -connectAttr "mgear_curveCns415GroupId.id" "mgear_curveCns415.ip[0].gi"; -connectAttr "finger_L3_root.wm" "mgear_curveCns415.inputs[0]"; -connectAttr "finger_L3_0_loc.wm" "mgear_curveCns415.inputs[1]"; -connectAttr "finger_L3_1_loc.wm" "mgear_curveCns415.inputs[2]"; -connectAttr "finger_L3_2_loc.wm" "mgear_curveCns415.inputs[3]"; -connectAttr "groupParts1126.og" "tweak563.ip[0].ig"; -connectAttr "groupId8695.id" "tweak563.ip[0].gi"; -connectAttr "mgear_curveCns415GroupId.msg" "mgear_curveCns415Set.gn" -na; -connectAttr "finger_L3_crvShape.iog.og[0]" "mgear_curveCns415Set.dsm" -na; -connectAttr "mgear_curveCns415.msg" "mgear_curveCns415Set.ub[0]"; -connectAttr "tweak563.og[0]" "mgear_curveCns415GroupParts.ig"; -connectAttr "mgear_curveCns415GroupId.id" "mgear_curveCns415GroupParts.gi"; -connectAttr "groupId8695.msg" "tweakSet563.gn" -na; -connectAttr "finger_L3_crvShape.iog.og[1]" "tweakSet563.dsm" -na; -connectAttr "tweak563.msg" "tweakSet563.ub[0]"; -connectAttr "finger_L3_crvShapeOrig.ws" "groupParts1126.ig"; -connectAttr "groupId8695.id" "groupParts1126.gi"; -connectAttr "finger_L2_blade.bladeRollOffset" "unitConversion135.i"; -connectAttr "mgear_curveCns416GroupParts.og" "mgear_curveCns416.ip[0].ig"; -connectAttr "mgear_curveCns416GroupId.id" "mgear_curveCns416.ip[0].gi"; -connectAttr "finger_L2_root.wm" "mgear_curveCns416.inputs[0]"; -connectAttr "finger_L2_0_loc.wm" "mgear_curveCns416.inputs[1]"; -connectAttr "finger_L2_1_loc.wm" "mgear_curveCns416.inputs[2]"; -connectAttr "finger_L2_2_loc.wm" "mgear_curveCns416.inputs[3]"; -connectAttr "groupParts1128.og" "tweak564.ip[0].ig"; -connectAttr "groupId8697.id" "tweak564.ip[0].gi"; -connectAttr "mgear_curveCns416GroupId.msg" "mgear_curveCns416Set.gn" -na; -connectAttr "finger_L2_crvShape.iog.og[0]" "mgear_curveCns416Set.dsm" -na; -connectAttr "mgear_curveCns416.msg" "mgear_curveCns416Set.ub[0]"; -connectAttr "tweak564.og[0]" "mgear_curveCns416GroupParts.ig"; -connectAttr "mgear_curveCns416GroupId.id" "mgear_curveCns416GroupParts.gi"; -connectAttr "groupId8697.msg" "tweakSet564.gn" -na; -connectAttr "finger_L2_crvShape.iog.og[1]" "tweakSet564.dsm" -na; -connectAttr "tweak564.msg" "tweakSet564.ub[0]"; -connectAttr "finger_L2_crvShapeOrig.ws" "groupParts1128.ig"; -connectAttr "groupId8697.id" "groupParts1128.gi"; -connectAttr "finger_L1_blade.bladeRollOffset" "unitConversion136.i"; -connectAttr "mgear_curveCns417GroupParts.og" "mgear_curveCns417.ip[0].ig"; -connectAttr "mgear_curveCns417GroupId.id" "mgear_curveCns417.ip[0].gi"; -connectAttr "finger_L1_root.wm" "mgear_curveCns417.inputs[0]"; -connectAttr "finger_L1_0_loc.wm" "mgear_curveCns417.inputs[1]"; -connectAttr "finger_L1_1_loc.wm" "mgear_curveCns417.inputs[2]"; -connectAttr "finger_L1_2_loc.wm" "mgear_curveCns417.inputs[3]"; -connectAttr "groupParts1130.og" "tweak565.ip[0].ig"; -connectAttr "groupId8699.id" "tweak565.ip[0].gi"; -connectAttr "mgear_curveCns417GroupId.msg" "mgear_curveCns417Set.gn" -na; -connectAttr "finger_L1_crvShape.iog.og[0]" "mgear_curveCns417Set.dsm" -na; -connectAttr "mgear_curveCns417.msg" "mgear_curveCns417Set.ub[0]"; -connectAttr "tweak565.og[0]" "mgear_curveCns417GroupParts.ig"; -connectAttr "mgear_curveCns417GroupId.id" "mgear_curveCns417GroupParts.gi"; -connectAttr "groupId8699.msg" "tweakSet565.gn" -na; -connectAttr "finger_L1_crvShape.iog.og[1]" "tweakSet565.dsm" -na; -connectAttr "tweak565.msg" "tweakSet565.ub[0]"; -connectAttr "finger_L1_crvShapeOrig.ws" "groupParts1130.ig"; -connectAttr "groupId8699.id" "groupParts1130.gi"; -connectAttr "finger_L0_blade.bladeRollOffset" "unitConversion137.i"; -connectAttr "mgear_curveCns418GroupParts.og" "mgear_curveCns418.ip[0].ig"; -connectAttr "mgear_curveCns418GroupId.id" "mgear_curveCns418.ip[0].gi"; -connectAttr "finger_L0_root.wm" "mgear_curveCns418.inputs[0]"; -connectAttr "finger_L0_0_loc.wm" "mgear_curveCns418.inputs[1]"; -connectAttr "finger_L0_1_loc.wm" "mgear_curveCns418.inputs[2]"; -connectAttr "finger_L0_2_loc.wm" "mgear_curveCns418.inputs[3]"; -connectAttr "groupParts1132.og" "tweak566.ip[0].ig"; -connectAttr "groupId8701.id" "tweak566.ip[0].gi"; -connectAttr "mgear_curveCns418GroupId.msg" "mgear_curveCns418Set.gn" -na; -connectAttr "finger_L0_crvShape.iog.og[0]" "mgear_curveCns418Set.dsm" -na; -connectAttr "mgear_curveCns418.msg" "mgear_curveCns418Set.ub[0]"; -connectAttr "tweak566.og[0]" "mgear_curveCns418GroupParts.ig"; -connectAttr "mgear_curveCns418GroupId.id" "mgear_curveCns418GroupParts.gi"; -connectAttr "groupId8701.msg" "tweakSet566.gn" -na; -connectAttr "finger_L0_crvShape.iog.og[1]" "tweakSet566.dsm" -na; -connectAttr "tweak566.msg" "tweakSet566.ub[0]"; -connectAttr "finger_L0_crvShapeOrig.ws" "groupParts1132.ig"; -connectAttr "groupId8701.id" "groupParts1132.gi"; -connectAttr "thumb_L0_blade.bladeRollOffset" "unitConversion138.i"; -connectAttr "mgear_curveCns419GroupParts.og" "mgear_curveCns419.ip[0].ig"; -connectAttr "mgear_curveCns419GroupId.id" "mgear_curveCns419.ip[0].gi"; -connectAttr "thumb_L0_root.wm" "mgear_curveCns419.inputs[0]"; -connectAttr "thumb_L0_0_loc.wm" "mgear_curveCns419.inputs[1]"; -connectAttr "thumb_L0_1_loc.wm" "mgear_curveCns419.inputs[2]"; -connectAttr "thumb_L0_2_loc.wm" "mgear_curveCns419.inputs[3]"; -connectAttr "groupParts1134.og" "tweak567.ip[0].ig"; -connectAttr "groupId8703.id" "tweak567.ip[0].gi"; -connectAttr "mgear_curveCns419GroupId.msg" "mgear_curveCns419Set.gn" -na; -connectAttr "thumb_L0_crvShape.iog.og[0]" "mgear_curveCns419Set.dsm" -na; -connectAttr "mgear_curveCns419.msg" "mgear_curveCns419Set.ub[0]"; -connectAttr "tweak567.og[0]" "mgear_curveCns419GroupParts.ig"; -connectAttr "mgear_curveCns419GroupId.id" "mgear_curveCns419GroupParts.gi"; -connectAttr "groupId8703.msg" "tweakSet567.gn" -na; -connectAttr "thumb_L0_crvShape.iog.og[1]" "tweakSet567.dsm" -na; -connectAttr "tweak567.msg" "tweakSet567.ub[0]"; -connectAttr "thumb_L0_crvShapeOrig.ws" "groupParts1134.ig"; -connectAttr "groupId8703.id" "groupParts1134.gi"; -connectAttr "neck_C0_blade.bladeRollOffset" "unitConversion139.i"; -connectAttr "mgear_curveCns420GroupParts.og" "mgear_curveCns420.ip[0].ig"; -connectAttr "mgear_curveCns420GroupId.id" "mgear_curveCns420.ip[0].gi"; -connectAttr "neck_C0_root.wm" "mgear_curveCns420.inputs[0]"; -connectAttr "neck_C0_tan0.wm" "mgear_curveCns420.inputs[1]"; -connectAttr "neck_C0_tan1.wm" "mgear_curveCns420.inputs[2]"; -connectAttr "neck_C0_neck.wm" "mgear_curveCns420.inputs[3]"; -connectAttr "groupParts1136.og" "tweak568.ip[0].ig"; -connectAttr "groupId8705.id" "tweak568.ip[0].gi"; -connectAttr "mgear_curveCns420GroupId.msg" "mgear_curveCns420Set.gn" -na; -connectAttr "neck_C0_neck_crvShape.iog.og[0]" "mgear_curveCns420Set.dsm" -na; -connectAttr "mgear_curveCns420.msg" "mgear_curveCns420Set.ub[0]"; -connectAttr "tweak568.og[0]" "mgear_curveCns420GroupParts.ig"; -connectAttr "mgear_curveCns420GroupId.id" "mgear_curveCns420GroupParts.gi"; -connectAttr "groupId8705.msg" "tweakSet568.gn" -na; -connectAttr "neck_C0_neck_crvShape.iog.og[1]" "tweakSet568.dsm" -na; -connectAttr "tweak568.msg" "tweakSet568.ub[0]"; -connectAttr "neck_C0_neck_crvShapeOrig.ws" "groupParts1136.ig"; -connectAttr "groupId8705.id" "groupParts1136.gi"; -connectAttr "mgear_curveCns421GroupParts.og" "mgear_curveCns421.ip[0].ig"; -connectAttr "mgear_curveCns421GroupId.id" "mgear_curveCns421.ip[0].gi"; -connectAttr "neck_C0_neck.wm" "mgear_curveCns421.inputs[0]"; -connectAttr "neck_C0_head.wm" "mgear_curveCns421.inputs[1]"; -connectAttr "neck_C0_eff.wm" "mgear_curveCns421.inputs[2]"; -connectAttr "groupParts1138.og" "tweak569.ip[0].ig"; -connectAttr "groupId8707.id" "tweak569.ip[0].gi"; -connectAttr "mgear_curveCns421GroupId.msg" "mgear_curveCns421Set.gn" -na; -connectAttr "neck_C0_head_crvShape.iog.og[0]" "mgear_curveCns421Set.dsm" -na; -connectAttr "mgear_curveCns421.msg" "mgear_curveCns421Set.ub[0]"; -connectAttr "tweak569.og[0]" "mgear_curveCns421GroupParts.ig"; -connectAttr "mgear_curveCns421GroupId.id" "mgear_curveCns421GroupParts.gi"; -connectAttr "groupId8707.msg" "tweakSet569.gn" -na; -connectAttr "neck_C0_head_crvShape.iog.og[1]" "tweakSet569.dsm" -na; -connectAttr "tweak569.msg" "tweakSet569.ub[0]"; -connectAttr "neck_C0_head_crvShapeOrig.ws" "groupParts1138.ig"; -connectAttr "groupId8707.id" "groupParts1138.gi"; -connectAttr "mgear_curveCns422GroupParts.og" "mgear_curveCns422.ip[0].ig"; -connectAttr "mgear_curveCns422GroupId.id" "mgear_curveCns422.ip[0].gi"; -connectAttr "mouth_C0_root.wm" "mgear_curveCns422.inputs[0]"; -connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns422.inputs[1]"; -connectAttr "groupParts1140.og" "tweak570.ip[0].ig"; -connectAttr "groupId8709.id" "tweak570.ip[0].gi"; -connectAttr "mgear_curveCns422GroupId.msg" "mgear_curveCns422Set.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns422Set.dsm" +connectAttr "spine_C0_blade.bladeRollOffset" "unitConversion148.i"; +connectAttr "mgear_curveCns451GroupParts.og" "mgear_curveCns451.ip[0].ig"; +connectAttr "mgear_curveCns451GroupId.id" "mgear_curveCns451.ip[0].gi"; +connectAttr "spine_C0_root.wm" "mgear_curveCns451.inputs[0]"; +connectAttr "spine_C0_eff.wm" "mgear_curveCns451.inputs[1]"; +connectAttr "groupParts1198.og" "tweak599.ip[0].ig"; +connectAttr "groupId8767.id" "tweak599.ip[0].gi"; +connectAttr "mgear_curveCns451GroupId.msg" "mgear_curveCns451Set.gn" -na; +connectAttr "spine_C0_crvShape.iog.og[0]" "mgear_curveCns451Set.dsm" -na; +connectAttr "mgear_curveCns451.msg" "mgear_curveCns451Set.ub[0]"; +connectAttr "tweak599.og[0]" "mgear_curveCns451GroupParts.ig"; +connectAttr "mgear_curveCns451GroupId.id" "mgear_curveCns451GroupParts.gi"; +connectAttr "groupId8767.msg" "tweakSet599.gn" -na; +connectAttr "spine_C0_crvShape.iog.og[1]" "tweakSet599.dsm" -na; +connectAttr "tweak599.msg" "tweakSet599.ub[0]"; +connectAttr "spine_C0_crvShapeOrig.ws" "groupParts1198.ig"; +connectAttr "groupId8767.id" "groupParts1198.gi"; +connectAttr "shoulder_L0_blade.bladeRollOffset" "unitConversion149.i"; +connectAttr "mgear_curveCns452GroupParts.og" "mgear_curveCns452.ip[0].ig"; +connectAttr "mgear_curveCns452GroupId.id" "mgear_curveCns452.ip[0].gi"; +connectAttr "shoulder_L0_root.wm" "mgear_curveCns452.inputs[0]"; +connectAttr "shoulder_L0_tip.wm" "mgear_curveCns452.inputs[1]"; +connectAttr "groupParts1200.og" "tweak600.ip[0].ig"; +connectAttr "groupId8769.id" "tweak600.ip[0].gi"; +connectAttr "mgear_curveCns452GroupId.msg" "mgear_curveCns452Set.gn" -na; +connectAttr "shoulder_L0_crvShape.iog.og[0]" "mgear_curveCns452Set.dsm" -na; +connectAttr "mgear_curveCns452.msg" "mgear_curveCns452Set.ub[0]"; +connectAttr "tweak600.og[0]" "mgear_curveCns452GroupParts.ig"; +connectAttr "mgear_curveCns452GroupId.id" "mgear_curveCns452GroupParts.gi"; +connectAttr "groupId8769.msg" "tweakSet600.gn" -na; +connectAttr "shoulder_L0_crvShape.iog.og[1]" "tweakSet600.dsm" -na; +connectAttr "tweak600.msg" "tweakSet600.ub[0]"; +connectAttr "shoulder_L0_crvShapeOrig.ws" "groupParts1200.ig"; +connectAttr "groupId8769.id" "groupParts1200.gi"; +connectAttr "mgear_curveCns453GroupParts.og" "mgear_curveCns453.ip[0].ig"; +connectAttr "mgear_curveCns453GroupId.id" "mgear_curveCns453.ip[0].gi"; +connectAttr "arm_L0_root.wm" "mgear_curveCns453.inputs[0]"; +connectAttr "arm_L0_elbow.wm" "mgear_curveCns453.inputs[1]"; +connectAttr "arm_L0_wrist.wm" "mgear_curveCns453.inputs[2]"; +connectAttr "arm_L0_eff.wm" "mgear_curveCns453.inputs[3]"; +connectAttr "groupParts1202.og" "tweak601.ip[0].ig"; +connectAttr "groupId8771.id" "tweak601.ip[0].gi"; +connectAttr "mgear_curveCns453GroupId.msg" "mgear_curveCns453Set.gn" -na; +connectAttr "arm_L0_crvShape.iog.og[0]" "mgear_curveCns453Set.dsm" -na; +connectAttr "mgear_curveCns453.msg" "mgear_curveCns453Set.ub[0]"; +connectAttr "tweak601.og[0]" "mgear_curveCns453GroupParts.ig"; +connectAttr "mgear_curveCns453GroupId.id" "mgear_curveCns453GroupParts.gi"; +connectAttr "groupId8771.msg" "tweakSet601.gn" -na; +connectAttr "arm_L0_crvShape.iog.og[1]" "tweakSet601.dsm" -na; +connectAttr "tweak601.msg" "tweakSet601.ub[0]"; +connectAttr "arm_L0_crvShapeOrig.ws" "groupParts1202.ig"; +connectAttr "groupId8771.id" "groupParts1202.gi"; +connectAttr "meta_L0_blade.bladeRollOffset" "unitConversion150.i"; +connectAttr "mgear_curveCns454GroupParts.og" "mgear_curveCns454.ip[0].ig"; +connectAttr "mgear_curveCns454GroupId.id" "mgear_curveCns454.ip[0].gi"; +connectAttr "meta_L0_root.wm" "mgear_curveCns454.inputs[0]"; +connectAttr "meta_L0_0_loc.wm" "mgear_curveCns454.inputs[1]"; +connectAttr "meta_L0_1_loc.wm" "mgear_curveCns454.inputs[2]"; +connectAttr "meta_L0_2_loc.wm" "mgear_curveCns454.inputs[3]"; +connectAttr "groupParts1204.og" "tweak602.ip[0].ig"; +connectAttr "groupId8773.id" "tweak602.ip[0].gi"; +connectAttr "mgear_curveCns454GroupId.msg" "mgear_curveCns454Set.gn" -na; +connectAttr "meta_L0_crvShape.iog.og[0]" "mgear_curveCns454Set.dsm" -na; +connectAttr "mgear_curveCns454.msg" "mgear_curveCns454Set.ub[0]"; +connectAttr "tweak602.og[0]" "mgear_curveCns454GroupParts.ig"; +connectAttr "mgear_curveCns454GroupId.id" "mgear_curveCns454GroupParts.gi"; +connectAttr "groupId8773.msg" "tweakSet602.gn" -na; +connectAttr "meta_L0_crvShape.iog.og[1]" "tweakSet602.dsm" -na; +connectAttr "tweak602.msg" "tweakSet602.ub[0]"; +connectAttr "meta_L0_crvShapeOrig.ws" "groupParts1204.ig"; +connectAttr "groupId8773.id" "groupParts1204.gi"; +connectAttr "finger_L3_blade.bladeRollOffset" "unitConversion151.i"; +connectAttr "mgear_curveCns455GroupParts.og" "mgear_curveCns455.ip[0].ig"; +connectAttr "mgear_curveCns455GroupId.id" "mgear_curveCns455.ip[0].gi"; +connectAttr "finger_L3_root.wm" "mgear_curveCns455.inputs[0]"; +connectAttr "finger_L3_0_loc.wm" "mgear_curveCns455.inputs[1]"; +connectAttr "finger_L3_1_loc.wm" "mgear_curveCns455.inputs[2]"; +connectAttr "finger_L3_2_loc.wm" "mgear_curveCns455.inputs[3]"; +connectAttr "groupParts1206.og" "tweak603.ip[0].ig"; +connectAttr "groupId8775.id" "tweak603.ip[0].gi"; +connectAttr "mgear_curveCns455GroupId.msg" "mgear_curveCns455Set.gn" -na; +connectAttr "finger_L3_crvShape.iog.og[0]" "mgear_curveCns455Set.dsm" -na; +connectAttr "mgear_curveCns455.msg" "mgear_curveCns455Set.ub[0]"; +connectAttr "tweak603.og[0]" "mgear_curveCns455GroupParts.ig"; +connectAttr "mgear_curveCns455GroupId.id" "mgear_curveCns455GroupParts.gi"; +connectAttr "groupId8775.msg" "tweakSet603.gn" -na; +connectAttr "finger_L3_crvShape.iog.og[1]" "tweakSet603.dsm" -na; +connectAttr "tweak603.msg" "tweakSet603.ub[0]"; +connectAttr "finger_L3_crvShapeOrig.ws" "groupParts1206.ig"; +connectAttr "groupId8775.id" "groupParts1206.gi"; +connectAttr "finger_L2_blade.bladeRollOffset" "unitConversion152.i"; +connectAttr "mgear_curveCns456GroupParts.og" "mgear_curveCns456.ip[0].ig"; +connectAttr "mgear_curveCns456GroupId.id" "mgear_curveCns456.ip[0].gi"; +connectAttr "finger_L2_root.wm" "mgear_curveCns456.inputs[0]"; +connectAttr "finger_L2_0_loc.wm" "mgear_curveCns456.inputs[1]"; +connectAttr "finger_L2_1_loc.wm" "mgear_curveCns456.inputs[2]"; +connectAttr "finger_L2_2_loc.wm" "mgear_curveCns456.inputs[3]"; +connectAttr "groupParts1208.og" "tweak604.ip[0].ig"; +connectAttr "groupId8777.id" "tweak604.ip[0].gi"; +connectAttr "mgear_curveCns456GroupId.msg" "mgear_curveCns456Set.gn" -na; +connectAttr "finger_L2_crvShape.iog.og[0]" "mgear_curveCns456Set.dsm" -na; +connectAttr "mgear_curveCns456.msg" "mgear_curveCns456Set.ub[0]"; +connectAttr "tweak604.og[0]" "mgear_curveCns456GroupParts.ig"; +connectAttr "mgear_curveCns456GroupId.id" "mgear_curveCns456GroupParts.gi"; +connectAttr "groupId8777.msg" "tweakSet604.gn" -na; +connectAttr "finger_L2_crvShape.iog.og[1]" "tweakSet604.dsm" -na; +connectAttr "tweak604.msg" "tweakSet604.ub[0]"; +connectAttr "finger_L2_crvShapeOrig.ws" "groupParts1208.ig"; +connectAttr "groupId8777.id" "groupParts1208.gi"; +connectAttr "finger_L1_blade.bladeRollOffset" "unitConversion153.i"; +connectAttr "mgear_curveCns457GroupParts.og" "mgear_curveCns457.ip[0].ig"; +connectAttr "mgear_curveCns457GroupId.id" "mgear_curveCns457.ip[0].gi"; +connectAttr "finger_L1_root.wm" "mgear_curveCns457.inputs[0]"; +connectAttr "finger_L1_0_loc.wm" "mgear_curveCns457.inputs[1]"; +connectAttr "finger_L1_1_loc.wm" "mgear_curveCns457.inputs[2]"; +connectAttr "finger_L1_2_loc.wm" "mgear_curveCns457.inputs[3]"; +connectAttr "groupParts1210.og" "tweak605.ip[0].ig"; +connectAttr "groupId8779.id" "tweak605.ip[0].gi"; +connectAttr "mgear_curveCns457GroupId.msg" "mgear_curveCns457Set.gn" -na; +connectAttr "finger_L1_crvShape.iog.og[0]" "mgear_curveCns457Set.dsm" -na; +connectAttr "mgear_curveCns457.msg" "mgear_curveCns457Set.ub[0]"; +connectAttr "tweak605.og[0]" "mgear_curveCns457GroupParts.ig"; +connectAttr "mgear_curveCns457GroupId.id" "mgear_curveCns457GroupParts.gi"; +connectAttr "groupId8779.msg" "tweakSet605.gn" -na; +connectAttr "finger_L1_crvShape.iog.og[1]" "tweakSet605.dsm" -na; +connectAttr "tweak605.msg" "tweakSet605.ub[0]"; +connectAttr "finger_L1_crvShapeOrig.ws" "groupParts1210.ig"; +connectAttr "groupId8779.id" "groupParts1210.gi"; +connectAttr "finger_L0_blade.bladeRollOffset" "unitConversion154.i"; +connectAttr "mgear_curveCns458GroupParts.og" "mgear_curveCns458.ip[0].ig"; +connectAttr "mgear_curveCns458GroupId.id" "mgear_curveCns458.ip[0].gi"; +connectAttr "finger_L0_root.wm" "mgear_curveCns458.inputs[0]"; +connectAttr "finger_L0_0_loc.wm" "mgear_curveCns458.inputs[1]"; +connectAttr "finger_L0_1_loc.wm" "mgear_curveCns458.inputs[2]"; +connectAttr "finger_L0_2_loc.wm" "mgear_curveCns458.inputs[3]"; +connectAttr "groupParts1212.og" "tweak606.ip[0].ig"; +connectAttr "groupId8781.id" "tweak606.ip[0].gi"; +connectAttr "mgear_curveCns458GroupId.msg" "mgear_curveCns458Set.gn" -na; +connectAttr "finger_L0_crvShape.iog.og[0]" "mgear_curveCns458Set.dsm" -na; +connectAttr "mgear_curveCns458.msg" "mgear_curveCns458Set.ub[0]"; +connectAttr "tweak606.og[0]" "mgear_curveCns458GroupParts.ig"; +connectAttr "mgear_curveCns458GroupId.id" "mgear_curveCns458GroupParts.gi"; +connectAttr "groupId8781.msg" "tweakSet606.gn" -na; +connectAttr "finger_L0_crvShape.iog.og[1]" "tweakSet606.dsm" -na; +connectAttr "tweak606.msg" "tweakSet606.ub[0]"; +connectAttr "finger_L0_crvShapeOrig.ws" "groupParts1212.ig"; +connectAttr "groupId8781.id" "groupParts1212.gi"; +connectAttr "thumb_L0_blade.bladeRollOffset" "unitConversion155.i"; +connectAttr "mgear_curveCns459GroupParts.og" "mgear_curveCns459.ip[0].ig"; +connectAttr "mgear_curveCns459GroupId.id" "mgear_curveCns459.ip[0].gi"; +connectAttr "thumb_L0_root.wm" "mgear_curveCns459.inputs[0]"; +connectAttr "thumb_L0_0_loc.wm" "mgear_curveCns459.inputs[1]"; +connectAttr "thumb_L0_1_loc.wm" "mgear_curveCns459.inputs[2]"; +connectAttr "thumb_L0_2_loc.wm" "mgear_curveCns459.inputs[3]"; +connectAttr "groupParts1214.og" "tweak607.ip[0].ig"; +connectAttr "groupId8783.id" "tweak607.ip[0].gi"; +connectAttr "mgear_curveCns459GroupId.msg" "mgear_curveCns459Set.gn" -na; +connectAttr "thumb_L0_crvShape.iog.og[0]" "mgear_curveCns459Set.dsm" -na; +connectAttr "mgear_curveCns459.msg" "mgear_curveCns459Set.ub[0]"; +connectAttr "tweak607.og[0]" "mgear_curveCns459GroupParts.ig"; +connectAttr "mgear_curveCns459GroupId.id" "mgear_curveCns459GroupParts.gi"; +connectAttr "groupId8783.msg" "tweakSet607.gn" -na; +connectAttr "thumb_L0_crvShape.iog.og[1]" "tweakSet607.dsm" -na; +connectAttr "tweak607.msg" "tweakSet607.ub[0]"; +connectAttr "thumb_L0_crvShapeOrig.ws" "groupParts1214.ig"; +connectAttr "groupId8783.id" "groupParts1214.gi"; +connectAttr "neck_C0_blade.bladeRollOffset" "unitConversion156.i"; +connectAttr "mgear_curveCns460GroupParts.og" "mgear_curveCns460.ip[0].ig"; +connectAttr "mgear_curveCns460GroupId.id" "mgear_curveCns460.ip[0].gi"; +connectAttr "neck_C0_root.wm" "mgear_curveCns460.inputs[0]"; +connectAttr "neck_C0_tan0.wm" "mgear_curveCns460.inputs[1]"; +connectAttr "neck_C0_tan1.wm" "mgear_curveCns460.inputs[2]"; +connectAttr "neck_C0_neck.wm" "mgear_curveCns460.inputs[3]"; +connectAttr "groupParts1216.og" "tweak608.ip[0].ig"; +connectAttr "groupId8785.id" "tweak608.ip[0].gi"; +connectAttr "mgear_curveCns460GroupId.msg" "mgear_curveCns460Set.gn" -na; +connectAttr "neck_C0_neck_crvShape.iog.og[0]" "mgear_curveCns460Set.dsm" -na; +connectAttr "mgear_curveCns460.msg" "mgear_curveCns460Set.ub[0]"; +connectAttr "tweak608.og[0]" "mgear_curveCns460GroupParts.ig"; +connectAttr "mgear_curveCns460GroupId.id" "mgear_curveCns460GroupParts.gi"; +connectAttr "groupId8785.msg" "tweakSet608.gn" -na; +connectAttr "neck_C0_neck_crvShape.iog.og[1]" "tweakSet608.dsm" -na; +connectAttr "tweak608.msg" "tweakSet608.ub[0]"; +connectAttr "neck_C0_neck_crvShapeOrig.ws" "groupParts1216.ig"; +connectAttr "groupId8785.id" "groupParts1216.gi"; +connectAttr "mgear_curveCns461GroupParts.og" "mgear_curveCns461.ip[0].ig"; +connectAttr "mgear_curveCns461GroupId.id" "mgear_curveCns461.ip[0].gi"; +connectAttr "neck_C0_neck.wm" "mgear_curveCns461.inputs[0]"; +connectAttr "neck_C0_head.wm" "mgear_curveCns461.inputs[1]"; +connectAttr "neck_C0_eff.wm" "mgear_curveCns461.inputs[2]"; +connectAttr "groupParts1218.og" "tweak609.ip[0].ig"; +connectAttr "groupId8787.id" "tweak609.ip[0].gi"; +connectAttr "mgear_curveCns461GroupId.msg" "mgear_curveCns461Set.gn" -na; +connectAttr "neck_C0_head_crvShape.iog.og[0]" "mgear_curveCns461Set.dsm" -na; +connectAttr "mgear_curveCns461.msg" "mgear_curveCns461Set.ub[0]"; +connectAttr "tweak609.og[0]" "mgear_curveCns461GroupParts.ig"; +connectAttr "mgear_curveCns461GroupId.id" "mgear_curveCns461GroupParts.gi"; +connectAttr "groupId8787.msg" "tweakSet609.gn" -na; +connectAttr "neck_C0_head_crvShape.iog.og[1]" "tweakSet609.dsm" -na; +connectAttr "tweak609.msg" "tweakSet609.ub[0]"; +connectAttr "neck_C0_head_crvShapeOrig.ws" "groupParts1218.ig"; +connectAttr "groupId8787.id" "groupParts1218.gi"; +connectAttr "mgear_curveCns462GroupParts.og" "mgear_curveCns462.ip[0].ig"; +connectAttr "mgear_curveCns462GroupId.id" "mgear_curveCns462.ip[0].gi"; +connectAttr "mouth_C0_root.wm" "mgear_curveCns462.inputs[0]"; +connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns462.inputs[1]"; +connectAttr "groupParts1220.og" "tweak610.ip[0].ig"; +connectAttr "groupId8789.id" "tweak610.ip[0].gi"; +connectAttr "mgear_curveCns462GroupId.msg" "mgear_curveCns462Set.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns462Set.dsm" -na; -connectAttr "mgear_curveCns422.msg" "mgear_curveCns422Set.ub[0]"; -connectAttr "tweak570.og[0]" "mgear_curveCns422GroupParts.ig"; -connectAttr "mgear_curveCns422GroupId.id" "mgear_curveCns422GroupParts.gi"; -connectAttr "groupId8709.msg" "tweakSet570.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet570.dsm" +connectAttr "mgear_curveCns462.msg" "mgear_curveCns462Set.ub[0]"; +connectAttr "tweak610.og[0]" "mgear_curveCns462GroupParts.ig"; +connectAttr "mgear_curveCns462GroupId.id" "mgear_curveCns462GroupParts.gi"; +connectAttr "groupId8789.msg" "tweakSet610.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet610.dsm" -na; -connectAttr "tweak570.msg" "tweakSet570.ub[0]"; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts1140.ig" - ; -connectAttr "groupId8709.id" "groupParts1140.gi"; -connectAttr "mgear_curveCns423GroupParts.og" "mgear_curveCns423.ip[0].ig"; -connectAttr "mgear_curveCns423GroupId.id" "mgear_curveCns423.ip[0].gi"; -connectAttr "mouth_C0_lipup.wm" "mgear_curveCns423.inputs[0]"; -connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns423.inputs[1]"; -connectAttr "groupParts1142.og" "tweak571.ip[0].ig"; -connectAttr "groupId8711.id" "tweak571.ip[0].gi"; -connectAttr "mgear_curveCns423GroupId.msg" "mgear_curveCns423Set.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns423Set.dsm" +connectAttr "tweak610.msg" "tweakSet610.ub[0]"; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts1220.ig" + ; +connectAttr "groupId8789.id" "groupParts1220.gi"; +connectAttr "mgear_curveCns463GroupParts.og" "mgear_curveCns463.ip[0].ig"; +connectAttr "mgear_curveCns463GroupId.id" "mgear_curveCns463.ip[0].gi"; +connectAttr "mouth_C0_lipup.wm" "mgear_curveCns463.inputs[0]"; +connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns463.inputs[1]"; +connectAttr "groupParts1222.og" "tweak611.ip[0].ig"; +connectAttr "groupId8791.id" "tweak611.ip[0].gi"; +connectAttr "mgear_curveCns463GroupId.msg" "mgear_curveCns463Set.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns463Set.dsm" -na; -connectAttr "mgear_curveCns423.msg" "mgear_curveCns423Set.ub[0]"; -connectAttr "tweak571.og[0]" "mgear_curveCns423GroupParts.ig"; -connectAttr "mgear_curveCns423GroupId.id" "mgear_curveCns423GroupParts.gi"; -connectAttr "groupId8711.msg" "tweakSet571.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet571.dsm" +connectAttr "mgear_curveCns463.msg" "mgear_curveCns463Set.ub[0]"; +connectAttr "tweak611.og[0]" "mgear_curveCns463GroupParts.ig"; +connectAttr "mgear_curveCns463GroupId.id" "mgear_curveCns463GroupParts.gi"; +connectAttr "groupId8791.msg" "tweakSet611.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet611.dsm" -na; -connectAttr "tweak571.msg" "tweakSet571.ub[0]"; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts1142.ig" - ; -connectAttr "groupId8711.id" "groupParts1142.gi"; -connectAttr "mgear_curveCns424GroupParts.og" "mgear_curveCns424.ip[0].ig"; -connectAttr "mgear_curveCns424GroupId.id" "mgear_curveCns424.ip[0].gi"; -connectAttr "mouth_C0_liplow.wm" "mgear_curveCns424.inputs[0]"; -connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns424.inputs[1]"; -connectAttr "groupParts1144.og" "tweak572.ip[0].ig"; -connectAttr "groupId8713.id" "tweak572.ip[0].gi"; -connectAttr "mgear_curveCns424GroupId.msg" "mgear_curveCns424Set.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns424Set.dsm" +connectAttr "tweak611.msg" "tweakSet611.ub[0]"; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts1222.ig" + ; +connectAttr "groupId8791.id" "groupParts1222.gi"; +connectAttr "mgear_curveCns464GroupParts.og" "mgear_curveCns464.ip[0].ig"; +connectAttr "mgear_curveCns464GroupId.id" "mgear_curveCns464.ip[0].gi"; +connectAttr "mouth_C0_liplow.wm" "mgear_curveCns464.inputs[0]"; +connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns464.inputs[1]"; +connectAttr "groupParts1224.og" "tweak612.ip[0].ig"; +connectAttr "groupId8793.id" "tweak612.ip[0].gi"; +connectAttr "mgear_curveCns464GroupId.msg" "mgear_curveCns464Set.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns464Set.dsm" -na; -connectAttr "mgear_curveCns424.msg" "mgear_curveCns424Set.ub[0]"; -connectAttr "tweak572.og[0]" "mgear_curveCns424GroupParts.ig"; -connectAttr "mgear_curveCns424GroupId.id" "mgear_curveCns424GroupParts.gi"; -connectAttr "groupId8713.msg" "tweakSet572.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet572.dsm" +connectAttr "mgear_curveCns464.msg" "mgear_curveCns464Set.ub[0]"; +connectAttr "tweak612.og[0]" "mgear_curveCns464GroupParts.ig"; +connectAttr "mgear_curveCns464GroupId.id" "mgear_curveCns464GroupParts.gi"; +connectAttr "groupId8793.msg" "tweakSet612.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet612.dsm" -na; -connectAttr "tweak572.msg" "tweakSet572.ub[0]"; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts1144.ig" - ; -connectAttr "groupId8713.id" "groupParts1144.gi"; -connectAttr "mgear_curveCns425GroupParts.og" "mgear_curveCns425.ip[0].ig"; -connectAttr "mgear_curveCns425GroupId.id" "mgear_curveCns425.ip[0].gi"; -connectAttr "mouth_C0_root.wm" "mgear_curveCns425.inputs[0]"; -connectAttr "mouth_C0_jaw.wm" "mgear_curveCns425.inputs[1]"; -connectAttr "groupParts1146.og" "tweak573.ip[0].ig"; -connectAttr "groupId8715.id" "tweak573.ip[0].gi"; -connectAttr "mgear_curveCns425GroupId.msg" "mgear_curveCns425Set.gn" -na; -connectAttr "mouth_C0_crv9Shape.iog.og[0]" "mgear_curveCns425Set.dsm" -na; -connectAttr "mgear_curveCns425.msg" "mgear_curveCns425Set.ub[0]"; -connectAttr "tweak573.og[0]" "mgear_curveCns425GroupParts.ig"; -connectAttr "mgear_curveCns425GroupId.id" "mgear_curveCns425GroupParts.gi"; -connectAttr "groupId8715.msg" "tweakSet573.gn" -na; -connectAttr "mouth_C0_crv9Shape.iog.og[1]" "tweakSet573.dsm" -na; -connectAttr "tweak573.msg" "tweakSet573.ub[0]"; -connectAttr "mouth_C0_crv9ShapeOrig.ws" "groupParts1146.ig"; -connectAttr "groupId8715.id" "groupParts1146.gi"; -connectAttr "tongue_C0_blade.bladeRollOffset" "unitConversion140.i"; -connectAttr "mgear_curveCns426GroupParts.og" "mgear_curveCns426.ip[0].ig"; -connectAttr "mgear_curveCns426GroupId.id" "mgear_curveCns426.ip[0].gi"; -connectAttr "tongue_C0_root.wm" "mgear_curveCns426.inputs[0]"; -connectAttr "tongue_C0_0_loc.wm" "mgear_curveCns426.inputs[1]"; -connectAttr "tongue_C0_1_loc.wm" "mgear_curveCns426.inputs[2]"; -connectAttr "tongue_C0_2_loc.wm" "mgear_curveCns426.inputs[3]"; -connectAttr "tongue_C0_3_loc.wm" "mgear_curveCns426.inputs[4]"; -connectAttr "groupParts1148.og" "tweak574.ip[0].ig"; -connectAttr "groupId8717.id" "tweak574.ip[0].gi"; -connectAttr "mgear_curveCns426GroupId.msg" "mgear_curveCns426Set.gn" -na; -connectAttr "tongue_C0_crvShape.iog.og[0]" "mgear_curveCns426Set.dsm" -na; -connectAttr "mgear_curveCns426.msg" "mgear_curveCns426Set.ub[0]"; -connectAttr "tweak574.og[0]" "mgear_curveCns426GroupParts.ig"; -connectAttr "mgear_curveCns426GroupId.id" "mgear_curveCns426GroupParts.gi"; -connectAttr "groupId8717.msg" "tweakSet574.gn" -na; -connectAttr "tongue_C0_crvShape.iog.og[1]" "tweakSet574.dsm" -na; -connectAttr "tweak574.msg" "tweakSet574.ub[0]"; -connectAttr "tongue_C0_crvShapeOrig.ws" "groupParts1148.ig"; -connectAttr "groupId8717.id" "groupParts1148.gi"; -connectAttr "mgear_curveCns427GroupParts.og" "mgear_curveCns427.ip[0].ig"; -connectAttr "mgear_curveCns427GroupId.id" "mgear_curveCns427.ip[0].gi"; -connectAttr "eye_R0_root.wm" "mgear_curveCns427.inputs[0]"; -connectAttr "eye_R0_look.wm" "mgear_curveCns427.inputs[1]"; -connectAttr "groupParts1150.og" "tweak575.ip[0].ig"; -connectAttr "groupId8719.id" "tweak575.ip[0].gi"; -connectAttr "mgear_curveCns427GroupId.msg" "mgear_curveCns427Set.gn" -na; -connectAttr "eye_R0_crvShape.iog.og[0]" "mgear_curveCns427Set.dsm" -na; -connectAttr "mgear_curveCns427.msg" "mgear_curveCns427Set.ub[0]"; -connectAttr "tweak575.og[0]" "mgear_curveCns427GroupParts.ig"; -connectAttr "mgear_curveCns427GroupId.id" "mgear_curveCns427GroupParts.gi"; -connectAttr "groupId8719.msg" "tweakSet575.gn" -na; -connectAttr "eye_R0_crvShape.iog.og[1]" "tweakSet575.dsm" -na; -connectAttr "tweak575.msg" "tweakSet575.ub[0]"; -connectAttr "eye_R0_crvShapeOrig.ws" "groupParts1150.ig"; -connectAttr "groupId8719.id" "groupParts1150.gi"; -connectAttr "mgear_curveCns428GroupParts.og" "mgear_curveCns428.ip[0].ig"; -connectAttr "mgear_curveCns428GroupId.id" "mgear_curveCns428.ip[0].gi"; -connectAttr "eye_L0_root.wm" "mgear_curveCns428.inputs[0]"; -connectAttr "eye_L0_look.wm" "mgear_curveCns428.inputs[1]"; -connectAttr "groupParts1152.og" "tweak576.ip[0].ig"; -connectAttr "groupId8721.id" "tweak576.ip[0].gi"; -connectAttr "mgear_curveCns428GroupId.msg" "mgear_curveCns428Set.gn" -na; -connectAttr "eye_L0_crvShape.iog.og[0]" "mgear_curveCns428Set.dsm" -na; -connectAttr "mgear_curveCns428.msg" "mgear_curveCns428Set.ub[0]"; -connectAttr "tweak576.og[0]" "mgear_curveCns428GroupParts.ig"; -connectAttr "mgear_curveCns428GroupId.id" "mgear_curveCns428GroupParts.gi"; -connectAttr "groupId8721.msg" "tweakSet576.gn" -na; -connectAttr "eye_L0_crvShape.iog.og[1]" "tweakSet576.dsm" -na; -connectAttr "tweak576.msg" "tweakSet576.ub[0]"; -connectAttr "eye_L0_crvShapeOrig.ws" "groupParts1152.ig"; -connectAttr "groupId8721.id" "groupParts1152.gi"; -connectAttr "shoulder_R0_blade.bladeRollOffset" "unitConversion141.i"; -connectAttr "mgear_curveCns429GroupParts.og" "mgear_curveCns429.ip[0].ig"; -connectAttr "mgear_curveCns429GroupId.id" "mgear_curveCns429.ip[0].gi"; -connectAttr "shoulder_R0_root.wm" "mgear_curveCns429.inputs[0]"; -connectAttr "shoulder_R0_tip.wm" "mgear_curveCns429.inputs[1]"; -connectAttr "groupParts1154.og" "tweak577.ip[0].ig"; -connectAttr "groupId8723.id" "tweak577.ip[0].gi"; -connectAttr "mgear_curveCns429GroupId.msg" "mgear_curveCns429Set.gn" -na; -connectAttr "shoulder_R0_crvShape.iog.og[0]" "mgear_curveCns429Set.dsm" -na; -connectAttr "mgear_curveCns429.msg" "mgear_curveCns429Set.ub[0]"; -connectAttr "tweak577.og[0]" "mgear_curveCns429GroupParts.ig"; -connectAttr "mgear_curveCns429GroupId.id" "mgear_curveCns429GroupParts.gi"; -connectAttr "groupId8723.msg" "tweakSet577.gn" -na; -connectAttr "shoulder_R0_crvShape.iog.og[1]" "tweakSet577.dsm" -na; -connectAttr "tweak577.msg" "tweakSet577.ub[0]"; -connectAttr "shoulder_R0_crvShapeOrig.ws" "groupParts1154.ig"; -connectAttr "groupId8723.id" "groupParts1154.gi"; -connectAttr "mgear_curveCns430GroupParts.og" "mgear_curveCns430.ip[0].ig"; -connectAttr "mgear_curveCns430GroupId.id" "mgear_curveCns430.ip[0].gi"; -connectAttr "arm_R0_root.wm" "mgear_curveCns430.inputs[0]"; -connectAttr "arm_R0_elbow.wm" "mgear_curveCns430.inputs[1]"; -connectAttr "arm_R0_wrist.wm" "mgear_curveCns430.inputs[2]"; -connectAttr "arm_R0_eff.wm" "mgear_curveCns430.inputs[3]"; -connectAttr "groupParts1156.og" "tweak578.ip[0].ig"; -connectAttr "groupId8725.id" "tweak578.ip[0].gi"; -connectAttr "mgear_curveCns430GroupId.msg" "mgear_curveCns430Set.gn" -na; -connectAttr "arm_R0_crvShape.iog.og[0]" "mgear_curveCns430Set.dsm" -na; -connectAttr "mgear_curveCns430.msg" "mgear_curveCns430Set.ub[0]"; -connectAttr "tweak578.og[0]" "mgear_curveCns430GroupParts.ig"; -connectAttr "mgear_curveCns430GroupId.id" "mgear_curveCns430GroupParts.gi"; -connectAttr "groupId8725.msg" "tweakSet578.gn" -na; -connectAttr "arm_R0_crvShape.iog.og[1]" "tweakSet578.dsm" -na; -connectAttr "tweak578.msg" "tweakSet578.ub[0]"; -connectAttr "arm_R0_crvShapeOrig.ws" "groupParts1156.ig"; -connectAttr "groupId8725.id" "groupParts1156.gi"; -connectAttr "meta_R0_blade.bladeRollOffset" "unitConversion142.i"; -connectAttr "mgear_curveCns431GroupParts.og" "mgear_curveCns431.ip[0].ig"; -connectAttr "mgear_curveCns431GroupId.id" "mgear_curveCns431.ip[0].gi"; -connectAttr "meta_R0_root.wm" "mgear_curveCns431.inputs[0]"; -connectAttr "meta_R0_0_loc.wm" "mgear_curveCns431.inputs[1]"; -connectAttr "meta_R0_1_loc.wm" "mgear_curveCns431.inputs[2]"; -connectAttr "meta_R0_2_loc.wm" "mgear_curveCns431.inputs[3]"; -connectAttr "groupParts1158.og" "tweak579.ip[0].ig"; -connectAttr "groupId8727.id" "tweak579.ip[0].gi"; -connectAttr "mgear_curveCns431GroupId.msg" "mgear_curveCns431Set.gn" -na; -connectAttr "meta_R0_crvShape.iog.og[0]" "mgear_curveCns431Set.dsm" -na; -connectAttr "mgear_curveCns431.msg" "mgear_curveCns431Set.ub[0]"; -connectAttr "tweak579.og[0]" "mgear_curveCns431GroupParts.ig"; -connectAttr "mgear_curveCns431GroupId.id" "mgear_curveCns431GroupParts.gi"; -connectAttr "groupId8727.msg" "tweakSet579.gn" -na; -connectAttr "meta_R0_crvShape.iog.og[1]" "tweakSet579.dsm" -na; -connectAttr "tweak579.msg" "tweakSet579.ub[0]"; -connectAttr "meta_R0_crvShapeOrig.ws" "groupParts1158.ig"; -connectAttr "groupId8727.id" "groupParts1158.gi"; -connectAttr "finger_R3_blade.bladeRollOffset" "unitConversion143.i"; -connectAttr "mgear_curveCns432GroupParts.og" "mgear_curveCns432.ip[0].ig"; -connectAttr "mgear_curveCns432GroupId.id" "mgear_curveCns432.ip[0].gi"; -connectAttr "finger_R3_root.wm" "mgear_curveCns432.inputs[0]"; -connectAttr "finger_R3_0_loc.wm" "mgear_curveCns432.inputs[1]"; -connectAttr "finger_R3_1_loc.wm" "mgear_curveCns432.inputs[2]"; -connectAttr "finger_R3_2_loc.wm" "mgear_curveCns432.inputs[3]"; -connectAttr "groupParts1160.og" "tweak580.ip[0].ig"; -connectAttr "groupId8729.id" "tweak580.ip[0].gi"; -connectAttr "mgear_curveCns432GroupId.msg" "mgear_curveCns432Set.gn" -na; -connectAttr "finger_R3_crvShape.iog.og[0]" "mgear_curveCns432Set.dsm" -na; -connectAttr "mgear_curveCns432.msg" "mgear_curveCns432Set.ub[0]"; -connectAttr "tweak580.og[0]" "mgear_curveCns432GroupParts.ig"; -connectAttr "mgear_curveCns432GroupId.id" "mgear_curveCns432GroupParts.gi"; -connectAttr "groupId8729.msg" "tweakSet580.gn" -na; -connectAttr "finger_R3_crvShape.iog.og[1]" "tweakSet580.dsm" -na; -connectAttr "tweak580.msg" "tweakSet580.ub[0]"; -connectAttr "finger_R3_crvShapeOrig.ws" "groupParts1160.ig"; -connectAttr "groupId8729.id" "groupParts1160.gi"; -connectAttr "finger_R2_blade.bladeRollOffset" "unitConversion144.i"; -connectAttr "mgear_curveCns433GroupParts.og" "mgear_curveCns433.ip[0].ig"; -connectAttr "mgear_curveCns433GroupId.id" "mgear_curveCns433.ip[0].gi"; -connectAttr "finger_R2_root.wm" "mgear_curveCns433.inputs[0]"; -connectAttr "finger_R2_0_loc.wm" "mgear_curveCns433.inputs[1]"; -connectAttr "finger_R2_1_loc.wm" "mgear_curveCns433.inputs[2]"; -connectAttr "finger_R2_2_loc.wm" "mgear_curveCns433.inputs[3]"; -connectAttr "groupParts1162.og" "tweak581.ip[0].ig"; -connectAttr "groupId8731.id" "tweak581.ip[0].gi"; -connectAttr "mgear_curveCns433GroupId.msg" "mgear_curveCns433Set.gn" -na; -connectAttr "finger_R2_crvShape.iog.og[0]" "mgear_curveCns433Set.dsm" -na; -connectAttr "mgear_curveCns433.msg" "mgear_curveCns433Set.ub[0]"; -connectAttr "tweak581.og[0]" "mgear_curveCns433GroupParts.ig"; -connectAttr "mgear_curveCns433GroupId.id" "mgear_curveCns433GroupParts.gi"; -connectAttr "groupId8731.msg" "tweakSet581.gn" -na; -connectAttr "finger_R2_crvShape.iog.og[1]" "tweakSet581.dsm" -na; -connectAttr "tweak581.msg" "tweakSet581.ub[0]"; -connectAttr "finger_R2_crvShapeOrig.ws" "groupParts1162.ig"; -connectAttr "groupId8731.id" "groupParts1162.gi"; -connectAttr "finger_R1_blade.bladeRollOffset" "unitConversion145.i"; -connectAttr "mgear_curveCns434GroupParts.og" "mgear_curveCns434.ip[0].ig"; -connectAttr "mgear_curveCns434GroupId.id" "mgear_curveCns434.ip[0].gi"; -connectAttr "finger_R1_root.wm" "mgear_curveCns434.inputs[0]"; -connectAttr "finger_R1_0_loc.wm" "mgear_curveCns434.inputs[1]"; -connectAttr "finger_R1_1_loc.wm" "mgear_curveCns434.inputs[2]"; -connectAttr "finger_R1_2_loc.wm" "mgear_curveCns434.inputs[3]"; -connectAttr "groupParts1164.og" "tweak582.ip[0].ig"; -connectAttr "groupId8733.id" "tweak582.ip[0].gi"; -connectAttr "mgear_curveCns434GroupId.msg" "mgear_curveCns434Set.gn" -na; -connectAttr "finger_R1_crvShape.iog.og[0]" "mgear_curveCns434Set.dsm" -na; -connectAttr "mgear_curveCns434.msg" "mgear_curveCns434Set.ub[0]"; -connectAttr "tweak582.og[0]" "mgear_curveCns434GroupParts.ig"; -connectAttr "mgear_curveCns434GroupId.id" "mgear_curveCns434GroupParts.gi"; -connectAttr "groupId8733.msg" "tweakSet582.gn" -na; -connectAttr "finger_R1_crvShape.iog.og[1]" "tweakSet582.dsm" -na; -connectAttr "tweak582.msg" "tweakSet582.ub[0]"; -connectAttr "finger_R1_crvShapeOrig.ws" "groupParts1164.ig"; -connectAttr "groupId8733.id" "groupParts1164.gi"; -connectAttr "finger_R0_blade.bladeRollOffset" "unitConversion146.i"; -connectAttr "mgear_curveCns435GroupParts.og" "mgear_curveCns435.ip[0].ig"; -connectAttr "mgear_curveCns435GroupId.id" "mgear_curveCns435.ip[0].gi"; -connectAttr "finger_R0_root.wm" "mgear_curveCns435.inputs[0]"; -connectAttr "finger_R0_0_loc.wm" "mgear_curveCns435.inputs[1]"; -connectAttr "finger_R0_1_loc.wm" "mgear_curveCns435.inputs[2]"; -connectAttr "finger_R0_2_loc.wm" "mgear_curveCns435.inputs[3]"; -connectAttr "groupParts1166.og" "tweak583.ip[0].ig"; -connectAttr "groupId8735.id" "tweak583.ip[0].gi"; -connectAttr "mgear_curveCns435GroupId.msg" "mgear_curveCns435Set.gn" -na; -connectAttr "finger_R0_crvShape.iog.og[0]" "mgear_curveCns435Set.dsm" -na; -connectAttr "mgear_curveCns435.msg" "mgear_curveCns435Set.ub[0]"; -connectAttr "tweak583.og[0]" "mgear_curveCns435GroupParts.ig"; -connectAttr "mgear_curveCns435GroupId.id" "mgear_curveCns435GroupParts.gi"; -connectAttr "groupId8735.msg" "tweakSet583.gn" -na; -connectAttr "finger_R0_crvShape.iog.og[1]" "tweakSet583.dsm" -na; -connectAttr "tweak583.msg" "tweakSet583.ub[0]"; -connectAttr "finger_R0_crvShapeOrig.ws" "groupParts1166.ig"; -connectAttr "groupId8735.id" "groupParts1166.gi"; -connectAttr "thumb_R0_blade.bladeRollOffset" "unitConversion147.i"; -connectAttr "mgear_curveCns436GroupParts.og" "mgear_curveCns436.ip[0].ig"; -connectAttr "mgear_curveCns436GroupId.id" "mgear_curveCns436.ip[0].gi"; -connectAttr "thumb_R0_root.wm" "mgear_curveCns436.inputs[0]"; -connectAttr "thumb_R0_0_loc.wm" "mgear_curveCns436.inputs[1]"; -connectAttr "thumb_R0_1_loc.wm" "mgear_curveCns436.inputs[2]"; -connectAttr "thumb_R0_2_loc.wm" "mgear_curveCns436.inputs[3]"; -connectAttr "groupParts1168.og" "tweak584.ip[0].ig"; -connectAttr "groupId8737.id" "tweak584.ip[0].gi"; -connectAttr "mgear_curveCns436GroupId.msg" "mgear_curveCns436Set.gn" -na; -connectAttr "thumb_R0_crvShape.iog.og[0]" "mgear_curveCns436Set.dsm" -na; -connectAttr "mgear_curveCns436.msg" "mgear_curveCns436Set.ub[0]"; -connectAttr "tweak584.og[0]" "mgear_curveCns436GroupParts.ig"; -connectAttr "mgear_curveCns436GroupId.id" "mgear_curveCns436GroupParts.gi"; -connectAttr "groupId8737.msg" "tweakSet584.gn" -na; -connectAttr "thumb_R0_crvShape.iog.og[1]" "tweakSet584.dsm" -na; -connectAttr "tweak584.msg" "tweakSet584.ub[0]"; -connectAttr "thumb_R0_crvShapeOrig.ws" "groupParts1168.ig"; -connectAttr "groupId8737.id" "groupParts1168.gi"; -connectAttr "mgear_curveCns437GroupParts.og" "mgear_curveCns437.ip[0].ig"; -connectAttr "mgear_curveCns437GroupId.id" "mgear_curveCns437.ip[0].gi"; -connectAttr "leg_L0_root.wm" "mgear_curveCns437.inputs[0]"; -connectAttr "leg_L0_knee.wm" "mgear_curveCns437.inputs[1]"; -connectAttr "leg_L0_ankle.wm" "mgear_curveCns437.inputs[2]"; -connectAttr "leg_L0_eff.wm" "mgear_curveCns437.inputs[3]"; -connectAttr "groupParts1170.og" "tweak585.ip[0].ig"; -connectAttr "groupId8739.id" "tweak585.ip[0].gi"; -connectAttr "mgear_curveCns437GroupId.msg" "mgear_curveCns437Set.gn" -na; -connectAttr "leg_L0_crvShape.iog.og[0]" "mgear_curveCns437Set.dsm" -na; -connectAttr "mgear_curveCns437.msg" "mgear_curveCns437Set.ub[0]"; -connectAttr "tweak585.og[0]" "mgear_curveCns437GroupParts.ig"; -connectAttr "mgear_curveCns437GroupId.id" "mgear_curveCns437GroupParts.gi"; -connectAttr "groupId8739.msg" "tweakSet585.gn" -na; -connectAttr "leg_L0_crvShape.iog.og[1]" "tweakSet585.dsm" -na; -connectAttr "tweak585.msg" "tweakSet585.ub[0]"; -connectAttr "leg_L0_crvShapeOrig.ws" "groupParts1170.ig"; -connectAttr "groupId8739.id" "groupParts1170.gi"; -connectAttr "mgear_curveCns438GroupParts.og" "mgear_curveCns438.ip[0].ig"; -connectAttr "mgear_curveCns438GroupId.id" "mgear_curveCns438.ip[0].gi"; -connectAttr "foot_L0_root.wm" "mgear_curveCns438.inputs[0]"; -connectAttr "foot_L0_0_loc.wm" "mgear_curveCns438.inputs[1]"; -connectAttr "foot_L0_1_loc.wm" "mgear_curveCns438.inputs[2]"; -connectAttr "foot_L0_2_loc.wm" "mgear_curveCns438.inputs[3]"; -connectAttr "groupParts1172.og" "tweak586.ip[0].ig"; -connectAttr "groupId8741.id" "tweak586.ip[0].gi"; -connectAttr "mgear_curveCns438GroupId.msg" "mgear_curveCns438Set.gn" -na; -connectAttr "foot_L0_crvShape.iog.og[0]" "mgear_curveCns438Set.dsm" -na; -connectAttr "mgear_curveCns438.msg" "mgear_curveCns438Set.ub[0]"; -connectAttr "tweak586.og[0]" "mgear_curveCns438GroupParts.ig"; -connectAttr "mgear_curveCns438GroupId.id" "mgear_curveCns438GroupParts.gi"; -connectAttr "groupId8741.msg" "tweakSet586.gn" -na; -connectAttr "foot_L0_crvShape.iog.og[1]" "tweakSet586.dsm" -na; -connectAttr "tweak586.msg" "tweakSet586.ub[0]"; -connectAttr "foot_L0_crvShapeOrig.ws" "groupParts1172.ig"; -connectAttr "groupId8741.id" "groupParts1172.gi"; -connectAttr "mgear_curveCns439GroupParts.og" "mgear_curveCns439.ip[0].ig"; -connectAttr "mgear_curveCns439GroupId.id" "mgear_curveCns439.ip[0].gi"; -connectAttr "foot_L0_root.wm" "mgear_curveCns439.inputs[0]"; -connectAttr "foot_L0_heel.wm" "mgear_curveCns439.inputs[1]"; -connectAttr "foot_L0_outpivot.wm" "mgear_curveCns439.inputs[2]"; -connectAttr "foot_L0_heel.wm" "mgear_curveCns439.inputs[3]"; -connectAttr "foot_L0_inpivot.wm" "mgear_curveCns439.inputs[4]"; -connectAttr "groupParts1174.og" "tweak587.ip[0].ig"; -connectAttr "groupId8743.id" "tweak587.ip[0].gi"; -connectAttr "mgear_curveCns439GroupId.msg" "mgear_curveCns439Set.gn" -na; -connectAttr "foot_L0_Shape1.iog.og[0]" "mgear_curveCns439Set.dsm" -na; -connectAttr "mgear_curveCns439.msg" "mgear_curveCns439Set.ub[0]"; -connectAttr "tweak587.og[0]" "mgear_curveCns439GroupParts.ig"; -connectAttr "mgear_curveCns439GroupId.id" "mgear_curveCns439GroupParts.gi"; -connectAttr "groupId8743.msg" "tweakSet587.gn" -na; -connectAttr "foot_L0_Shape1.iog.og[1]" "tweakSet587.dsm" -na; -connectAttr "tweak587.msg" "tweakSet587.ub[0]"; -connectAttr "foot_L0_Shape1Orig.ws" "groupParts1174.ig"; -connectAttr "groupId8743.id" "groupParts1174.gi"; -connectAttr "mgear_curveCns440GroupParts.og" "mgear_curveCns440.ip[0].ig"; -connectAttr "mgear_curveCns440GroupId.id" "mgear_curveCns440.ip[0].gi"; -connectAttr "leg_R0_root.wm" "mgear_curveCns440.inputs[0]"; -connectAttr "leg_R0_knee.wm" "mgear_curveCns440.inputs[1]"; -connectAttr "leg_R0_ankle.wm" "mgear_curveCns440.inputs[2]"; -connectAttr "leg_R0_eff.wm" "mgear_curveCns440.inputs[3]"; -connectAttr "groupParts1176.og" "tweak588.ip[0].ig"; -connectAttr "groupId8745.id" "tweak588.ip[0].gi"; -connectAttr "mgear_curveCns440GroupId.msg" "mgear_curveCns440Set.gn" -na; -connectAttr "leg_R0_crvShape.iog.og[0]" "mgear_curveCns440Set.dsm" -na; -connectAttr "mgear_curveCns440.msg" "mgear_curveCns440Set.ub[0]"; -connectAttr "tweak588.og[0]" "mgear_curveCns440GroupParts.ig"; -connectAttr "mgear_curveCns440GroupId.id" "mgear_curveCns440GroupParts.gi"; -connectAttr "groupId8745.msg" "tweakSet588.gn" -na; -connectAttr "leg_R0_crvShape.iog.og[1]" "tweakSet588.dsm" -na; -connectAttr "tweak588.msg" "tweakSet588.ub[0]"; -connectAttr "leg_R0_crvShapeOrig.ws" "groupParts1176.ig"; -connectAttr "groupId8745.id" "groupParts1176.gi"; -connectAttr "mgear_curveCns441GroupParts.og" "mgear_curveCns441.ip[0].ig"; -connectAttr "mgear_curveCns441GroupId.id" "mgear_curveCns441.ip[0].gi"; -connectAttr "foot_R0_root.wm" "mgear_curveCns441.inputs[0]"; -connectAttr "foot_R0_0_loc.wm" "mgear_curveCns441.inputs[1]"; -connectAttr "foot_R0_1_loc.wm" "mgear_curveCns441.inputs[2]"; -connectAttr "foot_R0_2_loc.wm" "mgear_curveCns441.inputs[3]"; -connectAttr "groupParts1178.og" "tweak589.ip[0].ig"; -connectAttr "groupId8747.id" "tweak589.ip[0].gi"; -connectAttr "mgear_curveCns441GroupId.msg" "mgear_curveCns441Set.gn" -na; -connectAttr "foot_R0_crvShape.iog.og[0]" "mgear_curveCns441Set.dsm" -na; -connectAttr "mgear_curveCns441.msg" "mgear_curveCns441Set.ub[0]"; -connectAttr "tweak589.og[0]" "mgear_curveCns441GroupParts.ig"; -connectAttr "mgear_curveCns441GroupId.id" "mgear_curveCns441GroupParts.gi"; -connectAttr "groupId8747.msg" "tweakSet589.gn" -na; -connectAttr "foot_R0_crvShape.iog.og[1]" "tweakSet589.dsm" -na; -connectAttr "tweak589.msg" "tweakSet589.ub[0]"; -connectAttr "foot_R0_crvShapeOrig.ws" "groupParts1178.ig"; -connectAttr "groupId8747.id" "groupParts1178.gi"; -connectAttr "mgear_curveCns442GroupParts.og" "mgear_curveCns442.ip[0].ig"; -connectAttr "mgear_curveCns442GroupId.id" "mgear_curveCns442.ip[0].gi"; -connectAttr "foot_R0_root.wm" "mgear_curveCns442.inputs[0]"; -connectAttr "foot_R0_heel.wm" "mgear_curveCns442.inputs[1]"; -connectAttr "foot_R0_outpivot.wm" "mgear_curveCns442.inputs[2]"; -connectAttr "foot_R0_heel.wm" "mgear_curveCns442.inputs[3]"; -connectAttr "foot_R0_inpivot.wm" "mgear_curveCns442.inputs[4]"; -connectAttr "groupParts1180.og" "tweak590.ip[0].ig"; -connectAttr "groupId8749.id" "tweak590.ip[0].gi"; -connectAttr "mgear_curveCns442GroupId.msg" "mgear_curveCns442Set.gn" -na; -connectAttr "foot_R0_Shape1.iog.og[0]" "mgear_curveCns442Set.dsm" -na; -connectAttr "mgear_curveCns442.msg" "mgear_curveCns442Set.ub[0]"; -connectAttr "tweak590.og[0]" "mgear_curveCns442GroupParts.ig"; -connectAttr "mgear_curveCns442GroupId.id" "mgear_curveCns442GroupParts.gi"; -connectAttr "groupId8749.msg" "tweakSet590.gn" -na; -connectAttr "foot_R0_Shape1.iog.og[1]" "tweakSet590.dsm" -na; -connectAttr "tweak590.msg" "tweakSet590.ub[0]"; -connectAttr "foot_R0_Shape1Orig.ws" "groupParts1180.ig"; -connectAttr "groupId8749.id" "groupParts1180.gi"; +connectAttr "tweak612.msg" "tweakSet612.ub[0]"; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts1224.ig" + ; +connectAttr "groupId8793.id" "groupParts1224.gi"; +connectAttr "mgear_curveCns465GroupParts.og" "mgear_curveCns465.ip[0].ig"; +connectAttr "mgear_curveCns465GroupId.id" "mgear_curveCns465.ip[0].gi"; +connectAttr "mouth_C0_root.wm" "mgear_curveCns465.inputs[0]"; +connectAttr "mouth_C0_jaw.wm" "mgear_curveCns465.inputs[1]"; +connectAttr "groupParts1226.og" "tweak613.ip[0].ig"; +connectAttr "groupId8795.id" "tweak613.ip[0].gi"; +connectAttr "mgear_curveCns465GroupId.msg" "mgear_curveCns465Set.gn" -na; +connectAttr "mouth_C0_crv10Shape.iog.og[0]" "mgear_curveCns465Set.dsm" -na; +connectAttr "mgear_curveCns465.msg" "mgear_curveCns465Set.ub[0]"; +connectAttr "tweak613.og[0]" "mgear_curveCns465GroupParts.ig"; +connectAttr "mgear_curveCns465GroupId.id" "mgear_curveCns465GroupParts.gi"; +connectAttr "groupId8795.msg" "tweakSet613.gn" -na; +connectAttr "mouth_C0_crv10Shape.iog.og[1]" "tweakSet613.dsm" -na; +connectAttr "tweak613.msg" "tweakSet613.ub[0]"; +connectAttr "mouth_C0_crv10ShapeOrig.ws" "groupParts1226.ig"; +connectAttr "groupId8795.id" "groupParts1226.gi"; +connectAttr "tongue_C0_blade.bladeRollOffset" "unitConversion157.i"; +connectAttr "mgear_curveCns466GroupParts.og" "mgear_curveCns466.ip[0].ig"; +connectAttr "mgear_curveCns466GroupId.id" "mgear_curveCns466.ip[0].gi"; +connectAttr "tongue_C0_root.wm" "mgear_curveCns466.inputs[0]"; +connectAttr "tongue_C0_0_loc.wm" "mgear_curveCns466.inputs[1]"; +connectAttr "tongue_C0_1_loc.wm" "mgear_curveCns466.inputs[2]"; +connectAttr "tongue_C0_2_loc.wm" "mgear_curveCns466.inputs[3]"; +connectAttr "tongue_C0_3_loc.wm" "mgear_curveCns466.inputs[4]"; +connectAttr "groupParts1228.og" "tweak614.ip[0].ig"; +connectAttr "groupId8797.id" "tweak614.ip[0].gi"; +connectAttr "mgear_curveCns466GroupId.msg" "mgear_curveCns466Set.gn" -na; +connectAttr "tongue_C0_crvShape.iog.og[0]" "mgear_curveCns466Set.dsm" -na; +connectAttr "mgear_curveCns466.msg" "mgear_curveCns466Set.ub[0]"; +connectAttr "tweak614.og[0]" "mgear_curveCns466GroupParts.ig"; +connectAttr "mgear_curveCns466GroupId.id" "mgear_curveCns466GroupParts.gi"; +connectAttr "groupId8797.msg" "tweakSet614.gn" -na; +connectAttr "tongue_C0_crvShape.iog.og[1]" "tweakSet614.dsm" -na; +connectAttr "tweak614.msg" "tweakSet614.ub[0]"; +connectAttr "tongue_C0_crvShapeOrig.ws" "groupParts1228.ig"; +connectAttr "groupId8797.id" "groupParts1228.gi"; +connectAttr "mgear_curveCns467GroupParts.og" "mgear_curveCns467.ip[0].ig"; +connectAttr "mgear_curveCns467GroupId.id" "mgear_curveCns467.ip[0].gi"; +connectAttr "eye_R0_root.wm" "mgear_curveCns467.inputs[0]"; +connectAttr "eye_R0_look.wm" "mgear_curveCns467.inputs[1]"; +connectAttr "groupParts1230.og" "tweak615.ip[0].ig"; +connectAttr "groupId8799.id" "tweak615.ip[0].gi"; +connectAttr "mgear_curveCns467GroupId.msg" "mgear_curveCns467Set.gn" -na; +connectAttr "eye_R0_crvShape.iog.og[0]" "mgear_curveCns467Set.dsm" -na; +connectAttr "mgear_curveCns467.msg" "mgear_curveCns467Set.ub[0]"; +connectAttr "tweak615.og[0]" "mgear_curveCns467GroupParts.ig"; +connectAttr "mgear_curveCns467GroupId.id" "mgear_curveCns467GroupParts.gi"; +connectAttr "groupId8799.msg" "tweakSet615.gn" -na; +connectAttr "eye_R0_crvShape.iog.og[1]" "tweakSet615.dsm" -na; +connectAttr "tweak615.msg" "tweakSet615.ub[0]"; +connectAttr "eye_R0_crvShapeOrig.ws" "groupParts1230.ig"; +connectAttr "groupId8799.id" "groupParts1230.gi"; +connectAttr "mgear_curveCns468GroupParts.og" "mgear_curveCns468.ip[0].ig"; +connectAttr "mgear_curveCns468GroupId.id" "mgear_curveCns468.ip[0].gi"; +connectAttr "eye_L0_root.wm" "mgear_curveCns468.inputs[0]"; +connectAttr "eye_L0_look.wm" "mgear_curveCns468.inputs[1]"; +connectAttr "groupParts1232.og" "tweak616.ip[0].ig"; +connectAttr "groupId8801.id" "tweak616.ip[0].gi"; +connectAttr "mgear_curveCns468GroupId.msg" "mgear_curveCns468Set.gn" -na; +connectAttr "eye_L0_crvShape.iog.og[0]" "mgear_curveCns468Set.dsm" -na; +connectAttr "mgear_curveCns468.msg" "mgear_curveCns468Set.ub[0]"; +connectAttr "tweak616.og[0]" "mgear_curveCns468GroupParts.ig"; +connectAttr "mgear_curveCns468GroupId.id" "mgear_curveCns468GroupParts.gi"; +connectAttr "groupId8801.msg" "tweakSet616.gn" -na; +connectAttr "eye_L0_crvShape.iog.og[1]" "tweakSet616.dsm" -na; +connectAttr "tweak616.msg" "tweakSet616.ub[0]"; +connectAttr "eye_L0_crvShapeOrig.ws" "groupParts1232.ig"; +connectAttr "groupId8801.id" "groupParts1232.gi"; +connectAttr "shoulder_R0_blade.bladeRollOffset" "unitConversion158.i"; +connectAttr "mgear_curveCns469GroupParts.og" "mgear_curveCns469.ip[0].ig"; +connectAttr "mgear_curveCns469GroupId.id" "mgear_curveCns469.ip[0].gi"; +connectAttr "shoulder_R0_root.wm" "mgear_curveCns469.inputs[0]"; +connectAttr "shoulder_R0_tip.wm" "mgear_curveCns469.inputs[1]"; +connectAttr "groupParts1234.og" "tweak617.ip[0].ig"; +connectAttr "groupId8803.id" "tweak617.ip[0].gi"; +connectAttr "mgear_curveCns469GroupId.msg" "mgear_curveCns469Set.gn" -na; +connectAttr "shoulder_R0_crvShape.iog.og[0]" "mgear_curveCns469Set.dsm" -na; +connectAttr "mgear_curveCns469.msg" "mgear_curveCns469Set.ub[0]"; +connectAttr "tweak617.og[0]" "mgear_curveCns469GroupParts.ig"; +connectAttr "mgear_curveCns469GroupId.id" "mgear_curveCns469GroupParts.gi"; +connectAttr "groupId8803.msg" "tweakSet617.gn" -na; +connectAttr "shoulder_R0_crvShape.iog.og[1]" "tweakSet617.dsm" -na; +connectAttr "tweak617.msg" "tweakSet617.ub[0]"; +connectAttr "shoulder_R0_crvShapeOrig.ws" "groupParts1234.ig"; +connectAttr "groupId8803.id" "groupParts1234.gi"; +connectAttr "mgear_curveCns470GroupParts.og" "mgear_curveCns470.ip[0].ig"; +connectAttr "mgear_curveCns470GroupId.id" "mgear_curveCns470.ip[0].gi"; +connectAttr "arm_R0_root.wm" "mgear_curveCns470.inputs[0]"; +connectAttr "arm_R0_elbow.wm" "mgear_curveCns470.inputs[1]"; +connectAttr "arm_R0_wrist.wm" "mgear_curveCns470.inputs[2]"; +connectAttr "arm_R0_eff.wm" "mgear_curveCns470.inputs[3]"; +connectAttr "groupParts1236.og" "tweak618.ip[0].ig"; +connectAttr "groupId8805.id" "tweak618.ip[0].gi"; +connectAttr "mgear_curveCns470GroupId.msg" "mgear_curveCns470Set.gn" -na; +connectAttr "arm_R0_crvShape.iog.og[0]" "mgear_curveCns470Set.dsm" -na; +connectAttr "mgear_curveCns470.msg" "mgear_curveCns470Set.ub[0]"; +connectAttr "tweak618.og[0]" "mgear_curveCns470GroupParts.ig"; +connectAttr "mgear_curveCns470GroupId.id" "mgear_curveCns470GroupParts.gi"; +connectAttr "groupId8805.msg" "tweakSet618.gn" -na; +connectAttr "arm_R0_crvShape.iog.og[1]" "tweakSet618.dsm" -na; +connectAttr "tweak618.msg" "tweakSet618.ub[0]"; +connectAttr "arm_R0_crvShapeOrig.ws" "groupParts1236.ig"; +connectAttr "groupId8805.id" "groupParts1236.gi"; +connectAttr "meta_R0_blade.bladeRollOffset" "unitConversion159.i"; +connectAttr "mgear_curveCns471GroupParts.og" "mgear_curveCns471.ip[0].ig"; +connectAttr "mgear_curveCns471GroupId.id" "mgear_curveCns471.ip[0].gi"; +connectAttr "meta_R0_root.wm" "mgear_curveCns471.inputs[0]"; +connectAttr "meta_R0_0_loc.wm" "mgear_curveCns471.inputs[1]"; +connectAttr "meta_R0_1_loc.wm" "mgear_curveCns471.inputs[2]"; +connectAttr "meta_R0_2_loc.wm" "mgear_curveCns471.inputs[3]"; +connectAttr "groupParts1238.og" "tweak619.ip[0].ig"; +connectAttr "groupId8807.id" "tweak619.ip[0].gi"; +connectAttr "mgear_curveCns471GroupId.msg" "mgear_curveCns471Set.gn" -na; +connectAttr "meta_R0_crvShape.iog.og[0]" "mgear_curveCns471Set.dsm" -na; +connectAttr "mgear_curveCns471.msg" "mgear_curveCns471Set.ub[0]"; +connectAttr "tweak619.og[0]" "mgear_curveCns471GroupParts.ig"; +connectAttr "mgear_curveCns471GroupId.id" "mgear_curveCns471GroupParts.gi"; +connectAttr "groupId8807.msg" "tweakSet619.gn" -na; +connectAttr "meta_R0_crvShape.iog.og[1]" "tweakSet619.dsm" -na; +connectAttr "tweak619.msg" "tweakSet619.ub[0]"; +connectAttr "meta_R0_crvShapeOrig.ws" "groupParts1238.ig"; +connectAttr "groupId8807.id" "groupParts1238.gi"; +connectAttr "finger_R3_blade.bladeRollOffset" "unitConversion160.i"; +connectAttr "mgear_curveCns472GroupParts.og" "mgear_curveCns472.ip[0].ig"; +connectAttr "mgear_curveCns472GroupId.id" "mgear_curveCns472.ip[0].gi"; +connectAttr "finger_R3_root.wm" "mgear_curveCns472.inputs[0]"; +connectAttr "finger_R3_0_loc.wm" "mgear_curveCns472.inputs[1]"; +connectAttr "finger_R3_1_loc.wm" "mgear_curveCns472.inputs[2]"; +connectAttr "finger_R3_2_loc.wm" "mgear_curveCns472.inputs[3]"; +connectAttr "groupParts1240.og" "tweak620.ip[0].ig"; +connectAttr "groupId8809.id" "tweak620.ip[0].gi"; +connectAttr "mgear_curveCns472GroupId.msg" "mgear_curveCns472Set.gn" -na; +connectAttr "finger_R3_crvShape.iog.og[0]" "mgear_curveCns472Set.dsm" -na; +connectAttr "mgear_curveCns472.msg" "mgear_curveCns472Set.ub[0]"; +connectAttr "tweak620.og[0]" "mgear_curveCns472GroupParts.ig"; +connectAttr "mgear_curveCns472GroupId.id" "mgear_curveCns472GroupParts.gi"; +connectAttr "groupId8809.msg" "tweakSet620.gn" -na; +connectAttr "finger_R3_crvShape.iog.og[1]" "tweakSet620.dsm" -na; +connectAttr "tweak620.msg" "tweakSet620.ub[0]"; +connectAttr "finger_R3_crvShapeOrig.ws" "groupParts1240.ig"; +connectAttr "groupId8809.id" "groupParts1240.gi"; +connectAttr "finger_R2_blade.bladeRollOffset" "unitConversion161.i"; +connectAttr "mgear_curveCns473GroupParts.og" "mgear_curveCns473.ip[0].ig"; +connectAttr "mgear_curveCns473GroupId.id" "mgear_curveCns473.ip[0].gi"; +connectAttr "finger_R2_root.wm" "mgear_curveCns473.inputs[0]"; +connectAttr "finger_R2_0_loc.wm" "mgear_curveCns473.inputs[1]"; +connectAttr "finger_R2_1_loc.wm" "mgear_curveCns473.inputs[2]"; +connectAttr "finger_R2_2_loc.wm" "mgear_curveCns473.inputs[3]"; +connectAttr "groupParts1242.og" "tweak621.ip[0].ig"; +connectAttr "groupId8811.id" "tweak621.ip[0].gi"; +connectAttr "mgear_curveCns473GroupId.msg" "mgear_curveCns473Set.gn" -na; +connectAttr "finger_R2_crvShape.iog.og[0]" "mgear_curveCns473Set.dsm" -na; +connectAttr "mgear_curveCns473.msg" "mgear_curveCns473Set.ub[0]"; +connectAttr "tweak621.og[0]" "mgear_curveCns473GroupParts.ig"; +connectAttr "mgear_curveCns473GroupId.id" "mgear_curveCns473GroupParts.gi"; +connectAttr "groupId8811.msg" "tweakSet621.gn" -na; +connectAttr "finger_R2_crvShape.iog.og[1]" "tweakSet621.dsm" -na; +connectAttr "tweak621.msg" "tweakSet621.ub[0]"; +connectAttr "finger_R2_crvShapeOrig.ws" "groupParts1242.ig"; +connectAttr "groupId8811.id" "groupParts1242.gi"; +connectAttr "finger_R1_blade.bladeRollOffset" "unitConversion162.i"; +connectAttr "mgear_curveCns474GroupParts.og" "mgear_curveCns474.ip[0].ig"; +connectAttr "mgear_curveCns474GroupId.id" "mgear_curveCns474.ip[0].gi"; +connectAttr "finger_R1_root.wm" "mgear_curveCns474.inputs[0]"; +connectAttr "finger_R1_0_loc.wm" "mgear_curveCns474.inputs[1]"; +connectAttr "finger_R1_1_loc.wm" "mgear_curveCns474.inputs[2]"; +connectAttr "finger_R1_2_loc.wm" "mgear_curveCns474.inputs[3]"; +connectAttr "groupParts1244.og" "tweak622.ip[0].ig"; +connectAttr "groupId8813.id" "tweak622.ip[0].gi"; +connectAttr "mgear_curveCns474GroupId.msg" "mgear_curveCns474Set.gn" -na; +connectAttr "finger_R1_crvShape.iog.og[0]" "mgear_curveCns474Set.dsm" -na; +connectAttr "mgear_curveCns474.msg" "mgear_curveCns474Set.ub[0]"; +connectAttr "tweak622.og[0]" "mgear_curveCns474GroupParts.ig"; +connectAttr "mgear_curveCns474GroupId.id" "mgear_curveCns474GroupParts.gi"; +connectAttr "groupId8813.msg" "tweakSet622.gn" -na; +connectAttr "finger_R1_crvShape.iog.og[1]" "tweakSet622.dsm" -na; +connectAttr "tweak622.msg" "tweakSet622.ub[0]"; +connectAttr "finger_R1_crvShapeOrig.ws" "groupParts1244.ig"; +connectAttr "groupId8813.id" "groupParts1244.gi"; +connectAttr "finger_R0_blade.bladeRollOffset" "unitConversion163.i"; +connectAttr "mgear_curveCns475GroupParts.og" "mgear_curveCns475.ip[0].ig"; +connectAttr "mgear_curveCns475GroupId.id" "mgear_curveCns475.ip[0].gi"; +connectAttr "finger_R0_root.wm" "mgear_curveCns475.inputs[0]"; +connectAttr "finger_R0_0_loc.wm" "mgear_curveCns475.inputs[1]"; +connectAttr "finger_R0_1_loc.wm" "mgear_curveCns475.inputs[2]"; +connectAttr "finger_R0_2_loc.wm" "mgear_curveCns475.inputs[3]"; +connectAttr "groupParts1246.og" "tweak623.ip[0].ig"; +connectAttr "groupId8815.id" "tweak623.ip[0].gi"; +connectAttr "mgear_curveCns475GroupId.msg" "mgear_curveCns475Set.gn" -na; +connectAttr "finger_R0_crvShape.iog.og[0]" "mgear_curveCns475Set.dsm" -na; +connectAttr "mgear_curveCns475.msg" "mgear_curveCns475Set.ub[0]"; +connectAttr "tweak623.og[0]" "mgear_curveCns475GroupParts.ig"; +connectAttr "mgear_curveCns475GroupId.id" "mgear_curveCns475GroupParts.gi"; +connectAttr "groupId8815.msg" "tweakSet623.gn" -na; +connectAttr "finger_R0_crvShape.iog.og[1]" "tweakSet623.dsm" -na; +connectAttr "tweak623.msg" "tweakSet623.ub[0]"; +connectAttr "finger_R0_crvShapeOrig.ws" "groupParts1246.ig"; +connectAttr "groupId8815.id" "groupParts1246.gi"; +connectAttr "thumb_R0_blade.bladeRollOffset" "unitConversion164.i"; +connectAttr "mgear_curveCns476GroupParts.og" "mgear_curveCns476.ip[0].ig"; +connectAttr "mgear_curveCns476GroupId.id" "mgear_curveCns476.ip[0].gi"; +connectAttr "thumb_R0_root.wm" "mgear_curveCns476.inputs[0]"; +connectAttr "thumb_R0_0_loc.wm" "mgear_curveCns476.inputs[1]"; +connectAttr "thumb_R0_1_loc.wm" "mgear_curveCns476.inputs[2]"; +connectAttr "thumb_R0_2_loc.wm" "mgear_curveCns476.inputs[3]"; +connectAttr "groupParts1248.og" "tweak624.ip[0].ig"; +connectAttr "groupId8817.id" "tweak624.ip[0].gi"; +connectAttr "mgear_curveCns476GroupId.msg" "mgear_curveCns476Set.gn" -na; +connectAttr "thumb_R0_crvShape.iog.og[0]" "mgear_curveCns476Set.dsm" -na; +connectAttr "mgear_curveCns476.msg" "mgear_curveCns476Set.ub[0]"; +connectAttr "tweak624.og[0]" "mgear_curveCns476GroupParts.ig"; +connectAttr "mgear_curveCns476GroupId.id" "mgear_curveCns476GroupParts.gi"; +connectAttr "groupId8817.msg" "tweakSet624.gn" -na; +connectAttr "thumb_R0_crvShape.iog.og[1]" "tweakSet624.dsm" -na; +connectAttr "tweak624.msg" "tweakSet624.ub[0]"; +connectAttr "thumb_R0_crvShapeOrig.ws" "groupParts1248.ig"; +connectAttr "groupId8817.id" "groupParts1248.gi"; +connectAttr "mgear_curveCns477GroupParts.og" "mgear_curveCns477.ip[0].ig"; +connectAttr "mgear_curveCns477GroupId.id" "mgear_curveCns477.ip[0].gi"; +connectAttr "leg_L0_root.wm" "mgear_curveCns477.inputs[0]"; +connectAttr "leg_L0_knee.wm" "mgear_curveCns477.inputs[1]"; +connectAttr "leg_L0_ankle.wm" "mgear_curveCns477.inputs[2]"; +connectAttr "leg_L0_eff.wm" "mgear_curveCns477.inputs[3]"; +connectAttr "groupParts1250.og" "tweak625.ip[0].ig"; +connectAttr "groupId8819.id" "tweak625.ip[0].gi"; +connectAttr "mgear_curveCns477GroupId.msg" "mgear_curveCns477Set.gn" -na; +connectAttr "leg_L0_crvShape.iog.og[0]" "mgear_curveCns477Set.dsm" -na; +connectAttr "mgear_curveCns477.msg" "mgear_curveCns477Set.ub[0]"; +connectAttr "tweak625.og[0]" "mgear_curveCns477GroupParts.ig"; +connectAttr "mgear_curveCns477GroupId.id" "mgear_curveCns477GroupParts.gi"; +connectAttr "groupId8819.msg" "tweakSet625.gn" -na; +connectAttr "leg_L0_crvShape.iog.og[1]" "tweakSet625.dsm" -na; +connectAttr "tweak625.msg" "tweakSet625.ub[0]"; +connectAttr "leg_L0_crvShapeOrig.ws" "groupParts1250.ig"; +connectAttr "groupId8819.id" "groupParts1250.gi"; +connectAttr "mgear_curveCns478GroupParts.og" "mgear_curveCns478.ip[0].ig"; +connectAttr "mgear_curveCns478GroupId.id" "mgear_curveCns478.ip[0].gi"; +connectAttr "foot_L0_root.wm" "mgear_curveCns478.inputs[0]"; +connectAttr "foot_L0_0_loc.wm" "mgear_curveCns478.inputs[1]"; +connectAttr "foot_L0_1_loc.wm" "mgear_curveCns478.inputs[2]"; +connectAttr "foot_L0_2_loc.wm" "mgear_curveCns478.inputs[3]"; +connectAttr "groupParts1252.og" "tweak626.ip[0].ig"; +connectAttr "groupId8821.id" "tweak626.ip[0].gi"; +connectAttr "mgear_curveCns478GroupId.msg" "mgear_curveCns478Set.gn" -na; +connectAttr "foot_L0_crvShape.iog.og[0]" "mgear_curveCns478Set.dsm" -na; +connectAttr "mgear_curveCns478.msg" "mgear_curveCns478Set.ub[0]"; +connectAttr "tweak626.og[0]" "mgear_curveCns478GroupParts.ig"; +connectAttr "mgear_curveCns478GroupId.id" "mgear_curveCns478GroupParts.gi"; +connectAttr "groupId8821.msg" "tweakSet626.gn" -na; +connectAttr "foot_L0_crvShape.iog.og[1]" "tweakSet626.dsm" -na; +connectAttr "tweak626.msg" "tweakSet626.ub[0]"; +connectAttr "foot_L0_crvShapeOrig.ws" "groupParts1252.ig"; +connectAttr "groupId8821.id" "groupParts1252.gi"; +connectAttr "mgear_curveCns479GroupParts.og" "mgear_curveCns479.ip[0].ig"; +connectAttr "mgear_curveCns479GroupId.id" "mgear_curveCns479.ip[0].gi"; +connectAttr "foot_L0_root.wm" "mgear_curveCns479.inputs[0]"; +connectAttr "foot_L0_heel.wm" "mgear_curveCns479.inputs[1]"; +connectAttr "foot_L0_outpivot.wm" "mgear_curveCns479.inputs[2]"; +connectAttr "foot_L0_heel.wm" "mgear_curveCns479.inputs[3]"; +connectAttr "foot_L0_inpivot.wm" "mgear_curveCns479.inputs[4]"; +connectAttr "groupParts1254.og" "tweak627.ip[0].ig"; +connectAttr "groupId8823.id" "tweak627.ip[0].gi"; +connectAttr "mgear_curveCns479GroupId.msg" "mgear_curveCns479Set.gn" -na; +connectAttr "foot_L0_Shape1.iog.og[0]" "mgear_curveCns479Set.dsm" -na; +connectAttr "mgear_curveCns479.msg" "mgear_curveCns479Set.ub[0]"; +connectAttr "tweak627.og[0]" "mgear_curveCns479GroupParts.ig"; +connectAttr "mgear_curveCns479GroupId.id" "mgear_curveCns479GroupParts.gi"; +connectAttr "groupId8823.msg" "tweakSet627.gn" -na; +connectAttr "foot_L0_Shape1.iog.og[1]" "tweakSet627.dsm" -na; +connectAttr "tweak627.msg" "tweakSet627.ub[0]"; +connectAttr "foot_L0_Shape1Orig.ws" "groupParts1254.ig"; +connectAttr "groupId8823.id" "groupParts1254.gi"; +connectAttr "mgear_curveCns480GroupParts.og" "mgear_curveCns480.ip[0].ig"; +connectAttr "mgear_curveCns480GroupId.id" "mgear_curveCns480.ip[0].gi"; +connectAttr "leg_R0_root.wm" "mgear_curveCns480.inputs[0]"; +connectAttr "leg_R0_knee.wm" "mgear_curveCns480.inputs[1]"; +connectAttr "leg_R0_ankle.wm" "mgear_curveCns480.inputs[2]"; +connectAttr "leg_R0_eff.wm" "mgear_curveCns480.inputs[3]"; +connectAttr "groupParts1256.og" "tweak628.ip[0].ig"; +connectAttr "groupId8825.id" "tweak628.ip[0].gi"; +connectAttr "mgear_curveCns480GroupId.msg" "mgear_curveCns480Set.gn" -na; +connectAttr "leg_R0_crvShape.iog.og[0]" "mgear_curveCns480Set.dsm" -na; +connectAttr "mgear_curveCns480.msg" "mgear_curveCns480Set.ub[0]"; +connectAttr "tweak628.og[0]" "mgear_curveCns480GroupParts.ig"; +connectAttr "mgear_curveCns480GroupId.id" "mgear_curveCns480GroupParts.gi"; +connectAttr "groupId8825.msg" "tweakSet628.gn" -na; +connectAttr "leg_R0_crvShape.iog.og[1]" "tweakSet628.dsm" -na; +connectAttr "tweak628.msg" "tweakSet628.ub[0]"; +connectAttr "leg_R0_crvShapeOrig.ws" "groupParts1256.ig"; +connectAttr "groupId8825.id" "groupParts1256.gi"; +connectAttr "mgear_curveCns481GroupParts.og" "mgear_curveCns481.ip[0].ig"; +connectAttr "mgear_curveCns481GroupId.id" "mgear_curveCns481.ip[0].gi"; +connectAttr "foot_R0_root.wm" "mgear_curveCns481.inputs[0]"; +connectAttr "foot_R0_0_loc.wm" "mgear_curveCns481.inputs[1]"; +connectAttr "foot_R0_1_loc.wm" "mgear_curveCns481.inputs[2]"; +connectAttr "foot_R0_2_loc.wm" "mgear_curveCns481.inputs[3]"; +connectAttr "groupParts1258.og" "tweak629.ip[0].ig"; +connectAttr "groupId8827.id" "tweak629.ip[0].gi"; +connectAttr "mgear_curveCns481GroupId.msg" "mgear_curveCns481Set.gn" -na; +connectAttr "foot_R0_crvShape.iog.og[0]" "mgear_curveCns481Set.dsm" -na; +connectAttr "mgear_curveCns481.msg" "mgear_curveCns481Set.ub[0]"; +connectAttr "tweak629.og[0]" "mgear_curveCns481GroupParts.ig"; +connectAttr "mgear_curveCns481GroupId.id" "mgear_curveCns481GroupParts.gi"; +connectAttr "groupId8827.msg" "tweakSet629.gn" -na; +connectAttr "foot_R0_crvShape.iog.og[1]" "tweakSet629.dsm" -na; +connectAttr "tweak629.msg" "tweakSet629.ub[0]"; +connectAttr "foot_R0_crvShapeOrig.ws" "groupParts1258.ig"; +connectAttr "groupId8827.id" "groupParts1258.gi"; +connectAttr "mgear_curveCns482GroupParts.og" "mgear_curveCns482.ip[0].ig"; +connectAttr "mgear_curveCns482GroupId.id" "mgear_curveCns482.ip[0].gi"; +connectAttr "foot_R0_root.wm" "mgear_curveCns482.inputs[0]"; +connectAttr "foot_R0_heel.wm" "mgear_curveCns482.inputs[1]"; +connectAttr "foot_R0_outpivot.wm" "mgear_curveCns482.inputs[2]"; +connectAttr "foot_R0_heel.wm" "mgear_curveCns482.inputs[3]"; +connectAttr "foot_R0_inpivot.wm" "mgear_curveCns482.inputs[4]"; +connectAttr "groupParts1260.og" "tweak630.ip[0].ig"; +connectAttr "groupId8829.id" "tweak630.ip[0].gi"; +connectAttr "mgear_curveCns482GroupId.msg" "mgear_curveCns482Set.gn" -na; +connectAttr "foot_R0_Shape1.iog.og[0]" "mgear_curveCns482Set.dsm" -na; +connectAttr "mgear_curveCns482.msg" "mgear_curveCns482Set.ub[0]"; +connectAttr "tweak630.og[0]" "mgear_curveCns482GroupParts.ig"; +connectAttr "mgear_curveCns482GroupId.id" "mgear_curveCns482GroupParts.gi"; +connectAttr "groupId8829.msg" "tweakSet630.gn" -na; +connectAttr "foot_R0_Shape1.iog.og[1]" "tweakSet630.dsm" -na; +connectAttr "tweak630.msg" "tweakSet630.ub[0]"; +connectAttr "foot_R0_Shape1Orig.ws" "groupParts1260.ig"; +connectAttr "groupId8829.id" "groupParts1260.gi"; connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; // End of biped_guide.ma diff --git a/scripts/mgear/maya/shifter/component/_templates/quadruped.ma b/scripts/mgear/maya/shifter/component/_templates/quadruped.ma index 526007d..aea5e89 100644 --- a/scripts/mgear/maya/shifter/component/_templates/quadruped.ma +++ b/scripts/mgear/maya/shifter/component/_templates/quadruped.ma @@ -1,6 +1,6 @@ //Maya ASCII 2016R2 scene //Name: quadruped.ma -//Last modified: Thu, Aug 31, 2017 05:01:40 PM +//Last modified: Wed, Dec 06, 2017 11:03:26 AM //Codeset: 932 requires maya "2016R2"; requires -nodeType "mgear_curveCns" "mgear_solvers" "2.1.0"; @@ -12,26 +12,26 @@ fileInfo "version" "2016 Extension 2 SP2"; fileInfo "cutIdentifier" "201608220310-1001477-2"; fileInfo "osv" "Microsoft Windows 8 Business Edition, 64-bit (Build 9200)\n"; createNode transform -s -n "persp"; - rename -uid "9EB04C39-4CA5-A2D4-E719-90A4EFF56BEA"; + rename -uid "6F6D51A8-412B-335E-00CF-37AF07174608"; setAttr ".v" no; - setAttr ".t" -type "double3" 23.273298183925821 16.065928680063944 24.269170946091947 ; - setAttr ".r" -type "double3" -25.538352729602433 43.800000000000004 -4.4066638166574991e-015 ; + setAttr ".t" -type "double3" 6.393497340196264 4.7951230051471763 6.3934973401962445 ; + setAttr ".r" -type "double3" -27.938352729602379 44.999999999999972 -5.172681101354183e-014 ; createNode camera -s -n "perspShape" -p "persp"; - rename -uid "83D02861-4A39-4322-8F70-F2A64414C93B"; + rename -uid "DB01A37C-402E-FE3C-AED8-B2B423E678B4"; setAttr -k off ".v" no; setAttr ".fl" 34.999999999999993; - setAttr ".coi" 37.265978198907575; + setAttr ".coi" 10.234589445243257; setAttr ".imn" -type "string" "persp"; setAttr ".den" -type "string" "persp_depth"; setAttr ".man" -type "string" "persp_mask"; setAttr ".hc" -type "string" "viewSet -p %camera"; createNode transform -s -n "top"; - rename -uid "006C2ED0-40E2-1C15-780C-C3B9B43810BA"; + rename -uid "CE1051E7-406B-1C9A-FBD0-4B9A57293A4F"; setAttr ".v" no; setAttr ".t" -type "double3" 0 1000.1 0 ; setAttr ".r" -type "double3" -89.999999999999986 0 0 ; createNode camera -s -n "topShape" -p "top"; - rename -uid "F17352EE-4569-AAB5-0AE9-498CD07B6BD8"; + rename -uid "BB93CD62-469E-69F3-108B-E08EC9DEC48A"; setAttr -k off ".v" no; setAttr ".rnd" no; setAttr ".coi" 1000.1; @@ -42,11 +42,11 @@ createNode camera -s -n "topShape" -p "top"; setAttr ".hc" -type "string" "viewSet -t %camera"; setAttr ".o" yes; createNode transform -s -n "front"; - rename -uid "29391A99-4929-5870-CA84-0CADD3CBD195"; + rename -uid "19B7E283-4BF5-67A5-5A34-889F4F94222B"; setAttr ".v" no; setAttr ".t" -type "double3" 0 0 1000.1 ; createNode camera -s -n "frontShape" -p "front"; - rename -uid "1F4ED48C-4259-1EB1-3823-61B5A6822927"; + rename -uid "FBE5ED9B-4103-602C-107A-F2BDDBEAA276"; setAttr -k off ".v" no; setAttr ".rnd" no; setAttr ".coi" 1000.1; @@ -57,12 +57,12 @@ createNode camera -s -n "frontShape" -p "front"; setAttr ".hc" -type "string" "viewSet -f %camera"; setAttr ".o" yes; createNode transform -s -n "side"; - rename -uid "1DE1D1C0-42F6-6E42-873E-FA940FFC53EF"; + rename -uid "3FF600CD-41A1-5926-0545-6F89E84E794B"; setAttr ".v" no; setAttr ".t" -type "double3" 1000.1 0 0 ; setAttr ".r" -type "double3" 0 89.999999999999986 0 ; createNode camera -s -n "sideShape" -p "side"; - rename -uid "06DC7C10-42CC-8374-76C1-B09119D731F1"; + rename -uid "F67540FE-417E-719B-DBB5-8FB23E5C080A"; setAttr -k off ".v" no; setAttr ".rnd" no; setAttr ".coi" 1000.1; @@ -73,24 +73,25 @@ createNode camera -s -n "sideShape" -p "side"; setAttr ".hc" -type "string" "viewSet -s %camera"; setAttr ".o" yes; createNode transform -n "guide"; - rename -uid "516C4948-4112-FE22-6EE7-1496C50AAB03"; + rename -uid "EA964024-4563-ACF7-31AD-0AAF5F11A2D4"; addAttr -ci true -sn "rig_name" -ln "rig_name" -dt "string"; addAttr -ci true -k true -sn "mode" -ln "mode" -min 0 -max 1 -en "Final:WIP" -at "enum"; addAttr -ci true -k true -sn "step" -ln "step" -min 0 -max 6 -en "All Steps:Objects:Properties:Operators:Connect:Joints:Finalize" -at "enum"; - addAttr -ci true -sn "ismodel" -ln "ismodel" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ismodel" -ln "ismodel" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "classicChannelNames" -ln "classicChannelNames" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "proxyChannels" -ln "proxyChannels" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "proxyChannels" -ln "proxyChannels" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "worldCtl" -ln "worldCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "importSkin" -ln "importSkin" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "skin" -ln "skin" -dt "string"; - addAttr -ci true -sn "L_color_fk" -ln "L_color_fk" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "L_color_ik" -ln "L_color_ik" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "R_color_fk" -ln "R_color_fk" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "R_color_ik" -ln "R_color_ik" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "C_color_fk" -ln "C_color_fk" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "C_color_ik" -ln "C_color_ik" -min 0 -max 31 -at "long"; - addAttr -ci true -sn "joint_rig" -ln "joint_rig" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "L_color_fk" -ln "L_color_fk" -dv 6 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "L_color_ik" -ln "L_color_ik" -dv 18 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "R_color_fk" -ln "R_color_fk" -dv 23 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "R_color_ik" -ln "R_color_ik" -dv 14 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "C_color_fk" -ln "C_color_fk" -dv 13 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "C_color_ik" -ln "C_color_ik" -dv 17 -min 0 -max 31 -at "long"; + addAttr -ci true -sn "joint_rig" -ln "joint_rig" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "synoptic" -ln "synoptic" -dt "string"; addAttr -ci true -sn "doPreCustomStep" -ln "doPreCustomStep" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "doPostCustomStep" -ln "doPostCustomStep" -min 0 -max 1 -at "bool"; @@ -103,16 +104,7 @@ createNode transform -n "guide"; addAttr -ci true -sn "gear_version" -ln "gear_version" -dt "string"; setAttr ".rig_name" -type "string" "rig"; setAttr -k on ".step" 6; - setAttr ".ismodel" yes; - setAttr ".proxyChannels" yes; setAttr ".skin" -type "string" ""; - setAttr ".L_color_fk" 6; - setAttr ".L_color_ik" 18; - setAttr ".R_color_fk" 23; - setAttr ".R_color_ik" 14; - setAttr ".C_color_fk" 13; - setAttr ".C_color_ik" 17; - setAttr ".joint_rig" yes; setAttr ".synoptic" -type "string" "quadruped"; setAttr ".preCustomStep" -type "string" ""; setAttr ".postCustomStep" -type "string" ""; @@ -122,10 +114,10 @@ createNode transform -n "guide"; setAttr ".maya_version" -type "string" "2016.0"; setAttr ".gear_version" -type "string" "2.2.4"; createNode transform -n "controllers_org" -p "guide"; - rename -uid "20FB1EF1-438C-18DB-79F6-B5AF8B315CF6"; + rename -uid "CBDC45CE-4F83-DF55-84F8-268B4BD1DAFC"; setAttr ".v" no; -createNode transform -n "local_C0_root" -p "guide"; - rename -uid "098261EF-4ED0-4B03-274F-2FAA61E8488C"; +createNode transform -n "global_C0_root" -p "guide"; + rename -uid "660091ED-4E91-D8D4-70E2-3EBC7D4E9F2A"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -137,22 +129,155 @@ createNode transform -n "local_C0_root" -p "guide"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 6 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; + setAttr -k off -cb on ".v"; + setAttr -k off -cb on ".tx"; + setAttr -k off -cb on ".ty"; + setAttr -k off -cb on ".tz"; + setAttr -k off -cb on ".rx"; + setAttr -k off -cb on ".ry"; + setAttr -k off -cb on ".rz"; + setAttr -cb on ".ro"; + setAttr -k off -cb on ".sx"; + setAttr -k off -cb on ".sy"; + setAttr -k off -cb on ".sz"; + setAttr ".comp_type" -type "string" "control_01"; + setAttr ".comp_name" -type "string" "global"; + setAttr ".comp_side" -type "string" "C"; + setAttr ".connector" -type "string" "standard"; + setAttr ".ui_host" -type "string" ""; + setAttr ".ctlGrp" -type "string" ""; + setAttr ".icon" -type "string" "square"; + setAttr ".ikrefarray" -type "string" ""; +createNode nurbsCurve -n "global_C0_rootShape" -p "global_C0_root"; + rename -uid "C8B82674-47E4-327C-FB18-A7B80B7C8342"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + 0.25 0 0 + -0.25 0 0 + ; +createNode nurbsCurve -n "global_C0_root4Shape" -p "global_C0_root"; + rename -uid "6759D4BB-4FE3-1D97-62A0-2A862E260705"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + 0 0.25 0 + 0 -0.25 0 + ; +createNode nurbsCurve -n "global_C0_root5Shape" -p "global_C0_root"; + rename -uid "92A4D1B4-4FE8-9AC6-88FA-B68C14313E3D"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 1 0 no 3 + 2 0 1 + 2 + 0 0 0.25 + 0 0 -0.25 + ; +createNode nurbsCurve -n "global_C0_root6Shape" -p "global_C0_root"; + rename -uid "2D94F61E-4959-B85A-D6D1-2F86F4579F72"; + setAttr ".ihi" 0; + setAttr -k off ".v"; + setAttr ".ove" yes; + setAttr ".ovc" 13; + setAttr ".cc" -type "nurbsCurve" + 1 15 0 no 3 + 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 16 + 0.125 0.125 0.125 + 0.125 0.125 -0.125 + -0.125 0.125 -0.125 + -0.125 -0.125 -0.125 + -0.125 -0.125 0.125 + -0.125 0.125 0.125 + -0.125 0.125 -0.125 + -0.125 0.125 0.125 + 0.125 0.125 0.125 + 0.125 -0.125 0.125 + -0.125 -0.125 0.125 + 0.125 -0.125 0.125 + 0.125 -0.125 -0.125 + 0.125 0.125 -0.125 + 0.125 -0.125 -0.125 + -0.125 -0.125 -0.125 + ; +createNode transform -n "global_C0_sizeRef" -p "global_C0_root"; + rename -uid "40A2BD95-4561-DC27-859E-5A903CC80CB1"; + addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; + setAttr -k off -cb on ".v"; + setAttr ".t" -type "double3" 0 0 1 ; + setAttr -k off -cb on ".tx"; + setAttr -k off -cb on ".ty"; + setAttr -k off -cb on ".tz"; + setAttr -k off -cb on ".rx"; + setAttr -k off -cb on ".ry"; + setAttr -k off -cb on ".rz"; + setAttr -cb on ".ro"; + setAttr -k off -cb on ".sx"; + setAttr -k off -cb on ".sy"; + setAttr -k off -cb on ".sz"; +createNode transform -n "local_C0_root" -p "global_C0_root"; + rename -uid "599BEF03-4C7D-AD94-05B1-6C9A5CA0A5D1"; + addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; + addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; + addAttr -ci true -sn "comp_side" -ln "comp_side" -dt "string"; + addAttr -ci true -sn "comp_index" -ln "comp_index" -min 0 -at "long"; + addAttr -ci true -sn "connector" -ln "connector" -dt "string"; + addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; + addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; + addAttr -ci true -sn "icon" -ln "icon" -dt "string"; + addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; + addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 5 -at "double"; + addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; @@ -172,22 +297,8 @@ createNode transform -n "local_C0_root" -p "guide"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "square"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".k_sx" yes; - setAttr ".k_sy" yes; - setAttr ".k_sz" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "local_C0_rootShape" -p "local_C0_root"; - rename -uid "25CAF1CC-4DC5-065E-BA56-44B821EE967D"; + rename -uid "A9542A6F-45D7-D924-A443-8F951F13F878"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -199,8 +310,8 @@ createNode nurbsCurve -n "local_C0_rootShape" -p "local_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "local_C0_root19Shape" -p "local_C0_root"; - rename -uid "2967813C-454B-46EE-273B-A089F7702061"; +createNode nurbsCurve -n "local_C0_root22Shape" -p "local_C0_root"; + rename -uid "FEBB4DEE-452E-59FD-E866-009EBD77D54D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -212,8 +323,8 @@ createNode nurbsCurve -n "local_C0_root19Shape" -p "local_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "local_C0_root20Shape" -p "local_C0_root"; - rename -uid "DF64F88D-4990-274A-F081-DD91D896BA06"; +createNode nurbsCurve -n "local_C0_root23Shape" -p "local_C0_root"; + rename -uid "2D083F6D-4158-460D-6468-D38F5A1A5781"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -225,8 +336,8 @@ createNode nurbsCurve -n "local_C0_root20Shape" -p "local_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "local_C0_root21Shape" -p "local_C0_root"; - rename -uid "112CE2F8-4A36-CB82-1ED6-97BCD005C248"; +createNode nurbsCurve -n "local_C0_root24Shape" -p "local_C0_root"; + rename -uid "0CD4D46B-408E-3B9C-321A-DA8D629B6925"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -253,7 +364,7 @@ createNode nurbsCurve -n "local_C0_root21Shape" -p "local_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "local_C0_sizeRef" -p "local_C0_root"; - rename -uid "563C660D-4F7C-A37E-A02D-BF9BD0520473"; + rename -uid "E9B66B5F-4952-DD59-6417-35910705511D"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 0 0 1 ; @@ -268,7 +379,7 @@ createNode transform -n "local_C0_sizeRef" -p "local_C0_root"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "body_C0_root" -p "local_C0_root"; - rename -uid "25F08E71-4127-CE9F-83BF-89894C683FB6"; + rename -uid "2CCC3379-4ED2-1CC5-CCA8-AA9E86F5D710"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -280,22 +391,24 @@ createNode transform -n "body_C0_root" -p "local_C0_root"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 0 2.4202715014858764 -1.2332282831689589 ; setAttr -k off -cb on ".tx"; @@ -316,22 +429,8 @@ createNode transform -n "body_C0_root" -p "local_C0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "square"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".k_sx" yes; - setAttr ".k_sy" yes; - setAttr ".k_sz" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "body_C0_rootShape" -p "body_C0_root"; - rename -uid "7F2583ED-43B5-7DAE-1E91-9FBDCF9561E1"; + rename -uid "9718C0F9-43BE-5173-F6AA-8C97C95CBDBD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -343,8 +442,8 @@ createNode nurbsCurve -n "body_C0_rootShape" -p "body_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "body_C0_root19Shape" -p "body_C0_root"; - rename -uid "1E21B3FC-4651-43ED-ADD0-6D97AB009545"; +createNode nurbsCurve -n "body_C0_root22Shape" -p "body_C0_root"; + rename -uid "9E78CF7E-474D-C8BB-81DD-E398E0C2E72D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -356,8 +455,8 @@ createNode nurbsCurve -n "body_C0_root19Shape" -p "body_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "body_C0_root20Shape" -p "body_C0_root"; - rename -uid "258CCFB1-47A6-3F52-4BB0-1789EC850ADC"; +createNode nurbsCurve -n "body_C0_root23Shape" -p "body_C0_root"; + rename -uid "E869FFB8-4D5C-6806-0FAA-BBB46AC6AC38"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -369,8 +468,8 @@ createNode nurbsCurve -n "body_C0_root20Shape" -p "body_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "body_C0_root21Shape" -p "body_C0_root"; - rename -uid "8D9CF2D1-4DD3-56B6-89A6-A49DA6419984"; +createNode nurbsCurve -n "body_C0_root24Shape" -p "body_C0_root"; + rename -uid "D8DA2DC4-4376-E4D0-2497-F29AEB981C29"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -397,7 +496,7 @@ createNode nurbsCurve -n "body_C0_root21Shape" -p "body_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "body_C0_sizeRef" -p "body_C0_root"; - rename -uid "0363DEC1-498F-8BA3-BBEB-49B043E3D527"; + rename -uid "07E64100-4B30-4A3B-5397-45AA50575235"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 0 0 1 ; @@ -412,7 +511,7 @@ createNode transform -n "body_C0_sizeRef" -p "body_C0_root"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "spine_C0_root" -p "body_C0_root"; - rename -uid "E1261AA7-4AAE-F1F2-51A9-DD942952DE90"; + rename -uid "8854EBB0-484B-7F77-F745-B591CFD6F05B"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -422,17 +521,17 @@ createNode transform -n "spine_C0_root" -p "body_C0_root"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "position" -ln "position" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; - addAttr -ci true -sn "maxsquash" -ln "maxsquash" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; + addAttr -ci true -sn "maxsquash" -ln "maxsquash" -dv 0.5 -min 0 -max 1 -at "double"; addAttr -ci true -sn "softness" -ln "softness" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "lock_ori" -ln "lock_ori" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "division" -ln "division" -dv 3 -min 3 -at "long"; + addAttr -ci true -sn "lock_ori" -ln "lock_ori" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "division" -ln "division" -dv 5 -min 3 -at "long"; addAttr -ci true -sn "autoBend" -ln "autoBend" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "centralTangent" -ln "centralTangent" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "centralTangent" -ln "centralTangent" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; @@ -452,16 +551,10 @@ createNode transform -n "spine_C0_root" -p "body_C0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "spineUI_C0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".maxstretch" 1.5; - setAttr ".maxsquash" 0.5; - setAttr ".lock_ori" 1; - setAttr ".division" 5; - setAttr ".centralTangent" yes; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "spine_C0_rootShape" -p "spine_C0_root"; - rename -uid "860DE25A-42A1-B59B-D036-95A38BE98695"; + rename -uid "1DA1289E-48DD-01BB-58AF-31B909E52D39"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -473,8 +566,8 @@ createNode nurbsCurve -n "spine_C0_rootShape" -p "spine_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "spine_C0_root19Shape" -p "spine_C0_root"; - rename -uid "AD77C0AD-4589-D56E-AFD3-AB92F15E91D7"; +createNode nurbsCurve -n "spine_C0_root22Shape" -p "spine_C0_root"; + rename -uid "2516BC6F-4DFF-3F5A-E4AB-1F855CB43CF8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -486,8 +579,8 @@ createNode nurbsCurve -n "spine_C0_root19Shape" -p "spine_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "spine_C0_root20Shape" -p "spine_C0_root"; - rename -uid "3B79BEE4-4B8E-3C00-20A2-E9BB276332DC"; +createNode nurbsCurve -n "spine_C0_root23Shape" -p "spine_C0_root"; + rename -uid "EAF18990-43DB-11A7-D48D-CFB2573F6A45"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -499,8 +592,8 @@ createNode nurbsCurve -n "spine_C0_root20Shape" -p "spine_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "spine_C0_root21Shape" -p "spine_C0_root"; - rename -uid "9BAA6F9D-43FF-0567-0246-70B67EB9E7E7"; +createNode nurbsCurve -n "spine_C0_root24Shape" -p "spine_C0_root"; + rename -uid "23039AAE-4915-4A85-0E2F-6094C8FA395E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -527,10 +620,10 @@ createNode nurbsCurve -n "spine_C0_root21Shape" -p "spine_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "spine_C0_eff" -p "spine_C0_root"; - rename -uid "91866F13-4BDC-5D02-CAD4-7ABFDE625B05"; + rename -uid "30D8C3C0-49BB-DE7C-4AEF-56AEC3AE2D51"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0 6.6115768831256645 -2.9361299538902146e-015 ; + setAttr ".t" -type "double3" 0 6.6115768831256645 -2.9361299538902142e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -542,7 +635,7 @@ createNode transform -n "spine_C0_eff" -p "spine_C0_root"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "spine_C0_effShape" -p "spine_C0_eff"; - rename -uid "CA63296A-4844-D995-39D8-C580EB17B822"; + rename -uid "A4DAA3B3-46D9-93EF-6328-79BFB7B0E4C9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -554,8 +647,8 @@ createNode nurbsCurve -n "spine_C0_effShape" -p "spine_C0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "spine_C0_eff19Shape" -p "spine_C0_eff"; - rename -uid "D3110FDB-45D5-4B63-99A9-89B124E8F4E5"; +createNode nurbsCurve -n "spine_C0_eff22Shape" -p "spine_C0_eff"; + rename -uid "CFE7D3C1-4997-8DB1-A450-2A92972257D2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -567,8 +660,8 @@ createNode nurbsCurve -n "spine_C0_eff19Shape" -p "spine_C0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "spine_C0_eff20Shape" -p "spine_C0_eff"; - rename -uid "2BA01F0D-49D1-E9F7-CE9A-7E8366D7A70F"; +createNode nurbsCurve -n "spine_C0_eff23Shape" -p "spine_C0_eff"; + rename -uid "9A465314-4470-7599-A12D-D4BAB2A0D356"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -580,8 +673,8 @@ createNode nurbsCurve -n "spine_C0_eff20Shape" -p "spine_C0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "spine_C0_eff21Shape" -p "spine_C0_eff"; - rename -uid "100FC6F9-4273-BC49-1C1A-83A0B9E70A00"; +createNode nurbsCurve -n "spine_C0_eff24Shape" -p "spine_C0_eff"; + rename -uid "981FF206-47A9-B58F-D080-96BB60FA2C15"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -598,8 +691,8 @@ createNode nurbsCurve -n "spine_C0_eff21Shape" -p "spine_C0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "spine_C0_eff21_0crvShape" -p "spine_C0_eff"; - rename -uid "F6C6E365-439F-C395-8805-26B8DDD2D4C4"; +createNode nurbsCurve -n "spine_C0_eff24_0crvShape" -p "spine_C0_eff"; + rename -uid "858AC638-4A1F-E93D-A4CF-078C8F8AA721"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -616,8 +709,8 @@ createNode nurbsCurve -n "spine_C0_eff21_0crvShape" -p "spine_C0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "spine_C0_eff21_1crvShape" -p "spine_C0_eff"; - rename -uid "17998A01-4BB8-59D3-0994-1BAC7E6AE64C"; +createNode nurbsCurve -n "spine_C0_eff24_1crvShape" -p "spine_C0_eff"; + rename -uid "0682D80E-4A27-0C7B-6860-EEAF0FD5EBDE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -635,7 +728,7 @@ createNode nurbsCurve -n "spine_C0_eff21_1crvShape" -p "spine_C0_eff"; 0 0 -0.1875 ; createNode transform -n "neck_C0_root" -p "spine_C0_eff"; - rename -uid "FFE74659-4156-2D51-FE27-56950129F616"; + rename -uid "47B90BAA-4EFA-A524-AF63-FA95BA7B9E5C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -646,17 +739,18 @@ createNode transform -n "neck_C0_root" -p "spine_C0_eff"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "headrefarray" -ln "headrefarray" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; - addAttr -ci true -sn "maxsquash" -ln "maxsquash" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; + addAttr -ci true -sn "maxsquash" -ln "maxsquash" -dv 0.5 -min 0 -max 1 -at "double"; addAttr -ci true -sn "softness" -ln "softness" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "division" -ln "division" -dv 3 -min 3 -at "long"; - addAttr -ci true -sn "tangentControls" -ln "tangentControls" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "division" -ln "division" -dv 5 -min 3 -at "long"; + addAttr -ci true -sn "tangentControls" -ln "tangentControls" -dv 1 -min 0 -max 1 + -at "bool"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.11164111249562403 0.36062523614417152 -1.1057116273629473e-016 ; + setAttr ".t" -type "double3" -0.11164111249562403 0.36062523614417152 -1.1057116273629454e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -677,15 +771,10 @@ createNode transform -n "neck_C0_root" -p "spine_C0_eff"; setAttr ".ctlGrp" -type "string" ""; setAttr ".headrefarray" -type "string" ""; setAttr ".ikrefarray" -type "string" ""; - setAttr ".maxstretch" 1.5; - setAttr ".maxsquash" 0.5; - setAttr ".division" 5; - setAttr ".tangentControls" yes; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "neck_C0_rootShape" -p "neck_C0_root"; - rename -uid "1183D53B-454B-9565-F055-BAA91D45BBE9"; + rename -uid "553A31FF-42CA-F40E-8C9D-84A00506DBD6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -697,8 +786,8 @@ createNode nurbsCurve -n "neck_C0_rootShape" -p "neck_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_root19Shape" -p "neck_C0_root"; - rename -uid "98CFA199-4C98-12BC-3B41-6987B34BEED7"; +createNode nurbsCurve -n "neck_C0_root22Shape" -p "neck_C0_root"; + rename -uid "1F0EF364-47E3-9901-82B2-0792BBE0B189"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -710,8 +799,8 @@ createNode nurbsCurve -n "neck_C0_root19Shape" -p "neck_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_root20Shape" -p "neck_C0_root"; - rename -uid "A300B3EA-427D-35CB-9B06-98B97DC2C0AE"; +createNode nurbsCurve -n "neck_C0_root23Shape" -p "neck_C0_root"; + rename -uid "18A05ED3-45CB-BF15-7E71-998C4CB5F4FC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -723,8 +812,8 @@ createNode nurbsCurve -n "neck_C0_root20Shape" -p "neck_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_root21Shape" -p "neck_C0_root"; - rename -uid "97D9C524-4728-4278-37C9-79AFD67238DD"; +createNode nurbsCurve -n "neck_C0_root24Shape" -p "neck_C0_root"; + rename -uid "30500D70-4939-2AEE-C22D-66B55480CE35"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -751,10 +840,10 @@ createNode nurbsCurve -n "neck_C0_root21Shape" -p "neck_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "neck_C0_neck" -p "neck_C0_root"; - rename -uid "A351EFC0-4327-4B4B-1E70-AFBF86333D48"; + rename -uid "0D356E1B-47A8-8717-83B4-CFBF635A7672"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.24124837670655674 3.6642870257638149 -8.7131531609605358e-016 ; + setAttr ".t" -type "double3" -0.24124837670655674 3.6642870257638149 -8.7131531609605555e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -762,12 +851,12 @@ createNode transform -n "neck_C0_neck" -p "neck_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000009 1 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000011 1 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_neckShape" -p "neck_C0_neck"; - rename -uid "96476E6E-4A09-FBD8-8028-F3B737EB913F"; + rename -uid "C020E8D5-4F7D-6B29-0DA0-D685A00A9CFD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -779,8 +868,8 @@ createNode nurbsCurve -n "neck_C0_neckShape" -p "neck_C0_neck"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_neck19Shape" -p "neck_C0_neck"; - rename -uid "CE3970AA-4278-C8D0-B4DB-9BBDE906E305"; +createNode nurbsCurve -n "neck_C0_neck22Shape" -p "neck_C0_neck"; + rename -uid "2A47CEA9-4CEB-D58A-009D-BC8C89B4EDD1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -792,8 +881,8 @@ createNode nurbsCurve -n "neck_C0_neck19Shape" -p "neck_C0_neck"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_neck20Shape" -p "neck_C0_neck"; - rename -uid "41C8D2CF-4973-D6A2-F765-6B9B2B917D10"; +createNode nurbsCurve -n "neck_C0_neck23Shape" -p "neck_C0_neck"; + rename -uid "24FAC434-43F8-5B6E-EC54-93AE826E4CF5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -805,8 +894,8 @@ createNode nurbsCurve -n "neck_C0_neck20Shape" -p "neck_C0_neck"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_neck21Shape" -p "neck_C0_neck"; - rename -uid "08EF9A6D-40A2-749C-3333-BB8EFF2C2952"; +createNode nurbsCurve -n "neck_C0_neck24Shape" -p "neck_C0_neck"; + rename -uid "63CB5148-4B79-DD92-AD2C-E1986F7D14BB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -823,8 +912,8 @@ createNode nurbsCurve -n "neck_C0_neck21Shape" -p "neck_C0_neck"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_neck21_0crvShape" -p "neck_C0_neck"; - rename -uid "12F1FA3C-4E09-9005-D420-E5AB194F4116"; +createNode nurbsCurve -n "neck_C0_neck24_0crvShape" -p "neck_C0_neck"; + rename -uid "D7228223-4D14-1AA3-A085-AFA73C82210D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -841,8 +930,8 @@ createNode nurbsCurve -n "neck_C0_neck21_0crvShape" -p "neck_C0_neck"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_neck21_1crvShape" -p "neck_C0_neck"; - rename -uid "C03CDAD3-4C61-C055-D625-27ACC00F46A0"; +createNode nurbsCurve -n "neck_C0_neck24_1crvShape" -p "neck_C0_neck"; + rename -uid "B4C3BA46-415D-3BD1-E6AB-3E85565A645A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -860,10 +949,10 @@ createNode nurbsCurve -n "neck_C0_neck21_1crvShape" -p "neck_C0_neck"; 0 0 -0.1875 ; createNode transform -n "neck_C0_head" -p "neck_C0_neck"; - rename -uid "57A1D09F-4AC8-CA64-1B00-9AAB7CD963FD"; + rename -uid "9BA8DCA9-4B5B-9D4F-2F5E-BA86B627BBD9"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.6645352591003757e-015 -7.1054273576010019e-015 3.7470892997998061e-030 ; + setAttr ".t" -type "double3" 3.5527136788005009e-015 -7.1054273576010019e-015 5.4727225299707694e-030 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -872,12 +961,12 @@ createNode transform -n "neck_C0_head" -p "neck_C0_neck"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999933 0.999999999999999 0.99999999999999978 ; + setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999878 0.99999999999999933 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_headShape" -p "neck_C0_head"; - rename -uid "1FC8DAA2-4EF2-222C-6C8A-A389DFEBA4FA"; + rename -uid "1397A51B-4BF5-AE11-7318-72A65DDAAAE0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -889,8 +978,8 @@ createNode nurbsCurve -n "neck_C0_headShape" -p "neck_C0_head"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_head19Shape" -p "neck_C0_head"; - rename -uid "7B74EF89-456A-AB4F-9345-739D55E44F8C"; +createNode nurbsCurve -n "neck_C0_head22Shape" -p "neck_C0_head"; + rename -uid "13E98317-4326-BB9C-906D-E585C55AC7A5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -902,8 +991,8 @@ createNode nurbsCurve -n "neck_C0_head19Shape" -p "neck_C0_head"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_head20Shape" -p "neck_C0_head"; - rename -uid "61D6359C-4E4F-60F9-0451-09891327C900"; +createNode nurbsCurve -n "neck_C0_head23Shape" -p "neck_C0_head"; + rename -uid "5E1C78A0-4071-CDF1-87D5-6F9921068C78"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -915,8 +1004,8 @@ createNode nurbsCurve -n "neck_C0_head20Shape" -p "neck_C0_head"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_head21Shape" -p "neck_C0_head"; - rename -uid "7A441075-4716-B1B0-B7ED-71B2D7A5D791"; +createNode nurbsCurve -n "neck_C0_head24Shape" -p "neck_C0_head"; + rename -uid "0D692FD8-483C-50ED-F6F3-A3AF9CB022A2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -933,8 +1022,8 @@ createNode nurbsCurve -n "neck_C0_head21Shape" -p "neck_C0_head"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_head21_0crvShape" -p "neck_C0_head"; - rename -uid "9732F673-4957-FF96-43DE-5BBA670DD088"; +createNode nurbsCurve -n "neck_C0_head24_0crvShape" -p "neck_C0_head"; + rename -uid "7CFCC455-467C-DF28-B238-F998AC9A9D2A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -951,8 +1040,8 @@ createNode nurbsCurve -n "neck_C0_head21_0crvShape" -p "neck_C0_head"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_head21_1crvShape" -p "neck_C0_head"; - rename -uid "8637BF61-46D3-4096-D334-DB93B5D168D0"; +createNode nurbsCurve -n "neck_C0_head24_1crvShape" -p "neck_C0_head"; + rename -uid "FE6F196A-4743-3F5F-F4AA-57A5A76750CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -970,10 +1059,10 @@ createNode nurbsCurve -n "neck_C0_head21_1crvShape" -p "neck_C0_head"; 0 0 -0.1875 ; createNode transform -n "neck_C0_eff" -p "neck_C0_head"; - rename -uid "BA78CFE6-4FB0-EEAE-40CA-D4B764B8C489"; + rename -uid "D17DB9AA-41AE-6F82-5CFA-3C83598B1989"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.028362147187278808 2.6770463465994707 4.5418821062020015e-015 ; + setAttr ".t" -type "double3" 0.028362147187275255 2.6770463465994698 4.541882106202e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -981,12 +1070,12 @@ createNode transform -n "neck_C0_eff" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000007 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000004 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_effShape" -p "neck_C0_eff"; - rename -uid "A6777EFE-4AC3-F0FB-375A-DB82F27E0B14"; + rename -uid "FCD08A25-462B-5828-F504-F386D8B9A61B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -998,8 +1087,8 @@ createNode nurbsCurve -n "neck_C0_effShape" -p "neck_C0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_eff19Shape" -p "neck_C0_eff"; - rename -uid "D9390EC9-4232-1D1F-D35F-4D8406412391"; +createNode nurbsCurve -n "neck_C0_eff22Shape" -p "neck_C0_eff"; + rename -uid "A15E8346-4F3F-3613-324E-F995A32888F0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1011,8 +1100,8 @@ createNode nurbsCurve -n "neck_C0_eff19Shape" -p "neck_C0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_eff20Shape" -p "neck_C0_eff"; - rename -uid "F43D0005-44B3-FE70-C79B-54BD4228E93B"; +createNode nurbsCurve -n "neck_C0_eff23Shape" -p "neck_C0_eff"; + rename -uid "197F5289-4651-D3BA-336B-A89FE8855D5B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1024,8 +1113,8 @@ createNode nurbsCurve -n "neck_C0_eff20Shape" -p "neck_C0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_eff21Shape" -p "neck_C0_eff"; - rename -uid "34512E59-4027-B0AE-094C-99925AE80EAD"; +createNode nurbsCurve -n "neck_C0_eff24Shape" -p "neck_C0_eff"; + rename -uid "C54F5E1C-48E7-F359-41F3-048B6371AE30"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1042,8 +1131,8 @@ createNode nurbsCurve -n "neck_C0_eff21Shape" -p "neck_C0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_eff21_0crvShape" -p "neck_C0_eff"; - rename -uid "7B20B3C3-4D29-9D2B-0D6A-CDB7D41FD785"; +createNode nurbsCurve -n "neck_C0_eff24_0crvShape" -p "neck_C0_eff"; + rename -uid "1ABDBFDF-492D-88E2-8888-65A36EC57FAF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1060,8 +1149,8 @@ createNode nurbsCurve -n "neck_C0_eff21_0crvShape" -p "neck_C0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_eff21_1crvShape" -p "neck_C0_eff"; - rename -uid "32552CB1-4BE3-1145-6D05-BF8EE5E7F4F3"; +createNode nurbsCurve -n "neck_C0_eff24_1crvShape" -p "neck_C0_eff"; + rename -uid "E394A3F4-48C0-C686-6763-05ABB047015E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1079,7 +1168,7 @@ createNode nurbsCurve -n "neck_C0_eff21_1crvShape" -p "neck_C0_eff"; 0 0 -0.1875 ; createNode transform -n "spineUI_C0_root" -p "neck_C0_eff"; - rename -uid "C3949E80-4351-9311-62F5-DA82F526D055"; + rename -uid "59586D3F-437D-B95A-E7B3-32BF16139C76"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -1091,7 +1180,7 @@ createNode transform -n "spineUI_C0_root" -p "neck_C0_eff"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; @@ -1103,21 +1192,23 @@ createNode transform -n "spineUI_C0_root" -p "neck_C0_eff"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -3.2992211017816819 -0.74362823191861871 -4.3347348183670675 ; + setAttr ".t" -type "double3" -3.2992211017816793 -0.74362823191861693 -4.3347348183670693 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0.038224192844409803 89.999999999999957 0 ; + setAttr ".r" -type "double3" 0.038224192844406001 89.999999999999957 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 2.3915882794427561 2.3915882794427552 2.3915882794427579 ; + setAttr ".s" -type "double3" 2.391588279442757 2.3915882794427556 2.3915882794427583 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -1129,12 +1220,8 @@ createNode transform -n "spineUI_C0_root" -p "neck_C0_eff"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "spineUI_C0_rootShape" -p "spineUI_C0_root"; - rename -uid "C7BFD03A-4E18-891F-0A85-B4B56B543613"; + rename -uid "B66352C3-4D24-B286-0E70-D693328FA173"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1146,8 +1233,8 @@ createNode nurbsCurve -n "spineUI_C0_rootShape" -p "spineUI_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "spineUI_C0_root19Shape" -p "spineUI_C0_root"; - rename -uid "3250339C-47FC-D5C9-5314-B0B84F27412D"; +createNode nurbsCurve -n "spineUI_C0_root22Shape" -p "spineUI_C0_root"; + rename -uid "BF1B2478-4AE2-3294-71DA-699AC21CAE7A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1159,8 +1246,8 @@ createNode nurbsCurve -n "spineUI_C0_root19Shape" -p "spineUI_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "spineUI_C0_root20Shape" -p "spineUI_C0_root"; - rename -uid "C6C57DF0-41A9-98AE-7719-928F940DA24E"; +createNode nurbsCurve -n "spineUI_C0_root23Shape" -p "spineUI_C0_root"; + rename -uid "87A3AFD8-4645-28A5-C095-E3AC5F67D1EF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1172,8 +1259,8 @@ createNode nurbsCurve -n "spineUI_C0_root20Shape" -p "spineUI_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "spineUI_C0_root21Shape" -p "spineUI_C0_root"; - rename -uid "43178BBA-4761-CA73-7BA8-9BBD7AC4D443"; +createNode nurbsCurve -n "spineUI_C0_root24Shape" -p "spineUI_C0_root"; + rename -uid "6A8BF3CB-4190-9446-824D-66B48993D309"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1200,10 +1287,10 @@ createNode nurbsCurve -n "spineUI_C0_root21Shape" -p "spineUI_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "spineUI_C0_sizeRef" -p "spineUI_C0_root"; - rename -uid "C02F48C0-4402-55CC-DED8-A99188CB20E8"; + rename -uid "47EF90FE-4F8B-2AE6-09D9-D28A93A76794"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 8.8817841970012523e-016 0 1 ; + setAttr ".t" -type "double3" 0 -8.8817841970012523e-016 0.99999999999999956 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1211,12 +1298,12 @@ createNode transform -n "spineUI_C0_sizeRef" -p "spineUI_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000002 0.99999999999999967 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 0.99999999999999933 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "headUI_C0_root" -p "neck_C0_eff"; - rename -uid "B0AA035E-447A-7A2A-FF1D-7499C4FE70A5"; + rename -uid "634F1E41-4BA1-FA7F-B8B9-16A55D24F436"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -1228,7 +1315,7 @@ createNode transform -n "headUI_C0_root" -p "neck_C0_eff"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; @@ -1240,12 +1327,14 @@ createNode transform -n "headUI_C0_root" -p "neck_C0_eff"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 0.5 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 7.1054273576010019e-015 2.9303186274198669 6.1165723857933474e-016 ; + setAttr ".t" -type "double3" 1.0658141036401503e-014 2.9303186274198687 6.1165723857933553e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1253,7 +1342,7 @@ createNode transform -n "headUI_C0_root" -p "neck_C0_eff"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999978 0.99999999999999967 ; + setAttr ".s" -type "double3" 1.0000000000000002 1 0.99999999999999989 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -1265,12 +1354,8 @@ createNode transform -n "headUI_C0_root" -p "neck_C0_eff"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 0.5; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "headUI_C0_rootShape" -p "headUI_C0_root"; - rename -uid "DDDC3BA8-4106-CAFB-FE8E-27976F46ACC6"; + rename -uid "B6C1E8C5-4009-6C3E-AA4D-5895C2E19275"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1282,8 +1367,8 @@ createNode nurbsCurve -n "headUI_C0_rootShape" -p "headUI_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "headUI_C0_root10Shape" -p "headUI_C0_root"; - rename -uid "DA430C66-437A-EFDA-0E0F-E4A01C0AFB47"; +createNode nurbsCurve -n "headUI_C0_root13Shape" -p "headUI_C0_root"; + rename -uid "849D66D3-40FC-78E0-8E9A-86887103CE4E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1295,8 +1380,8 @@ createNode nurbsCurve -n "headUI_C0_root10Shape" -p "headUI_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "headUI_C0_root11Shape" -p "headUI_C0_root"; - rename -uid "47649688-4B65-0948-A773-399DB17214D9"; +createNode nurbsCurve -n "headUI_C0_root14Shape" -p "headUI_C0_root"; + rename -uid "245EEB45-43D7-EA6A-800E-6FBF3585078D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1308,8 +1393,8 @@ createNode nurbsCurve -n "headUI_C0_root11Shape" -p "headUI_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "headUI_C0_root12Shape" -p "headUI_C0_root"; - rename -uid "9CA43DDD-4F7B-B116-D7A3-F798EDD37FE3"; +createNode nurbsCurve -n "headUI_C0_root15Shape" -p "headUI_C0_root"; + rename -uid "F06AF8B8-4622-7BC8-21B3-9C868D7CA982"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1336,24 +1421,24 @@ createNode nurbsCurve -n "headUI_C0_root12Shape" -p "headUI_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "headUI_C0_sizeRef" -p "headUI_C0_root"; - rename -uid "E736EBD7-40D1-6BFC-4CB8-7690EB334D87"; + rename -uid "977C0EA2-41DF-E0C9-712A-50A694BB47FD"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.3915877472269305 -0.0015955193487808828 -1.0620785493044065e-015 ; + setAttr ".t" -type "double3" 2.3915877472269269 -0.0015955193487791064 -1.0620785493044065e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0.038224192844409817 89.999999999999957 0 ; + setAttr ".r" -type "double3" 0.038224192844406014 89.999999999999957 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 2.3915882794427574 2.3915882794427561 2.391588279442757 ; + setAttr ".s" -type "double3" 2.3915882794427565 2.3915882794427561 2.3915882794427561 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "mouth_C0_root" -p "neck_C0_head"; - rename -uid "D841AAF3-47DE-97A5-AE7E-FD995C00DE83"; + rename -uid "91557551-43A4-8822-B550-4BA0F8077897"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -1363,18 +1448,18 @@ createNode transform -n "mouth_C0_root" -p "neck_C0_head"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.69584514547310761 0.71792767893744003 1.4003887623375056e-015 ; + setAttr ".t" -type "double3" 0.69584514547310405 0.71792767893743914 1.4003887623375046e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0.038224192844409824 89.999999999999957 0 ; + setAttr ".r" -type "double3" 0.038224192844406014 89.999999999999957 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.5373820334294297 0.53738203342942958 0.53738203342943014 ; + setAttr ".s" -type "double3" 0.53738203342942958 0.53738203342942947 0.53738203342943014 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -1384,9 +1469,8 @@ createNode transform -n "mouth_C0_root" -p "neck_C0_head"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "headUI_C0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "mouth_C0_rootShape" -p "mouth_C0_root"; - rename -uid "36191686-4714-E199-A4D3-BD9AD1637C4F"; + rename -uid "CA270A76-4FE2-E556-814C-35B320D1A5F6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1398,8 +1482,8 @@ createNode nurbsCurve -n "mouth_C0_rootShape" -p "mouth_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_root19Shape" -p "mouth_C0_root"; - rename -uid "277CC323-492D-F29E-BFDB-12905103EA5E"; +createNode nurbsCurve -n "mouth_C0_root22Shape" -p "mouth_C0_root"; + rename -uid "AB7A675A-42EC-E84D-4FE8-288BFE7C2F48"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1411,8 +1495,8 @@ createNode nurbsCurve -n "mouth_C0_root19Shape" -p "mouth_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_root20Shape" -p "mouth_C0_root"; - rename -uid "3DCD461A-4ADD-8363-049F-E98230C73134"; +createNode nurbsCurve -n "mouth_C0_root23Shape" -p "mouth_C0_root"; + rename -uid "3683E301-41D8-0DAA-ABC3-B78624C29CF4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1424,8 +1508,8 @@ createNode nurbsCurve -n "mouth_C0_root20Shape" -p "mouth_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_root21Shape" -p "mouth_C0_root"; - rename -uid "56564634-4483-A6DF-F637-E397C2953D73"; +createNode nurbsCurve -n "mouth_C0_root24Shape" -p "mouth_C0_root"; + rename -uid "4669D13F-4E4C-2E13-4094-499ACA6B91D4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1452,10 +1536,10 @@ createNode nurbsCurve -n "mouth_C0_root21Shape" -p "mouth_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "mouth_C0_rotcenter" -p "mouth_C0_root"; - rename -uid "8703B666-4DB2-B6EA-EB01-5DBDAC852A4C"; + rename -uid "D9EA27ED-4561-7ABE-9371-F186F061298A"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.9976714398398449e-029 -3.5527136788005009e-015 2.1316282072803006e-014 ; + setAttr ".t" -type "double3" 3.3132158019282496e-029 -3.5527136788005009e-015 2.4868995751603507e-014 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1463,12 +1547,12 @@ createNode transform -n "mouth_C0_rotcenter" -p "mouth_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.999999999999999 0.99999999999999833 0.99999999999999845 ; + setAttr ".s" -type "double3" 0.99999999999999911 0.99999999999999833 0.99999999999999845 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_rotcenterShape" -p "mouth_C0_rotcenter"; - rename -uid "10B04249-4F0B-A56C-8B36-AD9DF2B248F0"; + rename -uid "F756D1D8-405D-BF37-DEAC-E2A7AD30CA66"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1480,8 +1564,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenterShape" -p "mouth_C0_rotcenter"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter19Shape" -p "mouth_C0_rotcenter"; - rename -uid "BC946AE7-4534-29BF-D727-E29FF496D2B3"; +createNode nurbsCurve -n "mouth_C0_rotcenter22Shape" -p "mouth_C0_rotcenter"; + rename -uid "5BDA84D5-40C3-211D-AF7A-E48FDAF4DB5B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1493,8 +1577,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter19Shape" -p "mouth_C0_rotcenter"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter20Shape" -p "mouth_C0_rotcenter"; - rename -uid "2B7C6618-4270-E01B-4BA8-66B45C7E59D0"; +createNode nurbsCurve -n "mouth_C0_rotcenter23Shape" -p "mouth_C0_rotcenter"; + rename -uid "C8A34795-448D-72D2-7060-508DB7F2AFE0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1506,8 +1590,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter20Shape" -p "mouth_C0_rotcenter"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_rotcenter21Shape" -p "mouth_C0_rotcenter"; - rename -uid "6AF38691-449B-C056-6C37-8897F63B7123"; +createNode nurbsCurve -n "mouth_C0_rotcenter24Shape" -p "mouth_C0_rotcenter"; + rename -uid "72991C91-45D8-80CF-80E6-60A837E3FBF1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1524,8 +1608,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter21Shape" -p "mouth_C0_rotcenter"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter21_0crvShape" -p "mouth_C0_rotcenter"; - rename -uid "F3E45F69-4BC7-B863-BE31-549E8CD949A9"; +createNode nurbsCurve -n "mouth_C0_rotcenter24_0crvShape" -p "mouth_C0_rotcenter"; + rename -uid "86A4FCED-478C-8CDE-3E03-4CB9672D4A38"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1542,8 +1626,8 @@ createNode nurbsCurve -n "mouth_C0_rotcenter21_0crvShape" -p "mouth_C0_rotcenter 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_rotcenter21_1crvShape" -p "mouth_C0_rotcenter"; - rename -uid "349C8520-4BB0-6251-2BF4-6A9ABE7E1049"; +createNode nurbsCurve -n "mouth_C0_rotcenter24_1crvShape" -p "mouth_C0_rotcenter"; + rename -uid "A936D7FE-4BC8-C383-8F22-65A49571EA12"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1561,10 +1645,10 @@ createNode nurbsCurve -n "mouth_C0_rotcenter21_1crvShape" -p "mouth_C0_rotcenter 0 0 -0.1875 ; createNode transform -n "mouth_C0_lipup" -p "mouth_C0_rotcenter"; - rename -uid "8208F79C-44FF-5F79-D955-46B5D3864E8A"; + rename -uid "126AE641-44CD-780D-6F44-A4A0200F8764"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 4.2971167579553764e-015 -0.83057537847144047 2.6485854255406984 ; + setAttr ".t" -type "double3" 4.2971167579553779e-015 -0.83057537847144047 2.6485854255406984 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1572,12 +1656,12 @@ createNode transform -n "mouth_C0_lipup" -p "mouth_C0_rotcenter"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999944 0.99999999999999978 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999944 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_lipupShape" -p "mouth_C0_lipup"; - rename -uid "2277C8E1-43CC-D24D-55AE-3FBFC37EABDB"; + rename -uid "5EA25A74-4862-8E12-5382-848F892F0FE4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1589,8 +1673,8 @@ createNode nurbsCurve -n "mouth_C0_lipupShape" -p "mouth_C0_lipup"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_lipup19Shape" -p "mouth_C0_lipup"; - rename -uid "99781C56-4FF4-FB53-E25E-6B986D367380"; +createNode nurbsCurve -n "mouth_C0_lipup22Shape" -p "mouth_C0_lipup"; + rename -uid "C33AEF3B-43A2-3099-4774-6096A8E5D386"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1602,8 +1686,8 @@ createNode nurbsCurve -n "mouth_C0_lipup19Shape" -p "mouth_C0_lipup"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_lipup20Shape" -p "mouth_C0_lipup"; - rename -uid "83396BF8-4974-19B6-CCB5-B78B24A71C9B"; +createNode nurbsCurve -n "mouth_C0_lipup23Shape" -p "mouth_C0_lipup"; + rename -uid "A0697985-446D-0FCE-2FE4-B9B58A8D949E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1615,8 +1699,8 @@ createNode nurbsCurve -n "mouth_C0_lipup20Shape" -p "mouth_C0_lipup"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_lipup21Shape" -p "mouth_C0_lipup"; - rename -uid "5EDD7F60-40C6-51B6-0DE9-DF8FA700D334"; +createNode nurbsCurve -n "mouth_C0_lipup24Shape" -p "mouth_C0_lipup"; + rename -uid "39BAF601-4C34-6B7A-BCB1-F39EA65B1A96"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1633,8 +1717,8 @@ createNode nurbsCurve -n "mouth_C0_lipup21Shape" -p "mouth_C0_lipup"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_lipup21_0crvShape" -p "mouth_C0_lipup"; - rename -uid "5AD34162-407E-8797-5825-398B29EAAA7B"; +createNode nurbsCurve -n "mouth_C0_lipup24_0crvShape" -p "mouth_C0_lipup"; + rename -uid "F68A408F-41C0-D7AF-781B-30A1723CE72E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1651,8 +1735,8 @@ createNode nurbsCurve -n "mouth_C0_lipup21_0crvShape" -p "mouth_C0_lipup"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_lipup21_1crvShape" -p "mouth_C0_lipup"; - rename -uid "0980A657-436E-AA99-5BF7-26A872965A7B"; +createNode nurbsCurve -n "mouth_C0_lipup24_1crvShape" -p "mouth_C0_lipup"; + rename -uid "DC2919AC-4000-8CD1-BF71-E8979C937275"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1670,18 +1754,18 @@ createNode nurbsCurve -n "mouth_C0_lipup21_1crvShape" -p "mouth_C0_lipup"; 0 0 -0.1875 ; createNode transform -n "mouth_C0_crv" -p "mouth_C0_lipup"; - rename -uid "890BADFA-4F57-8B66-06C0-41831BA901E0"; + rename -uid "2C70D9F8-4D19-B1E8-A9B9-05BDE026293D"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -1.3722175990868861e-014 -14.161367226604183 -19.457469484456148 ; - setAttr ".s" -type "double3" 4.4504433171691238 4.4504433171691282 4.4504433171691229 ; -createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; - rename -uid "8EE8E809-48A1-F189-0A30-0E849F1AC185"; + setAttr ".t" -type "double3" -1.3722175990868867e-014 -14.161367226604185 -19.457469484456155 ; + setAttr ".s" -type "double3" 4.4504433171691247 4.4504433171691282 4.4504433171691247 ; +createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; + rename -uid "ADFCE0AB-4357-21CF-3670-E29EF0B07320"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; - rename -uid "FA350108-41D1-95C9-2B51-0496DB6FDF2A"; +createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv"; + rename -uid "34A597C5-497C-3343-39D6-218A10893D07"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -1692,7 +1776,7 @@ createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C 0 0 0 ; createNode transform -n "mouth_C0_liplow" -p "mouth_C0_rotcenter"; - rename -uid "ABB95FF0-4336-2D2C-5005-6C81D5668CC9"; + rename -uid "2D5FCAD8-4150-5287-F6D0-C58EC53433D0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 3.7198567879251422e-015 -1.1237321151316078 2.4565606483465565 ; @@ -1703,12 +1787,12 @@ createNode transform -n "mouth_C0_liplow" -p "mouth_C0_rotcenter"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999944 0.99999999999999978 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999944 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_liplowShape" -p "mouth_C0_liplow"; - rename -uid "D3160EF2-4075-35A6-1BFD-37B5EB76E942"; + rename -uid "FF865A74-48F3-B435-4C2B-37BF2E3F58BD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1720,8 +1804,8 @@ createNode nurbsCurve -n "mouth_C0_liplowShape" -p "mouth_C0_liplow"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_liplow19Shape" -p "mouth_C0_liplow"; - rename -uid "165042A1-43B5-82CF-C748-428242E882EA"; +createNode nurbsCurve -n "mouth_C0_liplow22Shape" -p "mouth_C0_liplow"; + rename -uid "D6A8940B-40FD-A869-B094-719BFAA44D0F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1733,8 +1817,8 @@ createNode nurbsCurve -n "mouth_C0_liplow19Shape" -p "mouth_C0_liplow"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_liplow20Shape" -p "mouth_C0_liplow"; - rename -uid "48F28A05-434A-5558-CB04-1AA233A27B8F"; +createNode nurbsCurve -n "mouth_C0_liplow23Shape" -p "mouth_C0_liplow"; + rename -uid "265362F5-4FBC-2E68-FFE9-B9A42B4BD986"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1746,8 +1830,8 @@ createNode nurbsCurve -n "mouth_C0_liplow20Shape" -p "mouth_C0_liplow"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_liplow21Shape" -p "mouth_C0_liplow"; - rename -uid "DBB55BB7-4743-FC4A-A528-54A664F49E46"; +createNode nurbsCurve -n "mouth_C0_liplow24Shape" -p "mouth_C0_liplow"; + rename -uid "EA5C51F1-4323-1F6C-F8EC-52B85E0AB193"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1764,8 +1848,8 @@ createNode nurbsCurve -n "mouth_C0_liplow21Shape" -p "mouth_C0_liplow"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_liplow21_0crvShape" -p "mouth_C0_liplow"; - rename -uid "943FC26D-4AA9-54B8-EB89-0CB8CF9DF96F"; +createNode nurbsCurve -n "mouth_C0_liplow24_0crvShape" -p "mouth_C0_liplow"; + rename -uid "6F42407B-4C10-15C4-E571-C8A73457E2B4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1782,8 +1866,8 @@ createNode nurbsCurve -n "mouth_C0_liplow21_0crvShape" -p "mouth_C0_liplow"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_liplow21_1crvShape" -p "mouth_C0_liplow"; - rename -uid "7A8254CE-4D66-E25E-EA9D-159D9F746A52"; +createNode nurbsCurve -n "mouth_C0_liplow24_1crvShape" -p "mouth_C0_liplow"; + rename -uid "42B9409E-4AD5-94F3-A1E4-4B89B66FA4EE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1801,18 +1885,18 @@ createNode nurbsCurve -n "mouth_C0_liplow21_1crvShape" -p "mouth_C0_liplow"; 0 0 -0.1875 ; createNode transform -n "mouth_C0_crv" -p "mouth_C0_liplow"; - rename -uid "0BD27BC7-492D-3CF1-063A-F68EFB8D34E9"; + rename -uid "6CFE16BA-4C68-30A9-15F0-7BBCD2915ECF"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -1.3144916020838624e-014 -13.868210489944016 -19.265444707262002 ; - setAttr ".s" -type "double3" 4.4504433171691238 4.4504433171691282 4.4504433171691229 ; -createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; - rename -uid "8D1DD79C-4910-4A62-5B96-3CB03FED0EFF"; + setAttr ".t" -type "double3" -1.3144916020838627e-014 -13.868210489944017 -19.265444707262013 ; + setAttr ".s" -type "double3" 4.4504433171691247 4.4504433171691282 4.4504433171691247 ; +createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; + rename -uid "0682BD75-4BD0-3805-35A9-129CD4488A30"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; - rename -uid "B7C78B89-4940-D07C-ADD6-D0A8CFEE3509"; +createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv"; + rename -uid "6C8B95A9-49BA-CC2A-F942-BE85C7EF5796"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -1823,10 +1907,10 @@ createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C 0 0 0 ; createNode transform -n "mouth_C0_jaw" -p "mouth_C0_root"; - rename -uid "B265A8EE-4757-0D91-DFFC-C890E595AECC"; + rename -uid "83E6C5BB-4C0A-0AE7-19B9-D08203689BE1"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 3.3132158019282496e-029 -1.9431960625636933 2.006989566316264 ; + setAttr ".t" -type "double3" 3.4709879829724519e-029 -1.9431960625636933 2.0069895663162676 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -1834,12 +1918,12 @@ createNode transform -n "mouth_C0_jaw" -p "mouth_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.999999999999999 0.99999999999999833 0.99999999999999845 ; + setAttr ".s" -type "double3" 0.99999999999999911 0.99999999999999833 0.99999999999999845 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "mouth_C0_jawShape" -p "mouth_C0_jaw"; - rename -uid "CB88587D-40AE-144E-F095-728D516E3FF3"; + rename -uid "09CF5534-4420-EAF3-635F-AA9BC3F760D9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1851,8 +1935,8 @@ createNode nurbsCurve -n "mouth_C0_jawShape" -p "mouth_C0_jaw"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "mouth_C0_jaw19Shape" -p "mouth_C0_jaw"; - rename -uid "A8352041-4E4D-0A90-E64F-8C822FF1855F"; +createNode nurbsCurve -n "mouth_C0_jaw22Shape" -p "mouth_C0_jaw"; + rename -uid "B09F3321-49B9-B553-3E69-2583771E91EF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1864,8 +1948,8 @@ createNode nurbsCurve -n "mouth_C0_jaw19Shape" -p "mouth_C0_jaw"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "mouth_C0_jaw20Shape" -p "mouth_C0_jaw"; - rename -uid "F2192253-4EFE-568B-D342-6B8CB4769E3B"; +createNode nurbsCurve -n "mouth_C0_jaw23Shape" -p "mouth_C0_jaw"; + rename -uid "B8BCB540-45FA-9079-3B28-378EF6253843"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1877,8 +1961,8 @@ createNode nurbsCurve -n "mouth_C0_jaw20Shape" -p "mouth_C0_jaw"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "mouth_C0_jaw21Shape" -p "mouth_C0_jaw"; - rename -uid "E9EA10EB-41CB-D38D-EF84-26BC097A3E72"; +createNode nurbsCurve -n "mouth_C0_jaw24Shape" -p "mouth_C0_jaw"; + rename -uid "D8827A0A-4C80-B4E0-A9A3-248DEB8CC338"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1895,8 +1979,8 @@ createNode nurbsCurve -n "mouth_C0_jaw21Shape" -p "mouth_C0_jaw"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_jaw21_0crvShape" -p "mouth_C0_jaw"; - rename -uid "516CAF7A-4B04-4CFE-1317-B8BD8D5F29F7"; +createNode nurbsCurve -n "mouth_C0_jaw24_0crvShape" -p "mouth_C0_jaw"; + rename -uid "FE1F758B-48FA-5531-E514-3387E6ADCF52"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1913,8 +1997,8 @@ createNode nurbsCurve -n "mouth_C0_jaw21_0crvShape" -p "mouth_C0_jaw"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "mouth_C0_jaw21_1crvShape" -p "mouth_C0_jaw"; - rename -uid "91A4CAEA-4B96-8020-6BC7-CB93A6EE73D4"; +createNode nurbsCurve -n "mouth_C0_jaw24_1crvShape" -p "mouth_C0_jaw"; + rename -uid "E19D81C4-440B-CAED-1B95-37A1C433E3DE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -1932,18 +2016,18 @@ createNode nurbsCurve -n "mouth_C0_jaw21_1crvShape" -p "mouth_C0_jaw"; 0 0 -0.1875 ; createNode transform -n "mouth_C0_crv" -p "mouth_C0_root"; - rename -uid "F41D9D3A-46FC-6C8F-239C-E2A1BB88E633"; + rename -uid "F66898FA-4111-FB81-BF5F-E18B61B60381"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -9.4250592329134309e-015 -14.991942605075595 -16.808884058915393 ; - setAttr ".s" -type "double3" 4.4504433171691176 4.4504433171691185 4.4504433171691149 ; -createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; - rename -uid "728B1211-48F4-B070-96B5-8980058A8F11"; + setAttr ".t" -type "double3" -9.4250592329134356e-015 -14.991942605075595 -16.808884058915393 ; + setAttr ".s" -type "double3" 4.4504433171691185 4.4504433171691185 4.4504433171691149 ; +createNode nurbsCurve -n "mouth_C0_crvShape" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; + rename -uid "E4DEC7B0-4A58-1C15-B794-00B93F924B97"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; - rename -uid "6C9A0FAA-4D66-4D63-B56B-39A83F0897C0"; +createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv"; + rename -uid "7D2D681A-4DAB-EA2E-10C0-6AB8A48C4AA8"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -1953,19 +2037,19 @@ createNode nurbsCurve -n "mouth_C0_crvShapeOrig" -p "|guide|local_C0_root|body_C 0 0 0 0 0 0 ; -createNode transform -n "mouth_C0_crv7" -p "mouth_C0_root"; - rename -uid "A4F2FE17-442A-CA5D-0523-01860C0942C4"; +createNode transform -n "mouth_C0_crv8" -p "mouth_C0_root"; + rename -uid "94AA9D3F-44E8-9E75-A59C-7BAEAD7FE93C"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -9.4250592329134309e-015 -14.991942605075595 -16.808884058915393 ; - setAttr ".s" -type "double3" 4.4504433171691176 4.4504433171691185 4.4504433171691149 ; -createNode nurbsCurve -n "mouth_C0_crv7Shape" -p "mouth_C0_crv7"; - rename -uid "2E63BEAD-4852-8230-2E2F-6696C9EDDF32"; + setAttr ".t" -type "double3" -9.4250592329134356e-015 -14.991942605075595 -16.808884058915393 ; + setAttr ".s" -type "double3" 4.4504433171691185 4.4504433171691185 4.4504433171691149 ; +createNode nurbsCurve -n "mouth_C0_crv8Shape" -p "mouth_C0_crv8"; + rename -uid "A3FA8B5B-4CAE-3DDB-C78B-D093627B0825"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; -createNode nurbsCurve -n "mouth_C0_crv7ShapeOrig" -p "mouth_C0_crv7"; - rename -uid "B459A6BF-4CCD-CCC3-2B98-2B8024586BBB"; +createNode nurbsCurve -n "mouth_C0_crv8ShapeOrig" -p "mouth_C0_crv8"; + rename -uid "3F7AF5F8-44FA-B891-894B-E4ADFE510EB3"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -1976,7 +2060,7 @@ createNode nurbsCurve -n "mouth_C0_crv7ShapeOrig" -p "mouth_C0_crv7"; 0 0 0 ; createNode transform -n "eyeslook_C0_root" -p "neck_C0_head"; - rename -uid "9AF4105A-4DAF-41AD-4E50-F68E444C1188"; + rename -uid "4ECDE7D0-4380-A002-245A-CB8FD817BE9F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -1988,33 +2072,35 @@ createNode transform -n "eyeslook_C0_root" -p "neck_C0_head"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ro" -ln "k_ro" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rx" -ln "k_rx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_ry" -ln "k_ry" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_rz" -ln "k_rz" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sx" -ln "k_sx" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tx" -ln "k_tx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ty" -ln "k_ty" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_tz" -ln "k_tz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ro" -ln "k_ro" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rx" -ln "k_rx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_ry" -ln "k_ry" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_rz" -ln "k_rz" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sx" -ln "k_sx" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sy" -ln "k_sy" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "k_sz" -ln "k_sz" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 1 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 4.9771436298332112 1.022199806296153 -1.7545700686211258e-015 ; + setAttr ".t" -type "double3" 4.9771436298332059 1.0221998062961521 -1.7545700686211268e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0.038224192844409817 89.999999999999957 0 ; + setAttr ".r" -type "double3" 0.038224192844406028 89.999999999999957 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 2.3915882794427579 2.3915882794427579 2.391588279442757 ; + setAttr ".s" -type "double3" 2.3915882794427574 2.3915882794427574 2.3915882794427561 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -2026,22 +2112,8 @@ createNode transform -n "eyeslook_C0_root" -p "neck_C0_head"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "square"; setAttr ".ikrefarray" -type "string" "neck_C0_eff,COG_C0_root,local_C0_root"; - setAttr ".uniScale" yes; - setAttr ".k_tx" yes; - setAttr ".k_ty" yes; - setAttr ".k_tz" yes; - setAttr ".k_ro" yes; - setAttr ".k_rx" yes; - setAttr ".k_ry" yes; - setAttr ".k_rz" yes; - setAttr ".k_sx" yes; - setAttr ".k_sy" yes; - setAttr ".k_sz" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 1; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "eyeslook_C0_rootShape" -p "eyeslook_C0_root"; - rename -uid "F302D617-448E-5D1A-97FE-189DA7E3A55F"; + rename -uid "2EA818C9-4DE0-5958-AE2D-ED83D4956A9D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2053,8 +2125,8 @@ createNode nurbsCurve -n "eyeslook_C0_rootShape" -p "eyeslook_C0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eyeslook_C0_root19Shape" -p "eyeslook_C0_root"; - rename -uid "91B7DE14-45A0-93A9-827A-00AFB6F25B69"; +createNode nurbsCurve -n "eyeslook_C0_root22Shape" -p "eyeslook_C0_root"; + rename -uid "C1424482-4290-112E-358D-BD9E6EAA2286"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2066,8 +2138,8 @@ createNode nurbsCurve -n "eyeslook_C0_root19Shape" -p "eyeslook_C0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eyeslook_C0_root20Shape" -p "eyeslook_C0_root"; - rename -uid "0D7DA6E9-490B-C2F5-F173-C084A41ED275"; +createNode nurbsCurve -n "eyeslook_C0_root23Shape" -p "eyeslook_C0_root"; + rename -uid "ADAE8539-47A1-F160-57DC-38B70B44686E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2079,8 +2151,8 @@ createNode nurbsCurve -n "eyeslook_C0_root20Shape" -p "eyeslook_C0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eyeslook_C0_root21Shape" -p "eyeslook_C0_root"; - rename -uid "2172155B-41DF-C2CA-349E-CF853A737EDC"; +createNode nurbsCurve -n "eyeslook_C0_root24Shape" -p "eyeslook_C0_root"; + rename -uid "92D6B96A-4847-6391-4EE7-E1BD148F4296"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2107,10 +2179,10 @@ createNode nurbsCurve -n "eyeslook_C0_root21Shape" -p "eyeslook_C0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "eyeslook_C0_sizeRef" -p "eyeslook_C0_root"; - rename -uid "52110D1B-4704-3447-59F9-E88C35F1096E"; + rename -uid "3C9D753E-4251-7929-FAD0-62BC044D2A28"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.1102230246251558e-015 0 1 ; + setAttr ".t" -type "double3" 1.1102230246251565e-015 0 1.0000000000000036 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2118,12 +2190,12 @@ createNode transform -n "eyeslook_C0_sizeRef" -p "eyeslook_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999956 0.99999999999999956 1.0000000000000004 ; + setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999978 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "eye_L0_root" -p "neck_C0_head"; - rename -uid "359EFD96-40E1-93CB-9060-7CBC8AD3F975"; + rename -uid "7926DD38-4DF6-BA50-C87E-41A35CDEDD50"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -2136,9 +2208,9 @@ createNode transform -n "eye_L0_root" -p "neck_C0_head"; -max 2 -en "X:Y:Z" -at "enum"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.25733245506886071 1.0267893607782357 -0.42107730061382631 ; + setAttr ".t" -type "double3" 0.25733245506885538 1.0267893607782348 -0.42107730061382626 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2147,7 +2219,7 @@ createNode transform -n "eye_L0_root" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 2.3915882794427543 2.3915882794427614 2.391588279442753 ; + setAttr ".s" -type "double3" 2.391588279442753 2.391588279442761 2.3915882794427525 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -2159,9 +2231,8 @@ createNode transform -n "eye_L0_root" -p "neck_C0_head"; setAttr ".ctlGrp" -type "string" ""; setAttr -k on ".upVectorDirection" 1; setAttr ".ikrefarray" -type "string" "eyesAim_C0_root"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "eye_L0_rootShape" -p "eye_L0_root"; - rename -uid "EBA79DF1-45B3-5463-6CF1-31A4738A6946"; + rename -uid "F83BAD8D-4C02-7A3F-02C8-719383DC5E45"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2173,8 +2244,8 @@ createNode nurbsCurve -n "eye_L0_rootShape" -p "eye_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_L0_root19Shape" -p "eye_L0_root"; - rename -uid "CA1FD827-4BEC-12A5-182F-DD8671B59E0F"; +createNode nurbsCurve -n "eye_L0_root22Shape" -p "eye_L0_root"; + rename -uid "7EC1AFA0-4096-0093-E1B0-24BEC09586EF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2186,8 +2257,8 @@ createNode nurbsCurve -n "eye_L0_root19Shape" -p "eye_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_L0_root20Shape" -p "eye_L0_root"; - rename -uid "F64315D3-4EC3-C2E8-5C6E-AF87E5434CEB"; +createNode nurbsCurve -n "eye_L0_root23Shape" -p "eye_L0_root"; + rename -uid "1CC223AF-422F-2975-3D45-E1B88EAFA4E8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2199,8 +2270,8 @@ createNode nurbsCurve -n "eye_L0_root20Shape" -p "eye_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_L0_root21Shape" -p "eye_L0_root"; - rename -uid "A8A78025-40E6-73B1-4840-6B80187CD37B"; +createNode nurbsCurve -n "eye_L0_root24Shape" -p "eye_L0_root"; + rename -uid "8967C660-4DBF-8246-E0F0-1A935A820C63"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2227,10 +2298,10 @@ createNode nurbsCurve -n "eye_L0_root21Shape" -p "eye_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "eye_L0_look" -p "eye_L0_root"; - rename -uid "4C63385C-4C16-702E-63B7-21B9BF1DE3B1"; + rename -uid "042A68A9-4419-D9DC-1EFA-ACB03B55BC50"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -5.5511151231257827e-016 7.9936057773011271e-015 2.0321341905376475 ; + setAttr ".t" -type "double3" -8.8817841970012523e-016 9.7699626167013776e-015 2.0321341905376498 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2238,12 +2309,12 @@ createNode transform -n "eye_L0_look" -p "eye_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000009 0.99999999999999811 1.0000000000000016 ; + setAttr ".s" -type "double3" 1.0000000000000013 0.99999999999999811 1.0000000000000018 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "eye_L0_lookShape" -p "eye_L0_look"; - rename -uid "04045B00-4930-117F-73C6-8BA856954B31"; + rename -uid "ABC4A518-4366-BFBD-6F48-6B8B401EFBF2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2255,8 +2326,8 @@ createNode nurbsCurve -n "eye_L0_lookShape" -p "eye_L0_look"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_L0_look19Shape" -p "eye_L0_look"; - rename -uid "20EF492C-4D69-B33C-AD4A-2B81C8586F06"; +createNode nurbsCurve -n "eye_L0_look22Shape" -p "eye_L0_look"; + rename -uid "095DAA0E-4B70-D84B-A3C2-9482C89438CD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2268,8 +2339,8 @@ createNode nurbsCurve -n "eye_L0_look19Shape" -p "eye_L0_look"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_L0_look20Shape" -p "eye_L0_look"; - rename -uid "7FB79EDE-47A8-19EA-E4F6-439E5FEC6547"; +createNode nurbsCurve -n "eye_L0_look23Shape" -p "eye_L0_look"; + rename -uid "4471EA98-44F2-7479-05DA-4884653E7E0E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2281,8 +2352,8 @@ createNode nurbsCurve -n "eye_L0_look20Shape" -p "eye_L0_look"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_L0_look21Shape" -p "eye_L0_look"; - rename -uid "B98DBC9B-4554-246A-150F-9EA2317DD2A3"; +createNode nurbsCurve -n "eye_L0_look24Shape" -p "eye_L0_look"; + rename -uid "7916437E-4EA3-4B24-7A7A-B4AD0C2201FA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2299,8 +2370,8 @@ createNode nurbsCurve -n "eye_L0_look21Shape" -p "eye_L0_look"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_L0_look21_0crvShape" -p "eye_L0_look"; - rename -uid "558860D3-409F-FFD9-6394-BAA26B967E0A"; +createNode nurbsCurve -n "eye_L0_look24_0crvShape" -p "eye_L0_look"; + rename -uid "0F98BD4C-4CD4-AF36-5565-53AF995EA861"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2317,8 +2388,8 @@ createNode nurbsCurve -n "eye_L0_look21_0crvShape" -p "eye_L0_look"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_L0_look21_1crvShape" -p "eye_L0_look"; - rename -uid "F2264568-45D4-5AEE-6225-9B98C40F3A8F"; +createNode nurbsCurve -n "eye_L0_look24_1crvShape" -p "eye_L0_look"; + rename -uid "3793F46D-49DE-758B-AE5B-74A5C9B840EB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2336,19 +2407,19 @@ createNode nurbsCurve -n "eye_L0_look21_1crvShape" -p "eye_L0_look"; 0 0 -0.1875 ; createNode transform -n "eye_L0_crv" -p "eye_L0_root"; - rename -uid "11A5D0D3-48CB-CC82-F136-E0A82F6F191F"; + rename -uid "8D3542CE-499D-61E4-EC58-578370679043"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 0.69889742974753399 -3.4976629291575771 -3.5292331821335634 ; - setAttr ".r" -type "double3" 0 -14.006447505262578 0 ; - setAttr ".s" -type "double3" 1.0000000000000011 0.99999999999999811 1.000000000000002 ; + setAttr ".t" -type "double3" 0.6988974297475341 -3.4976629291575771 -3.529233182133563 ; + setAttr ".r" -type "double3" 0 -14.006447505262575 0 ; + setAttr ".s" -type "double3" 1.0000000000000018 0.99999999999999822 1.0000000000000022 ; createNode nurbsCurve -n "eye_L0_crvShape" -p "eye_L0_crv"; - rename -uid "E324F924-44A1-370D-C5B7-35A55A600909"; + rename -uid "B8D76070-45EF-8A59-C87B-E4B63CB9E9CA"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "eye_L0_crvShapeOrig" -p "eye_L0_crv"; - rename -uid "0FED39C0-4C22-D444-A572-22A58A715360"; + rename -uid "52246594-4AD9-431B-292E-479C23FFFDDB"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -2359,7 +2430,7 @@ createNode nurbsCurve -n "eye_L0_crvShapeOrig" -p "eye_L0_crv"; 0 0 0 ; createNode transform -n "eye_R0_root" -p "neck_C0_head"; - rename -uid "A7D65803-4EE9-BDF9-9BCC-3E896ADA1038"; + rename -uid "322E4D85-4458-99B7-12C3-51BD64EC9736"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -2372,9 +2443,9 @@ createNode transform -n "eye_R0_root" -p "neck_C0_head"; -max 2 -en "X:Y:Z" -at "enum"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.25733245506886426 1.0267893607782321 0.42107730061382803 ; + setAttr ".t" -type "double3" 0.25733245506885893 1.0267893607782295 0.42107730061382798 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2383,7 +2454,7 @@ createNode transform -n "eye_R0_root" -p "neck_C0_head"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 2.3915882794427552 2.3915882794427614 -2.3915882794427548 ; + setAttr ".s" -type "double3" 2.3915882794427543 2.391588279442761 -2.3915882794427543 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -2395,9 +2466,8 @@ createNode transform -n "eye_R0_root" -p "neck_C0_head"; setAttr ".ctlGrp" -type "string" ""; setAttr -k on ".upVectorDirection" 1; setAttr ".ikrefarray" -type "string" "eyesAim_C0_root"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "eye_R0_rootShape" -p "eye_R0_root"; - rename -uid "C9F48B07-4F67-1DF0-81DD-D5B99639DBF6"; + rename -uid "0EEF49A8-4D3A-A94F-19D1-02A1D3E4C33C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2409,8 +2479,8 @@ createNode nurbsCurve -n "eye_R0_rootShape" -p "eye_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_R0_root10Shape" -p "eye_R0_root"; - rename -uid "CD320243-40B3-A928-5436-629E9000B1D2"; +createNode nurbsCurve -n "eye_R0_root13Shape" -p "eye_R0_root"; + rename -uid "A8EF0677-4018-8CD8-B32A-2A9B017060FB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2422,8 +2492,8 @@ createNode nurbsCurve -n "eye_R0_root10Shape" -p "eye_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_R0_root11Shape" -p "eye_R0_root"; - rename -uid "809AF5C7-4AD2-B992-47ED-E89B1F5A0827"; +createNode nurbsCurve -n "eye_R0_root14Shape" -p "eye_R0_root"; + rename -uid "0935F170-4BE3-D70E-BB79-11BFC1B82124"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2435,8 +2505,8 @@ createNode nurbsCurve -n "eye_R0_root11Shape" -p "eye_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_R0_root12Shape" -p "eye_R0_root"; - rename -uid "4786CEBE-4F2B-462F-B106-C8A6C85BC43F"; +createNode nurbsCurve -n "eye_R0_root15Shape" -p "eye_R0_root"; + rename -uid "FE32CD01-41B9-3AEA-B100-D0BC8F141BB9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2463,10 +2533,10 @@ createNode nurbsCurve -n "eye_R0_root12Shape" -p "eye_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "eye_R0_look" -p "eye_R0_root"; - rename -uid "CA80CF76-4E8C-F5AC-4C84-F580E35E6DEC"; + rename -uid "74F94454-4ADB-D567-0133-D1953BEBD75A"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -3.3306690738754696e-016 7.9936057773011271e-015 2.0321341905376418 ; + setAttr ".t" -type "double3" -5.5511151231257827e-016 7.9936057773011271e-015 2.0321341905376422 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2474,12 +2544,12 @@ createNode transform -n "eye_R0_look" -p "eye_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999778 1.0000000000000007 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999778 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "eye_R0_lookShape" -p "eye_R0_look"; - rename -uid "36562C7D-48FC-701D-86F0-EAADA26EB2AD"; + rename -uid "E6D27AF4-465A-ECF7-58BC-C9A4EC8643C3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2491,8 +2561,8 @@ createNode nurbsCurve -n "eye_R0_lookShape" -p "eye_R0_look"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "eye_R0_look10Shape" -p "eye_R0_look"; - rename -uid "942484D5-4CF0-062F-0C28-29AEE28B77A6"; +createNode nurbsCurve -n "eye_R0_look13Shape" -p "eye_R0_look"; + rename -uid "13C3F2E0-4FFE-CB3A-03A1-25B4BE34092F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2504,8 +2574,8 @@ createNode nurbsCurve -n "eye_R0_look10Shape" -p "eye_R0_look"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "eye_R0_look11Shape" -p "eye_R0_look"; - rename -uid "37482EC7-46B8-BCBF-1E8B-51B1A1BA9B67"; +createNode nurbsCurve -n "eye_R0_look14Shape" -p "eye_R0_look"; + rename -uid "45CCED2A-481B-1C0D-886F-BD94585B9C90"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2517,8 +2587,8 @@ createNode nurbsCurve -n "eye_R0_look11Shape" -p "eye_R0_look"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "eye_R0_look12Shape" -p "eye_R0_look"; - rename -uid "16F9AB3C-4E81-4581-9664-F4ABAC28A4CA"; +createNode nurbsCurve -n "eye_R0_look15Shape" -p "eye_R0_look"; + rename -uid "AC31E9DB-4AF8-E3EC-990C-ECA9DAD61CE4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2535,8 +2605,8 @@ createNode nurbsCurve -n "eye_R0_look12Shape" -p "eye_R0_look"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_R0_look12_0crvShape" -p "eye_R0_look"; - rename -uid "6C777E2F-4693-E1E4-DA21-1BA0370B02D5"; +createNode nurbsCurve -n "eye_R0_look15_0crvShape" -p "eye_R0_look"; + rename -uid "3945BD19-4600-0530-19F3-87AD88BB9ABD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2553,8 +2623,8 @@ createNode nurbsCurve -n "eye_R0_look12_0crvShape" -p "eye_R0_look"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "eye_R0_look12_1crvShape" -p "eye_R0_look"; - rename -uid "AF498102-4259-7626-4776-968C7377F396"; +createNode nurbsCurve -n "eye_R0_look15_1crvShape" -p "eye_R0_look"; + rename -uid "680F0AAE-415C-96DD-EFAA-89AD50AE6080"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2572,19 +2642,19 @@ createNode nurbsCurve -n "eye_R0_look12_1crvShape" -p "eye_R0_look"; 0 0 -0.1875 ; createNode transform -n "eye_R0_crv" -p "eye_R0_root"; - rename -uid "8CB50376-4218-05C6-58F0-CCBC150E8B06"; + rename -uid "229ECC66-4661-E5DD-1895-BDB580A9418D"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 0.69889742974753455 -3.4976629291575767 -3.5292331821335621 ; + setAttr ".t" -type "double3" 0.69889742974753422 -3.4976629291575758 -3.5292331821335599 ; setAttr ".r" -type "double3" 0 165.99355249473743 0 ; - setAttr ".s" -type "double3" 1.0000000000000009 0.99999999999999822 -1.0000000000000011 ; + setAttr ".s" -type "double3" 1.0000000000000011 0.99999999999999822 -1.0000000000000011 ; createNode nurbsCurve -n "eye_R0_crvShape" -p "eye_R0_crv"; - rename -uid "976B5B40-485C-52C2-01B8-419E722F188D"; + rename -uid "8180A9B2-427F-1A29-A5BA-308E2487A55D"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "eye_R0_crvShapeOrig" -p "eye_R0_crv"; - rename -uid "D59D13B5-42E8-8DAF-AC6A-749787C78C3B"; + rename -uid "DE1D7E74-4D09-FD4A-7ADA-55994D09C3A6"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -2595,10 +2665,10 @@ createNode nurbsCurve -n "eye_R0_crvShapeOrig" -p "eye_R0_crv"; 0 0 0 ; createNode transform -n "neck_C0_tan1" -p "neck_C0_neck"; - rename -uid "C97E4194-4DFA-1437-3236-0EA7C3E3C0D6"; + rename -uid "8D584FF0-4238-6773-FA51-CDB3174DB3C8"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.094534318000986772 -0.76996010281298766 1.5833033991300372e-016 ; + setAttr ".t" -type "double3" 0.094534318000986772 -0.76996010281298766 1.5833033991300544e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2606,12 +2676,12 @@ createNode transform -n "neck_C0_tan1" -p "neck_C0_neck"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999978 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999956 0.99999999999999978 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_tanShape1" -p "neck_C0_tan1"; - rename -uid "C712ACAF-4CFD-6A50-1A7E-919D3E1F716D"; + rename -uid "4302B38A-4AB0-851C-CB26-91A266D3F260"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2623,8 +2693,8 @@ createNode nurbsCurve -n "neck_C0_tanShape1" -p "neck_C0_tan1"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_tanShape14" -p "neck_C0_tan1"; - rename -uid "6D21397D-419C-6D6F-C04E-56A428439A95"; +createNode nurbsCurve -n "neck_C0_tanShape16" -p "neck_C0_tan1"; + rename -uid "AA0FF60A-4552-799F-2BCC-C885FA0384EA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2636,8 +2706,8 @@ createNode nurbsCurve -n "neck_C0_tanShape14" -p "neck_C0_tan1"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_tanShape15" -p "neck_C0_tan1"; - rename -uid "582746AD-4BBA-1452-0A20-2BBC05FFFB4E"; +createNode nurbsCurve -n "neck_C0_tanShape17" -p "neck_C0_tan1"; + rename -uid "36B8F2EB-4FDA-A75D-9AC8-E592FF7C2A1B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2649,8 +2719,8 @@ createNode nurbsCurve -n "neck_C0_tanShape15" -p "neck_C0_tan1"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_tanShape16" -p "neck_C0_tan1"; - rename -uid "108EFCDD-441B-9BAA-4570-B7824BB33F6B"; +createNode nurbsCurve -n "neck_C0_tanShape18" -p "neck_C0_tan1"; + rename -uid "0E2CD5EC-4D04-C9C2-A84C-BEA4E0EF6C18"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2667,8 +2737,8 @@ createNode nurbsCurve -n "neck_C0_tanShape16" -p "neck_C0_tan1"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan14_0crvShape" -p "neck_C0_tan1"; - rename -uid "D28DE1E2-41FA-0325-37C9-55BC1E01502F"; +createNode nurbsCurve -n "neck_C0_tan16_0crvShape" -p "neck_C0_tan1"; + rename -uid "7A1ACEE7-40F6-75F5-0369-C79D085670EF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2685,8 +2755,8 @@ createNode nurbsCurve -n "neck_C0_tan14_0crvShape" -p "neck_C0_tan1"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan14_1crvShape" -p "neck_C0_tan1"; - rename -uid "1DF5D472-49B2-A63F-E333-63A25C3F31D0"; +createNode nurbsCurve -n "neck_C0_tan16_1crvShape" -p "neck_C0_tan1"; + rename -uid "4C653053-4770-018F-0387-D4A27E593CB9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2704,19 +2774,19 @@ createNode nurbsCurve -n "neck_C0_tan14_1crvShape" -p "neck_C0_tan1"; 0 0 -0.1875 ; createNode transform -n "neck_C0_head_crv" -p "neck_C0_neck"; - rename -uid "1420B166-4435-9480-7DE9-3CB4A9907112"; + rename -uid "7491A25F-4687-A9D9-F3C0-92B38EA7595F"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 4.2174105108550703 -10.274847894363646 4.4383048488342812e-016 ; - setAttr ".r" -type "double3" -70.964236232861765 89.999999999999943 0 ; - setAttr ".s" -type "double3" 2.3915882794427565 2.3915882794427543 2.3915882794427561 ; + setAttr ".t" -type "double3" 4.2174105108550712 -10.274847894363644 4.4383048488342945e-016 ; + setAttr ".r" -type "double3" -70.964236232861779 89.999999999999957 0 ; + setAttr ".s" -type "double3" 2.3915882794427552 2.3915882794427539 2.3915882794427556 ; createNode nurbsCurve -n "neck_C0_head_crvShape" -p "neck_C0_head_crv"; - rename -uid "53197311-49B5-9294-DA7D-6A81F3C72E39"; + rename -uid "6B4680FE-49A0-1E15-1E59-B8B61CBC2126"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "neck_C0_head_crvShapeOrig" -p "neck_C0_head_crv"; - rename -uid "E388E532-44C8-6F23-5966-B595F8EEB514"; + rename -uid "61F91F51-4F38-A26F-5FE3-329981F4D053"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -2728,10 +2798,10 @@ createNode nurbsCurve -n "neck_C0_head_crvShapeOrig" -p "neck_C0_head_crv"; 0 0 0 ; createNode transform -n "neck_C0_tan0" -p "neck_C0_root"; - rename -uid "DC70A3F7-4E6F-9FAB-900D-468FB1CB0EB3"; + rename -uid "10B44329-47A4-4F6F-7279-DBA16CE72ACD"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.016734587625118369 0.81123959492320008 -2.1361002026221281e-016 ; + setAttr ".t" -type "double3" -0.016734587625119257 0.81123959492320008 -2.1361002026221389e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2739,12 +2809,12 @@ createNode transform -n "neck_C0_tan0" -p "neck_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000009 1 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000011 1 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "neck_C0_tanShape0" -p "neck_C0_tan0"; - rename -uid "73E80A61-43F5-1198-71CE-CC929CC6C570"; + rename -uid "B823142C-4F43-3ACA-DBDA-9785816EFA2B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2756,8 +2826,8 @@ createNode nurbsCurve -n "neck_C0_tanShape0" -p "neck_C0_tan0"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "neck_C0_tanShape13" -p "neck_C0_tan0"; - rename -uid "5B9E0013-463A-7AEE-5CD8-3683A76C0429"; +createNode nurbsCurve -n "neck_C0_tanShape15" -p "neck_C0_tan0"; + rename -uid "8FC43EF0-4F52-3A10-152D-E2AAC895EFDD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2769,8 +2839,8 @@ createNode nurbsCurve -n "neck_C0_tanShape13" -p "neck_C0_tan0"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "neck_C0_tanShape14" -p "neck_C0_tan0"; - rename -uid "C370CD32-461C-79CB-27C3-89BAA82F2295"; +createNode nurbsCurve -n "neck_C0_tanShape16" -p "neck_C0_tan0"; + rename -uid "2549FD33-490D-B493-5E0F-4EA59FE531D2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2782,8 +2852,8 @@ createNode nurbsCurve -n "neck_C0_tanShape14" -p "neck_C0_tan0"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "neck_C0_tanShape15" -p "neck_C0_tan0"; - rename -uid "0FA7556F-4D05-DD56-5BDA-27A16FD8CC25"; +createNode nurbsCurve -n "neck_C0_tanShape17" -p "neck_C0_tan0"; + rename -uid "E51298BD-47B8-7362-CB2E-5FB7D52737D9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2800,8 +2870,8 @@ createNode nurbsCurve -n "neck_C0_tanShape15" -p "neck_C0_tan0"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan13_0crvShape" -p "neck_C0_tan0"; - rename -uid "EF8085FE-4F1A-24B3-A8D3-C1B0CDC5B395"; +createNode nurbsCurve -n "neck_C0_tan15_0crvShape" -p "neck_C0_tan0"; + rename -uid "3B3E0FCE-4D90-D634-A060-4E86501B9728"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2818,8 +2888,8 @@ createNode nurbsCurve -n "neck_C0_tan13_0crvShape" -p "neck_C0_tan0"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "neck_C0_tan13_1crvShape" -p "neck_C0_tan0"; - rename -uid "9B639553-4A2C-6A0F-9514-AE97D4B13FCE"; +createNode nurbsCurve -n "neck_C0_tan15_1crvShape" -p "neck_C0_tan0"; + rename -uid "EC87E280-4C77-88D5-AD9B-FDB3BF68B94E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2837,8 +2907,8 @@ createNode nurbsCurve -n "neck_C0_tan13_1crvShape" -p "neck_C0_tan0"; 0 0 -0.1875 ; createNode transform -n "neck_C0_blade" -p "neck_C0_root"; - rename -uid "124F8325-4ACB-AE4B-0C7A-0B818BB308AA"; - addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; + rename -uid "857AA687-4CED-1192-B7B6-5D8D962C7367"; + addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -dv -360 -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; @@ -2847,13 +2917,13 @@ createNode transform -n "neck_C0_blade" -p "neck_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 1.0000000000000007 0.99999999999999967 ; + setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000009 0.99999999999999967 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; - setAttr -k on ".bladeRollOffset" -360; + setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "neck_C0_bladeShape" -p "neck_C0_blade"; - rename -uid "539FD8A5-4EF0-1809-CBD1-91BDD0DDCFBA"; + rename -uid "59FD673B-4816-3769-EC90-26991C9739D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2867,8 +2937,8 @@ createNode nurbsCurve -n "neck_C0_bladeShape" -p "neck_C0_blade"; 0 0.1764761597555182 0 0 0 0 ; -createNode aimConstraint -n "neck_C0_blade_aimConstraint7" -p "neck_C0_blade"; - rename -uid "C9B12D72-44D6-E9C7-A7DD-31915BA2107D"; +createNode aimConstraint -n "neck_C0_blade_aimConstraint8" -p "neck_C0_blade"; + rename -uid "D85D1303-4168-E125-8770-6A9472BEAD46"; addAttr -dcb 0 -ci true -sn "w0" -ln "neck_C0_tan0W0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -2884,10 +2954,10 @@ createNode aimConstraint -n "neck_C0_blade_aimConstraint7" -p "neck_C0_blade"; setAttr ".erp" yes; setAttr ".wut" 2; setAttr ".o" -type "double3" -360 0 360 ; - setAttr ".rsrr" -type "double3" -540 -2.8249000307521022e-030 451.18175355423011 ; + setAttr ".rsrr" -type "double3" -540 -1.4124500153760508e-030 451.18175355423011 ; setAttr -k on ".w0"; -createNode pointConstraint -n "neck_C0_blade_pointConstraint7" -p "neck_C0_blade"; - rename -uid "544DA690-4484-2409-A78D-E49A9E94C8C5"; +createNode pointConstraint -n "neck_C0_blade_pointConstraint8" -p "neck_C0_blade"; + rename -uid "B00A9F16-48F5-F271-2883-CE8BCCBD5CAB"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "neck_C0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -2902,22 +2972,22 @@ createNode pointConstraint -n "neck_C0_blade_pointConstraint7" -p "neck_C0_blade setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".rst" -type "double3" -1.3322676295501878e-015 8.8817841970012523e-016 - -6.4094948549207209e-031 ; + -5.4234187233944562e-031 ; setAttr -k on ".w0"; createNode transform -n "neck_C0_neck_crv" -p "neck_C0_root"; - rename -uid "281BCA50-4F2D-7D3B-D4DF-948CEF74ED25"; + rename -uid "46B7BFC9-48AC-9AB7-1206-CCAC7A8DE96E"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" 3.976162134148518 -6.6105608685998307 -4.274848312126261e-016 ; + setAttr ".t" -type "double3" 3.976162134148518 -6.6105608685998307 -4.2748483121262679e-016 ; setAttr ".r" -type "double3" -70.964236232861779 89.999999999999957 0 ; setAttr ".s" -type "double3" 2.391588279442757 2.3915882794427565 2.3915882794427565 ; createNode nurbsCurve -n "neck_C0_neck_crvShape" -p "neck_C0_neck_crv"; - rename -uid "A32E6F01-439A-89FE-C535-62817FD49C9B"; + rename -uid "0B3400FF-4E83-F4C6-87C1-83A1D2BE0335"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "neck_C0_neck_crvShapeOrig" -p "neck_C0_neck_crv"; - rename -uid "E3F2ED72-4D18-B7C3-319E-E38B36705EE7"; + rename -uid "69DA851F-46E4-CF32-3E81-E0B5138FB3D2"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -2930,7 +3000,7 @@ createNode nurbsCurve -n "neck_C0_neck_crvShapeOrig" -p "neck_C0_neck_crv"; 0 0 0 ; createNode transform -n "shoulder_L0_root" -p "spine_C0_eff"; - rename -uid "D880E8E4-4B8D-E511-EDEE-478152521CE0"; + rename -uid "B3912BDB-41C2-F9B3-2638-5DAA1B95D3C5"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -2940,13 +3010,13 @@ createNode transform -n "shoulder_L0_root" -p "spine_C0_eff"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.23232496368006927 0.19745119313991832 -0.20082401790608242 ; + setAttr ".t" -type "double3" -0.23232496368006927 0.19745119313991832 -0.20082401790608245 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -2965,12 +3035,9 @@ createNode transform -n "shoulder_L0_root" -p "spine_C0_eff"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "frontLegUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "shoulder_L0_rootShape" -p "shoulder_L0_root"; - rename -uid "398D3B69-491F-3F6C-19EC-EDA836CE294B"; + rename -uid "1CA84D8A-473D-3624-E123-009C46956678"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2982,8 +3049,8 @@ createNode nurbsCurve -n "shoulder_L0_rootShape" -p "shoulder_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_L0_root19Shape" -p "shoulder_L0_root"; - rename -uid "99BD728C-43A9-B332-16C8-0CA821CFA6F7"; +createNode nurbsCurve -n "shoulder_L0_root22Shape" -p "shoulder_L0_root"; + rename -uid "46C07D5F-406E-0654-CFD6-9289D395EAEC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -2995,8 +3062,8 @@ createNode nurbsCurve -n "shoulder_L0_root19Shape" -p "shoulder_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_L0_root20Shape" -p "shoulder_L0_root"; - rename -uid "368A5487-488B-8C8C-66AB-D29381AF6BA5"; +createNode nurbsCurve -n "shoulder_L0_root23Shape" -p "shoulder_L0_root"; + rename -uid "316FB429-42DF-5990-203A-A886C51072CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3008,8 +3075,8 @@ createNode nurbsCurve -n "shoulder_L0_root20Shape" -p "shoulder_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_L0_root21Shape" -p "shoulder_L0_root"; - rename -uid "EA0AC171-4240-1E59-0BD9-A588DAE50406"; +createNode nurbsCurve -n "shoulder_L0_root24Shape" -p "shoulder_L0_root"; + rename -uid "53D3EED3-4A52-9271-F55A-B9A2609D4EB7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3036,10 +3103,10 @@ createNode nurbsCurve -n "shoulder_L0_root21Shape" -p "shoulder_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "shoulder_L0_0_loc" -p "shoulder_L0_root"; - rename -uid "761A6FC6-4628-FFF6-5411-7897EB4E82B2"; + rename -uid "A32B308D-4710-F594-290C-8881868C1B81"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.83252561455724661 -0.20882616370654938 0.20663608494886754 ; + setAttr ".t" -type "double3" 0.83252561455724661 -0.20882616370654894 0.20663608494886754 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3052,7 +3119,7 @@ createNode transform -n "shoulder_L0_0_loc" -p "shoulder_L0_root"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "shoulder_L0_0_locShape" -p "shoulder_L0_0_loc"; - rename -uid "F0CDDC5C-414B-7EA6-1349-288D472DC977"; + rename -uid "AD847ADD-469C-E7F9-ADA0-FD93E2B7A007"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3064,8 +3131,8 @@ createNode nurbsCurve -n "shoulder_L0_0_locShape" -p "shoulder_L0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_L0_0_loc19Shape" -p "shoulder_L0_0_loc"; - rename -uid "F5C777C0-4DC1-7A4E-0705-0394B9B1FBAF"; +createNode nurbsCurve -n "shoulder_L0_0_loc22Shape" -p "shoulder_L0_0_loc"; + rename -uid "E2D6EE9D-4EEF-AB5E-A858-D592CBA52A4E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3077,8 +3144,8 @@ createNode nurbsCurve -n "shoulder_L0_0_loc19Shape" -p "shoulder_L0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_L0_0_loc20Shape" -p "shoulder_L0_0_loc"; - rename -uid "33962063-4896-479A-4D3A-C99978F43C93"; +createNode nurbsCurve -n "shoulder_L0_0_loc23Shape" -p "shoulder_L0_0_loc"; + rename -uid "12EBB428-4DBF-F205-8E0F-53BC3B0DBD00"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3090,8 +3157,8 @@ createNode nurbsCurve -n "shoulder_L0_0_loc20Shape" -p "shoulder_L0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_L0_0_loc21Shape" -p "shoulder_L0_0_loc"; - rename -uid "7E823A09-4131-AD38-3797-C687AC9E337C"; +createNode nurbsCurve -n "shoulder_L0_0_loc24Shape" -p "shoulder_L0_0_loc"; + rename -uid "467EDF38-4A8E-B1AA-6D1B-8EA7361880E1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3108,8 +3175,8 @@ createNode nurbsCurve -n "shoulder_L0_0_loc21Shape" -p "shoulder_L0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_L0_0_loc21_0crvShape" -p "shoulder_L0_0_loc"; - rename -uid "EFDBE27E-4BA3-704C-BFE0-9E89469E5B91"; +createNode nurbsCurve -n "shoulder_L0_0_loc24_0crvShape" -p "shoulder_L0_0_loc"; + rename -uid "B40B679D-4AAB-2A52-111A-48B7EB8D97ED"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3126,8 +3193,8 @@ createNode nurbsCurve -n "shoulder_L0_0_loc21_0crvShape" -p "shoulder_L0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_L0_0_loc21_1crvShape" -p "shoulder_L0_0_loc"; - rename -uid "89FA6657-4C28-7E68-A7A9-0D8DA866FA83"; +createNode nurbsCurve -n "shoulder_L0_0_loc24_1crvShape" -p "shoulder_L0_0_loc"; + rename -uid "8ACB199D-4B79-C4AC-C412-67A069C7D52B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3145,7 +3212,7 @@ createNode nurbsCurve -n "shoulder_L0_0_loc21_1crvShape" -p "shoulder_L0_0_loc"; 0 0 -0.1875 ; createNode transform -n "legFront_L0_root" -p "shoulder_L0_0_loc"; - rename -uid "3D36F3B2-42BC-76D0-A708-F099C9FF465A"; + rename -uid "C4E57082-4386-422E-97C7-A99B6EAC28BA"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -3154,23 +3221,23 @@ createNode transform -n "legFront_L0_root" -p "shoulder_L0_0_loc"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -dv 1 -min 0 -max 1 -at "double"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; addAttr -ci true -k true -sn "ikSolver" -ln "ikSolver" -min 0 -max 1 -en "IK Spring:IK Rotation Plane" -at "enum"; - addAttr -ci true -sn "ikOri" -ln "ikOri" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div2" -ln "div2" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "ikOri" -ln "ikOri" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div2" -ln "div2" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.1102230246251565e-015 -3.5527136788005009e-015 -4.4408920985006262e-016 ; + setAttr ".t" -type "double3" -1.2212453270876722e-015 -3.9968028886505635e-015 -4.4408920985006262e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3178,7 +3245,7 @@ createNode transform -n "legFront_L0_root" -p "shoulder_L0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.39967062595950276 0.3996706259595032 0.39967062595950281 ; + setAttr ".s" -type "double3" 0.39967062595950276 0.39967062595950326 0.39967062595950281 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -3188,21 +3255,13 @@ createNode transform -n "legFront_L0_root" -p "shoulder_L0_0_loc"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "frontLegUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".full3BonesIK" 1; - setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".maxstretch" 1.5; + setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; setAttr -k on ".ikSolver" 1; - setAttr ".ikOri" yes; - setAttr ".div0" 2; - setAttr ".div1" 2; - setAttr ".div2" 2; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "legFront_L0_rootShape" -p "legFront_L0_root"; - rename -uid "31E29A5D-49F9-2C3E-9222-20855B929577"; + rename -uid "623B1E4A-451A-6F06-8493-31B96FACEA2B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3214,8 +3273,8 @@ createNode nurbsCurve -n "legFront_L0_rootShape" -p "legFront_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_L0_root19Shape" -p "legFront_L0_root"; - rename -uid "DC250096-4092-0588-FE80-CCAA3B4ED571"; +createNode nurbsCurve -n "legFront_L0_root22Shape" -p "legFront_L0_root"; + rename -uid "F6091BC4-44AF-87A0-20C7-D9889ECCBE19"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3227,8 +3286,8 @@ createNode nurbsCurve -n "legFront_L0_root19Shape" -p "legFront_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_L0_root20Shape" -p "legFront_L0_root"; - rename -uid "47BD2EB6-4D06-A18A-DA20-BFA6C57A4C15"; +createNode nurbsCurve -n "legFront_L0_root23Shape" -p "legFront_L0_root"; + rename -uid "91DF8B77-4C60-CEAA-2E6E-A2A7B98DB06B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3240,8 +3299,8 @@ createNode nurbsCurve -n "legFront_L0_root20Shape" -p "legFront_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_L0_root21Shape" -p "legFront_L0_root"; - rename -uid "D0B5EA86-4BE6-EE36-186C-EDAA73226356"; +createNode nurbsCurve -n "legFront_L0_root24Shape" -p "legFront_L0_root"; + rename -uid "C824F064-4AD7-E8F4-A957-048F9DBF14F9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3268,10 +3327,10 @@ createNode nurbsCurve -n "legFront_L0_root21Shape" -p "legFront_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "legFront_L0_knee" -p "legFront_L0_root"; - rename -uid "2AEFDCD7-4F90-C5D9-4300-6685595C6F0F"; + rename -uid "C135654D-474B-F30B-98E7-869FBFF19EAA"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 3.1086244689504383e-015 -2.1240863021370493 -0.48633856256837404 ; + setAttr ".t" -type "double3" 3.1086244689504383e-015 -2.1240863021370493 -0.48633856256837493 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3279,12 +3338,12 @@ createNode transform -n "legFront_L0_knee" -p "legFront_L0_root"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999933 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999889 1.0000000000000002 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_L0_kneeShape" -p "legFront_L0_knee"; - rename -uid "5779439B-4B02-2BF6-D020-D2ABC2353172"; + rename -uid "E6EC6441-437D-8127-7462-658E8C043B22"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3296,8 +3355,8 @@ createNode nurbsCurve -n "legFront_L0_kneeShape" -p "legFront_L0_knee"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_L0_knee19Shape" -p "legFront_L0_knee"; - rename -uid "DA7889A2-419C-20BA-F87A-01AE9956BCD9"; +createNode nurbsCurve -n "legFront_L0_knee22Shape" -p "legFront_L0_knee"; + rename -uid "E928B499-42B8-2813-4555-D183E84C4646"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3309,8 +3368,8 @@ createNode nurbsCurve -n "legFront_L0_knee19Shape" -p "legFront_L0_knee"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_L0_knee20Shape" -p "legFront_L0_knee"; - rename -uid "F34E82BB-4C72-D04C-2B21-CCAD28230B35"; +createNode nurbsCurve -n "legFront_L0_knee23Shape" -p "legFront_L0_knee"; + rename -uid "0FBB48F2-46C9-EF95-8895-849AFBFEED46"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3322,8 +3381,8 @@ createNode nurbsCurve -n "legFront_L0_knee20Shape" -p "legFront_L0_knee"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_L0_knee21Shape" -p "legFront_L0_knee"; - rename -uid "E0EA6959-49FD-25ED-61BE-09AE77B5716E"; +createNode nurbsCurve -n "legFront_L0_knee24Shape" -p "legFront_L0_knee"; + rename -uid "00DF5E02-4A43-4DC5-07B3-8988ECE677A7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3340,8 +3399,8 @@ createNode nurbsCurve -n "legFront_L0_knee21Shape" -p "legFront_L0_knee"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_knee21_0crvShape" -p "legFront_L0_knee"; - rename -uid "8C49884A-49A4-0FCF-51AD-2CAA5775C164"; +createNode nurbsCurve -n "legFront_L0_knee24_0crvShape" -p "legFront_L0_knee"; + rename -uid "50E1EFC3-4353-9D63-271C-C8950DA2BAA9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3358,8 +3417,8 @@ createNode nurbsCurve -n "legFront_L0_knee21_0crvShape" -p "legFront_L0_knee"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_knee21_1crvShape" -p "legFront_L0_knee"; - rename -uid "8A6467DE-4DE9-E828-249E-7692A4BB9678"; +createNode nurbsCurve -n "legFront_L0_knee24_1crvShape" -p "legFront_L0_knee"; + rename -uid "7DA45A1B-4929-7A86-466A-9F9236A53A5D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3377,7 +3436,7 @@ createNode nurbsCurve -n "legFront_L0_knee21_1crvShape" -p "legFront_L0_knee"; 0 0 -0.1875 ; createNode transform -n "legFront_L0_ankle" -p "legFront_L0_knee"; - rename -uid "66225303-4062-7BB6-523C-FF81F6E32F9A"; + rename -uid "52304CDA-4A0A-004F-C197-D5B27D719B4B"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 5.773159728050814e-015 -2.3651516407059168 0.073902270404610171 ; @@ -3388,12 +3447,12 @@ createNode transform -n "legFront_L0_ankle" -p "legFront_L0_knee"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999978 0.99999999999999978 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999989 0.99999999999999978 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_L0_ankleShape" -p "legFront_L0_ankle"; - rename -uid "0781A4AA-4ECE-6970-8B4B-D8B838BBFCBE"; + rename -uid "26B8CE30-4869-91E1-4E96-71BD57437DF1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3405,8 +3464,8 @@ createNode nurbsCurve -n "legFront_L0_ankleShape" -p "legFront_L0_ankle"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_L0_ankle19Shape" -p "legFront_L0_ankle"; - rename -uid "DAE891CF-4E45-F03D-68CC-46A1BB391014"; +createNode nurbsCurve -n "legFront_L0_ankle22Shape" -p "legFront_L0_ankle"; + rename -uid "ADB1A2A8-4EBA-BDCF-86D0-9BA9653F4C01"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3418,8 +3477,8 @@ createNode nurbsCurve -n "legFront_L0_ankle19Shape" -p "legFront_L0_ankle"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_L0_ankle20Shape" -p "legFront_L0_ankle"; - rename -uid "90F9F0B2-4E7E-C4FD-BF90-BFA6F0005690"; +createNode nurbsCurve -n "legFront_L0_ankle23Shape" -p "legFront_L0_ankle"; + rename -uid "59E653FF-4008-1324-C4B8-5080A0E88DEA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3431,8 +3490,8 @@ createNode nurbsCurve -n "legFront_L0_ankle20Shape" -p "legFront_L0_ankle"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_L0_ankle21Shape" -p "legFront_L0_ankle"; - rename -uid "0294A94F-4587-96FE-4D1C-AE999D8BECDF"; +createNode nurbsCurve -n "legFront_L0_ankle24Shape" -p "legFront_L0_ankle"; + rename -uid "0F648F40-4515-5E02-25C4-A69072FBEBBB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3449,8 +3508,8 @@ createNode nurbsCurve -n "legFront_L0_ankle21Shape" -p "legFront_L0_ankle"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_ankle21_0crvShape" -p "legFront_L0_ankle"; - rename -uid "AEA0DED4-4D87-E3A0-4EF8-62AD51BEC5C8"; +createNode nurbsCurve -n "legFront_L0_ankle24_0crvShape" -p "legFront_L0_ankle"; + rename -uid "B08D7641-4CE2-49F0-9C11-64A252AD84F5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3467,8 +3526,8 @@ createNode nurbsCurve -n "legFront_L0_ankle21_0crvShape" -p "legFront_L0_ankle"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_ankle21_1crvShape" -p "legFront_L0_ankle"; - rename -uid "C27A562B-4A3F-3810-29D7-628D5BDF163D"; +createNode nurbsCurve -n "legFront_L0_ankle24_1crvShape" -p "legFront_L0_ankle"; + rename -uid "FE1603E8-4D00-7507-DB90-538449CBA231"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3486,10 +3545,10 @@ createNode nurbsCurve -n "legFront_L0_ankle21_1crvShape" -p "legFront_L0_ankle"; 0 0 -0.1875 ; createNode transform -n "legFront_L0_foot" -p "legFront_L0_ankle"; - rename -uid "3D7E94E4-4BDC-A452-55A2-34B5D7599131"; + rename -uid "428345C2-480C-6A0D-DDB3-6294C2A683EF"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.7763568394002505e-015 -1.1294425054275508 0.023148533894220336 ; + setAttr ".t" -type "double3" 1.3322676295501878e-015 -1.1294425054275514 0.023148533894218559 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3502,7 +3561,7 @@ createNode transform -n "legFront_L0_foot" -p "legFront_L0_ankle"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_L0_footShape" -p "legFront_L0_foot"; - rename -uid "DD382AA8-4101-E59C-1DFD-D8BE2C1FF1D0"; + rename -uid "801211EE-46A5-7C74-EEA6-CEAFD9959D20"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3514,8 +3573,8 @@ createNode nurbsCurve -n "legFront_L0_footShape" -p "legFront_L0_foot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_L0_foot19Shape" -p "legFront_L0_foot"; - rename -uid "151DCA58-409A-22FA-9AFB-419F99C77AE1"; +createNode nurbsCurve -n "legFront_L0_foot22Shape" -p "legFront_L0_foot"; + rename -uid "B9412E2E-4070-0DCB-A1C4-F1A53E00CC20"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3527,8 +3586,8 @@ createNode nurbsCurve -n "legFront_L0_foot19Shape" -p "legFront_L0_foot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_L0_foot20Shape" -p "legFront_L0_foot"; - rename -uid "E2DC5392-4F23-34C4-6CAA-B4A673A3B16B"; +createNode nurbsCurve -n "legFront_L0_foot23Shape" -p "legFront_L0_foot"; + rename -uid "695DACEE-43C0-2CBD-83CE-6E8AB698514C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3540,8 +3599,8 @@ createNode nurbsCurve -n "legFront_L0_foot20Shape" -p "legFront_L0_foot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_L0_foot21Shape" -p "legFront_L0_foot"; - rename -uid "6E8D036C-420F-4898-6CC1-778538F32906"; +createNode nurbsCurve -n "legFront_L0_foot24Shape" -p "legFront_L0_foot"; + rename -uid "388CB80D-42CF-C9DA-E8F7-8AA859F54BDF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3558,8 +3617,8 @@ createNode nurbsCurve -n "legFront_L0_foot21Shape" -p "legFront_L0_foot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_foot21_0crvShape" -p "legFront_L0_foot"; - rename -uid "71E05959-4D0F-B787-17D3-25886C09B3AD"; +createNode nurbsCurve -n "legFront_L0_foot24_0crvShape" -p "legFront_L0_foot"; + rename -uid "3432E38C-44EC-671A-9F2B-AC9FDD1565EB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3576,8 +3635,8 @@ createNode nurbsCurve -n "legFront_L0_foot21_0crvShape" -p "legFront_L0_foot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_foot21_1crvShape" -p "legFront_L0_foot"; - rename -uid "C3392648-4A46-D0F8-1BB2-79ACA7DB4227"; +createNode nurbsCurve -n "legFront_L0_foot24_1crvShape" -p "legFront_L0_foot"; + rename -uid "620411CC-4295-38C4-043A-AFADE90A0A82"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3595,10 +3654,10 @@ createNode nurbsCurve -n "legFront_L0_foot21_1crvShape" -p "legFront_L0_foot"; 0 0 -0.1875 ; createNode transform -n "legFront_L0_eff" -p "legFront_L0_foot"; - rename -uid "FCE8A8EE-4F5C-928E-0B1D-45AC2A74ABE0"; + rename -uid "D3D7EE7D-4A5A-D0A8-A2A0-89965D032F62"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 3.1086244689504383e-015 8.8817841970012523e-016 0.5965779785192078 ; + setAttr ".t" -type "double3" 3.9968028886505635e-015 9.1593399531575415e-016 0.59657797851920957 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3606,12 +3665,12 @@ createNode transform -n "legFront_L0_eff" -p "legFront_L0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999922 0.99999999999999867 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999922 0.99999999999999878 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_L0_effShape" -p "legFront_L0_eff"; - rename -uid "807C4461-4ED3-4E3C-2954-55BCBE707D2D"; + rename -uid "B6988F5B-4808-1CFE-316E-FFA1F76EE1BF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3623,8 +3682,8 @@ createNode nurbsCurve -n "legFront_L0_effShape" -p "legFront_L0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_L0_eff19Shape" -p "legFront_L0_eff"; - rename -uid "A310817E-4FDD-468A-4341-1CA2713C026B"; +createNode nurbsCurve -n "legFront_L0_eff22Shape" -p "legFront_L0_eff"; + rename -uid "75320078-48C7-7AEA-4D8B-2691336BB3A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3636,8 +3695,8 @@ createNode nurbsCurve -n "legFront_L0_eff19Shape" -p "legFront_L0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_L0_eff20Shape" -p "legFront_L0_eff"; - rename -uid "D102970F-4873-0D93-CE6E-28A688C7CA3D"; +createNode nurbsCurve -n "legFront_L0_eff23Shape" -p "legFront_L0_eff"; + rename -uid "0A0A8CFE-497A-A379-49B4-1789A1AA7E61"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3649,8 +3708,8 @@ createNode nurbsCurve -n "legFront_L0_eff20Shape" -p "legFront_L0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_L0_eff21Shape" -p "legFront_L0_eff"; - rename -uid "3DD429D4-400D-B6C8-060D-C29C5F2706DF"; +createNode nurbsCurve -n "legFront_L0_eff24Shape" -p "legFront_L0_eff"; + rename -uid "E467A6C6-4737-AA45-6782-E9B34452B735"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3667,8 +3726,8 @@ createNode nurbsCurve -n "legFront_L0_eff21Shape" -p "legFront_L0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_eff21_0crvShape" -p "legFront_L0_eff"; - rename -uid "D3D1129E-433E-1AE7-8CAB-AFB73D470E61"; +createNode nurbsCurve -n "legFront_L0_eff24_0crvShape" -p "legFront_L0_eff"; + rename -uid "ABAF383D-467B-7422-E698-E3BEDB5A9B2F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3685,8 +3744,8 @@ createNode nurbsCurve -n "legFront_L0_eff21_0crvShape" -p "legFront_L0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_L0_eff21_1crvShape" -p "legFront_L0_eff"; - rename -uid "A2AFF24A-4B7A-65D4-3F37-EFB6D3E0506B"; +createNode nurbsCurve -n "legFront_L0_eff24_1crvShape" -p "legFront_L0_eff"; + rename -uid "B999E0AD-4533-A0E3-9417-60A037137228"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3704,7 +3763,7 @@ createNode nurbsCurve -n "legFront_L0_eff21_1crvShape" -p "legFront_L0_eff"; 0 0 -0.1875 ; createNode transform -n "footFront_L0_root" -p "legFront_L0_foot"; - rename -uid "982CEBC3-4C1F-B446-C204-06AFA9AA209D"; + rename -uid "B159BA42-4217-6493-BE4A-F197505ED214"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -3713,11 +3772,11 @@ createNode transform -n "footFront_L0_root" -p "legFront_L0_foot"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.6645352591003757e-015 7.4940054162198066e-016 -3.5527136788005009e-015 ; + setAttr ".t" -type "double3" 3.5527136788005009e-015 7.7715611723760958e-016 -1.7763568394002505e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3725,7 +3784,7 @@ createNode transform -n "footFront_L0_root" -p "legFront_L0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.31499517602514093 0.31499517602514088 0.31499517602514071 ; + setAttr ".s" -type "double3" 0.31499517602514093 0.31499517602514093 0.31499517602514082 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -3735,10 +3794,8 @@ createNode transform -n "footFront_L0_root" -p "legFront_L0_foot"; setAttr ".connector" -type "string" "leg_3jnt_01"; setAttr ".ui_host" -type "string" "frontLegUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".useRollCtl" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "footFront_L0_rootShape" -p "footFront_L0_root"; - rename -uid "20085FE0-4415-3DBD-91DA-C8916DB45564"; + rename -uid "BDA25D8F-49A3-1071-052B-71A487F96241"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3750,8 +3807,8 @@ createNode nurbsCurve -n "footFront_L0_rootShape" -p "footFront_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_L0_root19Shape" -p "footFront_L0_root"; - rename -uid "C6C75C14-4D24-EE27-9EAC-F9A7E7430ED2"; +createNode nurbsCurve -n "footFront_L0_root22Shape" -p "footFront_L0_root"; + rename -uid "5816E7DD-4A63-E471-9AA7-9E9633748A1F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3763,8 +3820,8 @@ createNode nurbsCurve -n "footFront_L0_root19Shape" -p "footFront_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_L0_root20Shape" -p "footFront_L0_root"; - rename -uid "C51F64BF-4459-B92D-E333-C685A0DC6AD0"; +createNode nurbsCurve -n "footFront_L0_root23Shape" -p "footFront_L0_root"; + rename -uid "5A25ED8E-4AA3-C3D6-656E-1395C0E86149"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3776,8 +3833,8 @@ createNode nurbsCurve -n "footFront_L0_root20Shape" -p "footFront_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_L0_root21Shape" -p "footFront_L0_root"; - rename -uid "3BA64BFF-4602-9AC7-E43D-97B54E1364E8"; +createNode nurbsCurve -n "footFront_L0_root24Shape" -p "footFront_L0_root"; + rename -uid "6C2D0442-4A1F-C516-65E7-928A7C61E794"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3804,10 +3861,10 @@ createNode nurbsCurve -n "footFront_L0_root21Shape" -p "footFront_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "footFront_L0_0_loc" -p "footFront_L0_root"; - rename -uid "16B8A87E-446B-C3EB-D907-8BAB425C96D5"; + rename -uid "CFD79D57-4D6E-0232-D8F3-3AB96E83A202"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 5.3290705182007514e-015 8.8817841970012523e-016 0.75996190873517477 ; + setAttr ".t" -type "double3" 5.3290705182007514e-015 1.1102230246251565e-015 0.75996190873517833 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3815,12 +3872,12 @@ createNode transform -n "footFront_L0_0_loc" -p "footFront_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000007 ; + setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_L0_0_locShape" -p "footFront_L0_0_loc"; - rename -uid "D67FAAF5-4131-8BCB-9121-39B5434422F4"; + rename -uid "1440C918-4929-209F-AB69-B4B413B66730"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3832,8 +3889,8 @@ createNode nurbsCurve -n "footFront_L0_0_locShape" -p "footFront_L0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_L0_0_loc19Shape" -p "footFront_L0_0_loc"; - rename -uid "D7F994A2-4D8F-877E-B668-C6912F0E5A32"; +createNode nurbsCurve -n "footFront_L0_0_loc22Shape" -p "footFront_L0_0_loc"; + rename -uid "491B739E-405B-8E60-EC51-B1B69EE93823"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3845,8 +3902,8 @@ createNode nurbsCurve -n "footFront_L0_0_loc19Shape" -p "footFront_L0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_L0_0_loc20Shape" -p "footFront_L0_0_loc"; - rename -uid "C3F86907-4377-0672-2D70-B58DF53AF107"; +createNode nurbsCurve -n "footFront_L0_0_loc23Shape" -p "footFront_L0_0_loc"; + rename -uid "4FB21F22-49A6-B06F-4AEA-FFB21DA8FA58"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3858,8 +3915,8 @@ createNode nurbsCurve -n "footFront_L0_0_loc20Shape" -p "footFront_L0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_L0_0_loc21Shape" -p "footFront_L0_0_loc"; - rename -uid "FCD1F3E0-4401-57C9-B213-E4A1BFCE5ACD"; +createNode nurbsCurve -n "footFront_L0_0_loc24Shape" -p "footFront_L0_0_loc"; + rename -uid "828BC471-4DDD-A9B4-1D4B-6BB4B91AD8C3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3876,8 +3933,8 @@ createNode nurbsCurve -n "footFront_L0_0_loc21Shape" -p "footFront_L0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_0_loc21_0crvShape" -p "footFront_L0_0_loc"; - rename -uid "5D19FCC9-4AC0-4EC9-4967-FC98E112AFF3"; +createNode nurbsCurve -n "footFront_L0_0_loc24_0crvShape" -p "footFront_L0_0_loc"; + rename -uid "5FA2F6A0-479C-07B1-A434-758AF4B41C8B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3894,8 +3951,8 @@ createNode nurbsCurve -n "footFront_L0_0_loc21_0crvShape" -p "footFront_L0_0_loc 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_0_loc21_1crvShape" -p "footFront_L0_0_loc"; - rename -uid "17E5C158-4942-361C-C702-FC959A4BF51A"; +createNode nurbsCurve -n "footFront_L0_0_loc24_1crvShape" -p "footFront_L0_0_loc"; + rename -uid "9C9E3B1A-470A-EC65-447E-95B13F8B21BE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3913,10 +3970,10 @@ createNode nurbsCurve -n "footFront_L0_0_loc21_1crvShape" -p "footFront_L0_0_loc 0 0 -0.1875 ; createNode transform -n "footFront_L0_1_loc" -p "footFront_L0_0_loc"; - rename -uid "F3B203DF-4C0E-1AD2-2881-86926C7A9219"; + rename -uid "033F73D3-4D37-1404-9A51-8880DCA9F286"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -2.6645352591003757e-015 -0.31771180755405098 0.73937999249395148 ; + setAttr ".t" -type "double3" -3.5527136788005009e-015 -0.31771180755405121 0.73937999249394792 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -3924,12 +3981,12 @@ createNode transform -n "footFront_L0_1_loc" -p "footFront_L0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000002 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999989 1 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_L0_1_locShape" -p "footFront_L0_1_loc"; - rename -uid "521D893C-4B72-613C-3FC7-92B86A62ABD0"; + rename -uid "11B7CED5-466E-9BEC-E1C5-38817BA47330"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3941,8 +3998,8 @@ createNode nurbsCurve -n "footFront_L0_1_locShape" -p "footFront_L0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_L0_1_loc19Shape" -p "footFront_L0_1_loc"; - rename -uid "0689B6EC-42BE-ED3C-4CC2-9D885E14E797"; +createNode nurbsCurve -n "footFront_L0_1_loc22Shape" -p "footFront_L0_1_loc"; + rename -uid "76041E72-454A-226C-53AC-A1B28C697ACE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3954,8 +4011,8 @@ createNode nurbsCurve -n "footFront_L0_1_loc19Shape" -p "footFront_L0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_L0_1_loc20Shape" -p "footFront_L0_1_loc"; - rename -uid "CE522339-4F9D-02BD-F2E9-A787D8FC6563"; +createNode nurbsCurve -n "footFront_L0_1_loc23Shape" -p "footFront_L0_1_loc"; + rename -uid "4ACA6E18-45F0-20F9-3486-BEA8F747A020"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3967,8 +4024,8 @@ createNode nurbsCurve -n "footFront_L0_1_loc20Shape" -p "footFront_L0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_L0_1_loc21Shape" -p "footFront_L0_1_loc"; - rename -uid "6291940A-4E78-F402-4A2F-54907B5E9318"; +createNode nurbsCurve -n "footFront_L0_1_loc24Shape" -p "footFront_L0_1_loc"; + rename -uid "69137D6E-48B8-3124-141D-EFB7194A884C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -3985,8 +4042,8 @@ createNode nurbsCurve -n "footFront_L0_1_loc21Shape" -p "footFront_L0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_1_loc21_0crvShape" -p "footFront_L0_1_loc"; - rename -uid "41D78CF3-4BCE-4E99-7256-9DB238CAF84A"; +createNode nurbsCurve -n "footFront_L0_1_loc24_0crvShape" -p "footFront_L0_1_loc"; + rename -uid "6B31A5BE-4929-2CCC-A31E-5A8BE944710E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4003,8 +4060,8 @@ createNode nurbsCurve -n "footFront_L0_1_loc21_0crvShape" -p "footFront_L0_1_loc 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_1_loc21_1crvShape" -p "footFront_L0_1_loc"; - rename -uid "BB65AFE8-48EB-BE50-342B-94A2A3987126"; +createNode nurbsCurve -n "footFront_L0_1_loc24_1crvShape" -p "footFront_L0_1_loc"; + rename -uid "D7D4415B-4231-D957-34EB-8BB1465D2137"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4022,18 +4079,18 @@ createNode nurbsCurve -n "footFront_L0_1_loc21_1crvShape" -p "footFront_L0_1_loc 0 0 -0.1875 ; createNode transform -n "footFront_L0_crv" -p "footFront_L0_root"; - rename -uid "CC103ACA-4103-D40F-17FA-14B2D3E48986"; + rename -uid "DBB9D436-4E3C-648D-848F-2BBB6FD9A673"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -7.3687973355373595 -0.60300743522685729 -16.239037496288901 ; - setAttr ".s" -type "double3" 7.9431701648148092 7.9431701648148092 7.943170164814811 ; + setAttr ".t" -type "double3" -7.3687973355373586 -0.60300743522685718 -16.239037496288894 ; + setAttr ".s" -type "double3" 7.9431701648148074 7.9431701648148074 7.9431701648148074 ; createNode nurbsCurve -n "footFront_L0_crvShape" -p "footFront_L0_crv"; - rename -uid "0DDADE6A-4910-18DC-B027-31A5C77420AC"; + rename -uid "00A7061D-4244-7491-4374-0584FE37C2AB"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footFront_L0_crvShapeOrig" -p "footFront_L0_crv"; - rename -uid "2A62288C-4337-AEF9-7B23-8F81F15735E6"; + rename -uid "7C12557E-466E-505B-7732-5CA224ED7A56"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4045,10 +4102,10 @@ createNode nurbsCurve -n "footFront_L0_crvShapeOrig" -p "footFront_L0_crv"; 0 0 0 ; createNode transform -n "footFront_L0_heel" -p "footFront_L0_root"; - rename -uid "5E670701-4911-A8CF-7D60-B5AD3944E001"; + rename -uid "B37C978C-4D83-2A1F-FF34-07B5F833CEAD"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.0658141036401503e-014 -0.3177118075540506 -0.067899908672082177 ; + setAttr ".t" -type "double3" 1.1546319456101628e-014 -0.31771180755405048 -0.067899908672078624 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4056,12 +4113,12 @@ createNode transform -n "footFront_L0_heel" -p "footFront_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000007 ; + setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_L0_heelShape" -p "footFront_L0_heel"; - rename -uid "D5D2AC95-41D0-788F-AEAF-26973AFFFECC"; + rename -uid "65270125-452A-9DFB-A737-D2A7E394890A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4073,8 +4130,8 @@ createNode nurbsCurve -n "footFront_L0_heelShape" -p "footFront_L0_heel"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_L0_heel19Shape" -p "footFront_L0_heel"; - rename -uid "267AC7A0-438D-FA86-149A-818ACB5ACEEE"; +createNode nurbsCurve -n "footFront_L0_heel22Shape" -p "footFront_L0_heel"; + rename -uid "4E069AA6-42C7-5559-E191-DF9AAF8F740E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4086,8 +4143,8 @@ createNode nurbsCurve -n "footFront_L0_heel19Shape" -p "footFront_L0_heel"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_L0_heel20Shape" -p "footFront_L0_heel"; - rename -uid "B9DCCAB3-4E32-69F1-C050-EE8A4F7666C5"; +createNode nurbsCurve -n "footFront_L0_heel23Shape" -p "footFront_L0_heel"; + rename -uid "1FC102F7-46C0-CAA9-D877-A99EDF27E1EC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4099,8 +4156,8 @@ createNode nurbsCurve -n "footFront_L0_heel20Shape" -p "footFront_L0_heel"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_L0_heel21Shape" -p "footFront_L0_heel"; - rename -uid "13663EA2-41A9-9329-EC51-3F8F2311CC05"; +createNode nurbsCurve -n "footFront_L0_heel24Shape" -p "footFront_L0_heel"; + rename -uid "3F8DB8A1-41B0-3578-065C-54B17FD88213"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4117,8 +4174,8 @@ createNode nurbsCurve -n "footFront_L0_heel21Shape" -p "footFront_L0_heel"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_heel21_0crvShape" -p "footFront_L0_heel"; - rename -uid "CEB316FF-49DD-A98D-CD65-04B9A5966038"; +createNode nurbsCurve -n "footFront_L0_heel24_0crvShape" -p "footFront_L0_heel"; + rename -uid "1CBAB902-49EA-C8B6-10BD-32A7E8EB85D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4135,8 +4192,8 @@ createNode nurbsCurve -n "footFront_L0_heel21_0crvShape" -p "footFront_L0_heel"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_heel21_1crvShape" -p "footFront_L0_heel"; - rename -uid "392D2864-4593-A36B-395E-988BFB229E8F"; +createNode nurbsCurve -n "footFront_L0_heel24_1crvShape" -p "footFront_L0_heel"; + rename -uid "07A904A8-40D8-B0F1-6430-72B142BE6706"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4154,10 +4211,10 @@ createNode nurbsCurve -n "footFront_L0_heel21_1crvShape" -p "footFront_L0_heel"; 0 0 -0.1875 ; createNode transform -n "footFront_L0_outpivot" -p "footFront_L0_root"; - rename -uid "BCC036DE-4D8B-A543-F9F5-E99CB158CEAC"; + rename -uid "408C28F4-433E-A324-3C97-2FBC0F4F3312"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.1000376131120619 -0.31771180755404888 0.69157185350466577 ; + setAttr ".t" -type "double3" 1.1000376131120611 -0.31771180755404871 0.69157185350466932 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4165,12 +4222,12 @@ createNode transform -n "footFront_L0_outpivot" -p "footFront_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000007 ; + setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_L0_outpivotShape" -p "footFront_L0_outpivot"; - rename -uid "F12FF8D8-4273-1712-3A66-2EA272D692ED"; + rename -uid "31C3FE73-4399-00DF-53C7-B5BA62076C42"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4182,8 +4239,8 @@ createNode nurbsCurve -n "footFront_L0_outpivotShape" -p "footFront_L0_outpivot" 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_L0_outpivot19Shape" -p "footFront_L0_outpivot"; - rename -uid "1274B9EE-4C9D-8A7B-F7C3-FDA32F6C6A97"; +createNode nurbsCurve -n "footFront_L0_outpivot22Shape" -p "footFront_L0_outpivot"; + rename -uid "32E7427F-40BC-843A-F660-A7A0BA53CD1D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4195,8 +4252,8 @@ createNode nurbsCurve -n "footFront_L0_outpivot19Shape" -p "footFront_L0_outpivo 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_L0_outpivot20Shape" -p "footFront_L0_outpivot"; - rename -uid "B870E74A-45DD-71F7-99A0-F5BF1C792657"; +createNode nurbsCurve -n "footFront_L0_outpivot23Shape" -p "footFront_L0_outpivot"; + rename -uid "C57F0FE3-42AB-506C-745C-C6B20BB3C454"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4208,8 +4265,8 @@ createNode nurbsCurve -n "footFront_L0_outpivot20Shape" -p "footFront_L0_outpivo 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_L0_outpivot21Shape" -p "footFront_L0_outpivot"; - rename -uid "A097E9CE-47C7-1E56-6FD2-C98EB7198193"; +createNode nurbsCurve -n "footFront_L0_outpivot24Shape" -p "footFront_L0_outpivot"; + rename -uid "8440270B-46DE-773F-09AC-158A25ABB6F0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4226,8 +4283,8 @@ createNode nurbsCurve -n "footFront_L0_outpivot21Shape" -p "footFront_L0_outpivo 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_outpivot21_0crvShape" -p "footFront_L0_outpivot"; - rename -uid "0726373A-45B6-186B-3154-ADB8DE13E64B"; +createNode nurbsCurve -n "footFront_L0_outpivot24_0crvShape" -p "footFront_L0_outpivot"; + rename -uid "6E367C33-46BA-8E46-49DB-24A7B4714363"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4244,8 +4301,8 @@ createNode nurbsCurve -n "footFront_L0_outpivot21_0crvShape" -p "footFront_L0_ou 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_outpivot21_1crvShape" -p "footFront_L0_outpivot"; - rename -uid "91153EC6-4286-D4E4-C1AA-A6BFE6E542A4"; +createNode nurbsCurve -n "footFront_L0_outpivot24_1crvShape" -p "footFront_L0_outpivot"; + rename -uid "419F18A8-41C9-1989-6C7D-E3A8A66AEA33"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4263,10 +4320,10 @@ createNode nurbsCurve -n "footFront_L0_outpivot21_1crvShape" -p "footFront_L0_ou 0 0 -0.1875 ; createNode transform -n "footFront_L0_inpivot" -p "footFront_L0_root"; - rename -uid "9D1A2D1C-462E-FD0E-27C9-2FBD4690D6D9"; + rename -uid "8F029F05-41CC-54E0-5A07-59902DE78502"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.0162439288722931 -0.31771180755405115 0.86340011285664531 ; + setAttr ".t" -type "double3" -1.0162439288722922 -0.31771180755405098 0.86340011285664886 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4274,12 +4331,12 @@ createNode transform -n "footFront_L0_inpivot" -p "footFront_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000007 ; + setAttr ".s" -type "double3" 1 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_L0_inpivotShape" -p "footFront_L0_inpivot"; - rename -uid "A349E77E-449A-5EA0-8549-12A24CEB0020"; + rename -uid "FF5B4748-47DE-1439-2EBC-8F830168BD47"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4291,8 +4348,8 @@ createNode nurbsCurve -n "footFront_L0_inpivotShape" -p "footFront_L0_inpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_L0_inpivot19Shape" -p "footFront_L0_inpivot"; - rename -uid "052BE28E-4005-159D-4C00-19849909BFA6"; +createNode nurbsCurve -n "footFront_L0_inpivot22Shape" -p "footFront_L0_inpivot"; + rename -uid "B2CF3B62-48A3-EDAF-BAD5-11973EB55CAD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4304,8 +4361,8 @@ createNode nurbsCurve -n "footFront_L0_inpivot19Shape" -p "footFront_L0_inpivot" 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_L0_inpivot20Shape" -p "footFront_L0_inpivot"; - rename -uid "7EB7D408-425C-959A-E4F0-789EEAE126C0"; +createNode nurbsCurve -n "footFront_L0_inpivot23Shape" -p "footFront_L0_inpivot"; + rename -uid "0303A1FD-42A9-AA8D-1283-19B32C3FC95B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4317,8 +4374,8 @@ createNode nurbsCurve -n "footFront_L0_inpivot20Shape" -p "footFront_L0_inpivot" 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_L0_inpivot21Shape" -p "footFront_L0_inpivot"; - rename -uid "0FF409A6-46BB-3A04-0563-CDA6CADB2D3E"; +createNode nurbsCurve -n "footFront_L0_inpivot24Shape" -p "footFront_L0_inpivot"; + rename -uid "6DDB9C4E-4257-6E01-40E4-3490BB6917B9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4335,8 +4392,8 @@ createNode nurbsCurve -n "footFront_L0_inpivot21Shape" -p "footFront_L0_inpivot" 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_inpivot21_0crvShape" -p "footFront_L0_inpivot"; - rename -uid "1110AE93-4906-D423-2091-4F9748697D1F"; +createNode nurbsCurve -n "footFront_L0_inpivot24_0crvShape" -p "footFront_L0_inpivot"; + rename -uid "A388EE25-48F3-9131-20E7-66B10755AD7D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4353,8 +4410,8 @@ createNode nurbsCurve -n "footFront_L0_inpivot21_0crvShape" -p "footFront_L0_inp 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_L0_inpivot21_1crvShape" -p "footFront_L0_inpivot"; - rename -uid "D7D3ABBF-43DD-1C48-A2B8-70B80419AE10"; +createNode nurbsCurve -n "footFront_L0_inpivot24_1crvShape" -p "footFront_L0_inpivot"; + rename -uid "F299B667-4597-094A-53F0-C7854727322A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4372,18 +4429,18 @@ createNode nurbsCurve -n "footFront_L0_inpivot21_1crvShape" -p "footFront_L0_inp 0 0 -0.1875 ; createNode transform -n "footFront_L0_1" -p "footFront_L0_root"; - rename -uid "BFC73865-4A35-81FA-077B-E3AEEC399C3C"; + rename -uid "2EC11645-478B-16B6-87A9-099C1DB3D91E"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -7.3687973355373595 -0.60300743522685729 -16.239037496288901 ; - setAttr ".s" -type "double3" 7.9431701648148092 7.9431701648148092 7.943170164814811 ; + setAttr ".t" -type "double3" -7.3687973355373586 -0.60300743522685718 -16.239037496288894 ; + setAttr ".s" -type "double3" 7.9431701648148074 7.9431701648148074 7.9431701648148074 ; createNode nurbsCurve -n "footFront_L0_Shape1" -p "footFront_L0_1"; - rename -uid "606288B4-4534-DC14-F56C-08AABBC72994"; + rename -uid "33623A7A-4BAC-096F-C552-1C9DA05B626E"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footFront_L0_Shape1Orig" -p "footFront_L0_1"; - rename -uid "07D0094F-4031-0033-5206-7095B067F158"; + rename -uid "488F26C1-4360-5BC3-2BEC-058DE8D1C320"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4397,7 +4454,7 @@ createNode nurbsCurve -n "footFront_L0_Shape1Orig" -p "footFront_L0_1"; 0 0 0 ; createNode transform -n "frontLegUI_L0_root" -p "footFront_L0_root"; - rename -uid "E11EAD9A-4D98-3698-B460-2A926DB6A820"; + rename -uid "20BD61D7-46B4-41B4-DA2E-55AFF317097C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -4409,7 +4466,7 @@ createNode transform -n "frontLegUI_L0_root" -p "footFront_L0_root"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; @@ -4421,12 +4478,14 @@ createNode transform -n "frontLegUI_L0_root" -p "footFront_L0_root"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 0.5 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 10.017876024668173 5.4248605945583259 2.5678955088138053 ; + setAttr ".t" -type "double3" 10.017876024668169 5.4248605945583259 2.5678955088138089 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4434,7 +4493,7 @@ createNode transform -n "frontLegUI_L0_root" -p "footFront_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 7.943170164814811 7.943170164814811 7.9431701648148163 ; + setAttr ".s" -type "double3" 7.943170164814811 7.943170164814811 7.9431701648148145 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -4446,12 +4505,8 @@ createNode transform -n "frontLegUI_L0_root" -p "footFront_L0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 0.5; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "frontLegUI_L0_rootShape" -p "frontLegUI_L0_root"; - rename -uid "5C479F60-4029-911F-5D88-3B8BF732F6B7"; + rename -uid "1882EA62-4034-DF92-C7D4-83B99F11EE5E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4463,8 +4518,8 @@ createNode nurbsCurve -n "frontLegUI_L0_rootShape" -p "frontLegUI_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "frontLegUI_L0_root19Shape" -p "frontLegUI_L0_root"; - rename -uid "6753FD21-47B1-AFF5-5384-10BDACA8920C"; +createNode nurbsCurve -n "frontLegUI_L0_root22Shape" -p "frontLegUI_L0_root"; + rename -uid "793A3855-40C6-04C7-60A4-929129BFDDD0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4476,8 +4531,8 @@ createNode nurbsCurve -n "frontLegUI_L0_root19Shape" -p "frontLegUI_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "frontLegUI_L0_root20Shape" -p "frontLegUI_L0_root"; - rename -uid "6D8D8E4E-4588-3E0B-2B64-02B9AFC59C7D"; +createNode nurbsCurve -n "frontLegUI_L0_root23Shape" -p "frontLegUI_L0_root"; + rename -uid "A6CBC522-4861-6F81-32AB-3FBEDF62A913"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4489,8 +4544,8 @@ createNode nurbsCurve -n "frontLegUI_L0_root20Shape" -p "frontLegUI_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "frontLegUI_L0_root21Shape" -p "frontLegUI_L0_root"; - rename -uid "F8862D03-48FA-33E8-FFE6-92AA4EB84CED"; +createNode nurbsCurve -n "frontLegUI_L0_root24Shape" -p "frontLegUI_L0_root"; + rename -uid "5E05E57E-4C77-7466-03FA-EFBA5D53F2AB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4517,10 +4572,10 @@ createNode nurbsCurve -n "frontLegUI_L0_root21Shape" -p "frontLegUI_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "frontLegUI_L0_sizeRef" -p "frontLegUI_L0_root"; - rename -uid "9233C775-4FFB-0E39-EB70-329D696176B4"; + rename -uid "8D60DC3B-4B8E-46A0-5D91-ECAECA0ABCC0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 8.8817841970012523e-016 3.3306690738754696e-016 0.99999999999999911 ; + setAttr ".t" -type "double3" 1.3322676295501878e-015 3.3306690738754696e-016 0.99999999999999867 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4533,18 +4588,18 @@ createNode transform -n "frontLegUI_L0_sizeRef" -p "frontLegUI_L0_root"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "legFront_L0_crv1" -p "legFront_L0_root"; - rename -uid "1B4C520E-40B6-7470-07D4-8AA377906E05"; + rename -uid "01E3E57A-41FA-34F4-051B-C793F47CFBA3"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -2.3211356138011676 -5.8086248814742651 -5.5045062328919334 ; - setAttr ".s" -type "double3" 2.5020602842634889 2.5020602842634863 2.5020602842634885 ; + setAttr ".t" -type "double3" -2.3211356138011672 -5.8086248814742643 -5.5045062328919334 ; + setAttr ".s" -type "double3" 2.5020602842634885 2.5020602842634854 2.502060284263488 ; createNode nurbsCurve -n "legFront_L0_crvShape1" -p "legFront_L0_crv1"; - rename -uid "84EADDA7-4001-5CC7-149E-3EB2E4F3B3A2"; + rename -uid "A6C4662A-4F5D-BB9C-412B-07B4F70F06FA"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "legFront_L0_crvShape1Orig" -p "legFront_L0_crv1"; - rename -uid "E29C8A67-426E-205A-FE52-60ACDC14487A"; + rename -uid "BA6F9E41-4667-D3F8-0C7C-7B8951A59991"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4558,7 +4613,7 @@ createNode nurbsCurve -n "legFront_L0_crvShape1Orig" -p "legFront_L0_crv1"; 0 0 0 ; createNode transform -n "shoulder_L0_blade" -p "shoulder_L0_root"; - rename -uid "B5B4DE8C-4FE0-B228-4AE8-97B2577E2BB6"; + rename -uid "ADADFF55-47DF-D9F5-2D92-BA84AE546225"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -4568,13 +4623,13 @@ createNode transform -n "shoulder_L0_blade" -p "shoulder_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999911 0.99999999999999922 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.999999999999999 0.99999999999999911 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "shoulder_L0_bladeShape" -p "shoulder_L0_blade"; - rename -uid "DDD8DCB0-46AC-A658-4DD1-D9877503DFAE"; + rename -uid "74332985-4D5A-E967-AEEE-008BBED22C8A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4588,8 +4643,8 @@ createNode nurbsCurve -n "shoulder_L0_bladeShape" -p "shoulder_L0_blade"; 0 0.42205831527236448 0 0 0 0 ; -createNode aimConstraint -n "shoulder_L0_blade_aimConstraint7" -p "shoulder_L0_blade"; - rename -uid "C46CAB94-46D8-3393-8351-969A47EA827E"; +createNode aimConstraint -n "shoulder_L0_blade_aimConstraint8" -p "shoulder_L0_blade"; + rename -uid "A4F08224-4766-EA43-9ED9-3191CF5EE1ED"; addAttr -dcb 0 -ci true -sn "w0" -ln "shoulder_L0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -4604,10 +4659,10 @@ createNode aimConstraint -n "shoulder_L0_blade_aimConstraint7" -p "shoulder_L0_b setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".rsrr" -type "double3" 3.359975138206766 -13.536129435773097 -14.081236533000178 ; + setAttr ".rsrr" -type "double3" 3.3599751382069831 -13.536129435773113 -14.081236533000165 ; setAttr -k on ".w0"; -createNode pointConstraint -n "shoulder_L0_blade_pointConstraint7" -p "shoulder_L0_blade"; - rename -uid "5DC01363-4CA9-C806-A317-E899C3502B64"; +createNode pointConstraint -n "shoulder_L0_blade_pointConstraint8" -p "shoulder_L0_blade"; + rename -uid "675CD841-4200-C27E-1C57-C39DD4F07A95"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "shoulder_L0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; @@ -4624,18 +4679,18 @@ createNode pointConstraint -n "shoulder_L0_blade_pointConstraint7" -p "shoulder_ setAttr ".erp" yes; setAttr -k on ".w0"; createNode transform -n "shoulder_L0_crv" -p "shoulder_L0_root"; - rename -uid "173997AE-47AF-C969-8CB9-7A9A8B831B63"; + rename -uid "8A0C6A40-4125-7689-77EA-2F87F5580CEB"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -0.09516410914756232 -2.5303629060493171 -1.9933533667490368 ; + setAttr ".t" -type "double3" -0.095164109147562334 -2.5303629060493171 -1.9933533667490368 ; setAttr ".s" -type "double3" 1.0000000000000007 1 1 ; createNode nurbsCurve -n "shoulder_L0_crvShape" -p "shoulder_L0_crv"; - rename -uid "B2338669-4C2F-2E37-E6D5-54B6153F5A19"; + rename -uid "FEBF6777-4294-8B99-C180-82B97AC073D9"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "shoulder_L0_crvShapeOrig" -p "shoulder_L0_crv"; - rename -uid "9012A895-40B4-7C0B-CAEC-60BE454F644A"; + rename -uid "AC4D2D2E-40B9-925A-2A3D-ED8CB7AF1A15"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -4646,7 +4701,7 @@ createNode nurbsCurve -n "shoulder_L0_crvShapeOrig" -p "shoulder_L0_crv"; 0 0 0 ; createNode transform -n "shoulder_R0_root" -p "spine_C0_eff"; - rename -uid "E01C0505-4E01-50DA-5B1B-1D9F9804BEF4"; + rename -uid "C9749823-40D9-1856-0293-CA8714AA1EA2"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -4656,13 +4711,13 @@ createNode transform -n "shoulder_R0_root" -p "spine_C0_eff"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; addAttr -ci true -sn "mode" -ln "mode" -min 0 -at "long"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "neutralpose" -ln "neutralpose" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "neutralpose" -ln "neutralpose" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -0.23232496368006927 0.19745119313991832 0.20082401790608281 ; + setAttr ".t" -type "double3" -0.23232496368006927 0.19745119313991832 0.20082401790608295 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4681,12 +4736,9 @@ createNode transform -n "shoulder_R0_root" -p "spine_C0_eff"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "frontLegUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".neutralpose" yes; setAttr ".ikrefarray" -type "string" ""; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "shoulder_R0_rootShape" -p "shoulder_R0_root"; - rename -uid "7E62FAFE-4803-C52C-2A62-4C90FC14CE1F"; + rename -uid "CF462632-4283-A5AC-ED6D-BA9A6A6912F3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4698,8 +4750,8 @@ createNode nurbsCurve -n "shoulder_R0_rootShape" -p "shoulder_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_R0_root10Shape" -p "shoulder_R0_root"; - rename -uid "C90ADE2A-455D-D943-AC0C-6088A5865435"; +createNode nurbsCurve -n "shoulder_R0_root4Shape" -p "shoulder_R0_root"; + rename -uid "1A63C5FA-42F4-AF1E-B955-05BCA8173EB9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4711,8 +4763,8 @@ createNode nurbsCurve -n "shoulder_R0_root10Shape" -p "shoulder_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_R0_root11Shape" -p "shoulder_R0_root"; - rename -uid "4B07530C-4BEB-52F6-5953-3C85D24C1FD5"; +createNode nurbsCurve -n "shoulder_R0_root5Shape" -p "shoulder_R0_root"; + rename -uid "4E7008A8-46B7-1598-91EE-03AAA713FAB2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4724,8 +4776,8 @@ createNode nurbsCurve -n "shoulder_R0_root11Shape" -p "shoulder_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_R0_root12Shape" -p "shoulder_R0_root"; - rename -uid "9C013EA6-4BCF-6567-72C7-FF895705133A"; +createNode nurbsCurve -n "shoulder_R0_root6Shape" -p "shoulder_R0_root"; + rename -uid "A45304BA-42FB-741D-C524-E0BCEB34446D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4752,10 +4804,10 @@ createNode nurbsCurve -n "shoulder_R0_root12Shape" -p "shoulder_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "shoulder_R0_0_loc" -p "shoulder_R0_root"; - rename -uid "6B61DFC4-4C06-8E57-5AEE-E1BC26621681"; + rename -uid "0033C476-4AC1-1DF5-CEE5-43B7B2A66860"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.83252561455724616 -0.20882616370655338 0.2066360849488682 ; + setAttr ".t" -type "double3" 0.83252561455724627 -0.20882616370655116 0.2066360849488682 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4763,12 +4815,12 @@ createNode transform -n "shoulder_R0_0_loc" -p "shoulder_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999956 1 ; + setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999978 1 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "shoulder_R0_0_locShape" -p "shoulder_R0_0_loc"; - rename -uid "D8092B6B-472A-5F52-B94F-919E5DDFD4FD"; + rename -uid "73617647-4603-15B1-C9AC-3393710C56B0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4780,8 +4832,8 @@ createNode nurbsCurve -n "shoulder_R0_0_locShape" -p "shoulder_R0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "shoulder_R0_0_loc10Shape" -p "shoulder_R0_0_loc"; - rename -uid "DD789668-4EA1-2786-A9E6-5AA7CBCBD6F5"; +createNode nurbsCurve -n "shoulder_R0_0_loc4Shape" -p "shoulder_R0_0_loc"; + rename -uid "F54FC6EB-4BAA-2935-B7A6-DDB44F2C5E1F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4793,8 +4845,8 @@ createNode nurbsCurve -n "shoulder_R0_0_loc10Shape" -p "shoulder_R0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "shoulder_R0_0_loc11Shape" -p "shoulder_R0_0_loc"; - rename -uid "A366567C-424F-75DA-A56A-C1A1AA986CAE"; +createNode nurbsCurve -n "shoulder_R0_0_loc5Shape" -p "shoulder_R0_0_loc"; + rename -uid "BEA8A0A8-405E-3934-2E43-2ABAD19D3F41"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4806,8 +4858,8 @@ createNode nurbsCurve -n "shoulder_R0_0_loc11Shape" -p "shoulder_R0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "shoulder_R0_0_loc12Shape" -p "shoulder_R0_0_loc"; - rename -uid "E47BCEE0-40D2-DDFD-55CC-3DA2EAD312B0"; +createNode nurbsCurve -n "shoulder_R0_0_loc6Shape" -p "shoulder_R0_0_loc"; + rename -uid "3D5F9059-430E-C67B-9A04-65B10E4E4956"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4824,8 +4876,8 @@ createNode nurbsCurve -n "shoulder_R0_0_loc12Shape" -p "shoulder_R0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_R0_0_loc12_0crvShape" -p "shoulder_R0_0_loc"; - rename -uid "D4538F47-4941-E754-2946-88B0C498B40C"; +createNode nurbsCurve -n "shoulder_R0_0_loc6_0crvShape" -p "shoulder_R0_0_loc"; + rename -uid "7FBA1FCA-469A-D36A-DBF2-CC80196CB741"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4842,8 +4894,8 @@ createNode nurbsCurve -n "shoulder_R0_0_loc12_0crvShape" -p "shoulder_R0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "shoulder_R0_0_loc12_1crvShape" -p "shoulder_R0_0_loc"; - rename -uid "C22C1501-48DE-6248-ED17-DE87732A31D7"; +createNode nurbsCurve -n "shoulder_R0_0_loc6_1crvShape" -p "shoulder_R0_0_loc"; + rename -uid "705D864D-4D67-F3AF-6210-879B940C7B93"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4861,7 +4913,7 @@ createNode nurbsCurve -n "shoulder_R0_0_loc12_1crvShape" -p "shoulder_R0_0_loc"; 0 0 -0.1875 ; createNode transform -n "legFront_R0_root" -p "shoulder_R0_0_loc"; - rename -uid "FFFEAEA1-44AF-FB87-3A7A-D89351BF2B97"; + rename -uid "34DE18E7-44AB-6F8B-A50E-2FA05782ABBF"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -4870,23 +4922,23 @@ createNode transform -n "legFront_R0_root" -p "shoulder_R0_0_loc"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -dv 1 -min 0 -max 1 -at "double"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; addAttr -ci true -k true -sn "ikSolver" -ln "ikSolver" -min 0 -max 1 -en "IK Spring:IK Rotation Plane" -at "enum"; - addAttr -ci true -sn "ikOri" -ln "ikOri" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div2" -ln "div2" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "ikOri" -ln "ikOri" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div2" -ln "div2" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -7.7715611723760958e-016 -4.4408920985006262e-016 -8.8817841970012523e-016 ; + setAttr ".t" -type "double3" -1.1102230246251565e-015 -2.6645352591003757e-015 -4.4408920985006262e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4894,7 +4946,7 @@ createNode transform -n "legFront_R0_root" -p "shoulder_R0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.39967062595950276 0.39967062595950326 0.39967062595950281 ; + setAttr ".s" -type "double3" 0.39967062595950276 0.3996706259595032 0.39967062595950281 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -4904,21 +4956,13 @@ createNode transform -n "legFront_R0_root" -p "shoulder_R0_0_loc"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "frontLegUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".full3BonesIK" 1; - setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".maxstretch" 1.5; + setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; setAttr -k on ".ikSolver" 1; - setAttr ".ikOri" yes; - setAttr ".div0" 2; - setAttr ".div1" 2; - setAttr ".div2" 2; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "legFront_R0_rootShape" -p "legFront_R0_root"; - rename -uid "07655FE8-4BB5-3BE3-777D-C59960232BA9"; + rename -uid "739D7CB4-4BF6-0821-1BCF-6984F5D14CDD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4930,8 +4974,8 @@ createNode nurbsCurve -n "legFront_R0_rootShape" -p "legFront_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_R0_root10Shape" -p "legFront_R0_root"; - rename -uid "88B4B2E8-4F24-DA5B-9A32-2881BB14F10F"; +createNode nurbsCurve -n "legFront_R0_root4Shape" -p "legFront_R0_root"; + rename -uid "B193E9CB-40F6-9289-AE25-A0AC76777913"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4943,8 +4987,8 @@ createNode nurbsCurve -n "legFront_R0_root10Shape" -p "legFront_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_R0_root11Shape" -p "legFront_R0_root"; - rename -uid "ECD3CEFD-49C7-9AA5-192E-8BB8D24BB91A"; +createNode nurbsCurve -n "legFront_R0_root5Shape" -p "legFront_R0_root"; + rename -uid "14D05DE1-4A74-7283-C36C-9B8F156FE3BB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4956,8 +5000,8 @@ createNode nurbsCurve -n "legFront_R0_root11Shape" -p "legFront_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_R0_root12Shape" -p "legFront_R0_root"; - rename -uid "79FD85C4-4300-8564-2B2E-56B8874049D1"; +createNode nurbsCurve -n "legFront_R0_root6Shape" -p "legFront_R0_root"; + rename -uid "46337DDA-4D44-F3E9-7B21-CD87212B360C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -4984,10 +5028,10 @@ createNode nurbsCurve -n "legFront_R0_root12Shape" -p "legFront_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "legFront_R0_knee" -p "legFront_R0_root"; - rename -uid "C89A64C7-48D5-3BAE-808F-1AADF7F80562"; + rename -uid "0B5462FA-4C50-8C1C-BF0C-13B639357721"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.7763568394002505e-015 -2.124086302137048 -0.48633856256837049 ; + setAttr ".t" -type "double3" 1.3322676295501878e-015 -2.1240863021370475 -0.48633856256837316 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -4995,12 +5039,12 @@ createNode transform -n "legFront_R0_knee" -p "legFront_R0_root"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 1 1.0000000000000007 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999978 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_R0_kneeShape" -p "legFront_R0_knee"; - rename -uid "7E494F76-49F0-0FF7-280C-3BBCCD709EE5"; + rename -uid "34D0EDB8-434B-539B-B34F-798F0403385A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5012,8 +5056,8 @@ createNode nurbsCurve -n "legFront_R0_kneeShape" -p "legFront_R0_knee"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_R0_knee10Shape" -p "legFront_R0_knee"; - rename -uid "CFDDEDF3-4E70-C762-DBBC-5D88EBB903EC"; +createNode nurbsCurve -n "legFront_R0_knee4Shape" -p "legFront_R0_knee"; + rename -uid "2AF5F2DE-4D9F-3BB8-D1D3-96A51E814FDB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5025,8 +5069,8 @@ createNode nurbsCurve -n "legFront_R0_knee10Shape" -p "legFront_R0_knee"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_R0_knee11Shape" -p "legFront_R0_knee"; - rename -uid "634FA4BE-4D51-8663-E979-709D85CF833F"; +createNode nurbsCurve -n "legFront_R0_knee5Shape" -p "legFront_R0_knee"; + rename -uid "B769211B-4B90-222B-CECA-679765B27E7C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5038,8 +5082,8 @@ createNode nurbsCurve -n "legFront_R0_knee11Shape" -p "legFront_R0_knee"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_R0_knee12Shape" -p "legFront_R0_knee"; - rename -uid "26078915-4EB2-7ED3-420E-C89555584938"; +createNode nurbsCurve -n "legFront_R0_knee6Shape" -p "legFront_R0_knee"; + rename -uid "3EBBDC36-4CB8-F18B-2EC2-5DBDB54434B9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5056,8 +5100,8 @@ createNode nurbsCurve -n "legFront_R0_knee12Shape" -p "legFront_R0_knee"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_knee12_0crvShape" -p "legFront_R0_knee"; - rename -uid "6E78269A-4DF5-6268-343B-17805214D08A"; +createNode nurbsCurve -n "legFront_R0_knee6_0crvShape" -p "legFront_R0_knee"; + rename -uid "B78DBDA1-4931-70B8-C7CB-5995E8EE80D6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5074,8 +5118,8 @@ createNode nurbsCurve -n "legFront_R0_knee12_0crvShape" -p "legFront_R0_knee"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_knee12_1crvShape" -p "legFront_R0_knee"; - rename -uid "0D15373A-437E-7EAC-06EA-7C83AFB1C412"; +createNode nurbsCurve -n "legFront_R0_knee6_1crvShape" -p "legFront_R0_knee"; + rename -uid "4D34D482-4B83-371B-9B04-0D87232711D3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5093,10 +5137,10 @@ createNode nurbsCurve -n "legFront_R0_knee12_1crvShape" -p "legFront_R0_knee"; 0 0 -0.1875 ; createNode transform -n "legFront_R0_ankle" -p "legFront_R0_knee"; - rename -uid "F3766919-4580-9EC0-4916-869C2FBE014C"; + rename -uid "6B8BE426-43D7-882B-52E4-499B57E02607"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3322676295501878e-015 -2.3651516407059203 0.073902270404604842 ; + setAttr ".t" -type "double3" 2.6645352591003757e-015 -2.365151640705919 0.073902270404608394 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5104,12 +5148,12 @@ createNode transform -n "legFront_R0_ankle" -p "legFront_R0_knee"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999933 0.99999999999999978 0.99999999999999956 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999978 0.99999999999999944 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_R0_ankleShape" -p "legFront_R0_ankle"; - rename -uid "ED1EED79-47EA-B69C-660B-59BD714BF38A"; + rename -uid "BD7CC5C7-47D9-9949-E9A7-448DB8A519E0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5121,8 +5165,8 @@ createNode nurbsCurve -n "legFront_R0_ankleShape" -p "legFront_R0_ankle"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_R0_ankle10Shape" -p "legFront_R0_ankle"; - rename -uid "7617FD41-4BFE-AD2E-E55A-729B1AD96E2C"; +createNode nurbsCurve -n "legFront_R0_ankle4Shape" -p "legFront_R0_ankle"; + rename -uid "946B40F1-40E6-B2E5-3AD1-5BBE158443B3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5134,8 +5178,8 @@ createNode nurbsCurve -n "legFront_R0_ankle10Shape" -p "legFront_R0_ankle"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_R0_ankle11Shape" -p "legFront_R0_ankle"; - rename -uid "B3CEC763-4460-3D56-84D6-BFB4B2DC88F0"; +createNode nurbsCurve -n "legFront_R0_ankle5Shape" -p "legFront_R0_ankle"; + rename -uid "840AC465-4901-0D6B-0431-9FB713C2F6A2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5147,8 +5191,8 @@ createNode nurbsCurve -n "legFront_R0_ankle11Shape" -p "legFront_R0_ankle"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_R0_ankle12Shape" -p "legFront_R0_ankle"; - rename -uid "B4834EFD-4D57-ED01-6766-D58CBD4776D6"; +createNode nurbsCurve -n "legFront_R0_ankle6Shape" -p "legFront_R0_ankle"; + rename -uid "88E954D7-469A-9CF8-3E4A-DD8AA219B0FF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5165,8 +5209,8 @@ createNode nurbsCurve -n "legFront_R0_ankle12Shape" -p "legFront_R0_ankle"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_ankle12_0crvShape" -p "legFront_R0_ankle"; - rename -uid "EE05D62B-4216-E40A-2459-6299610853E1"; +createNode nurbsCurve -n "legFront_R0_ankle6_0crvShape" -p "legFront_R0_ankle"; + rename -uid "0A693D11-4FAC-751D-3C86-D9BBBB6BBACB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5183,8 +5227,8 @@ createNode nurbsCurve -n "legFront_R0_ankle12_0crvShape" -p "legFront_R0_ankle"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_ankle12_1crvShape" -p "legFront_R0_ankle"; - rename -uid "E2D38D59-445F-0AF5-9FB4-B2879BE87F5F"; +createNode nurbsCurve -n "legFront_R0_ankle6_1crvShape" -p "legFront_R0_ankle"; + rename -uid "FC3E3A2D-47D8-A553-43E9-FB95BC07D286"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5202,10 +5246,10 @@ createNode nurbsCurve -n "legFront_R0_ankle12_1crvShape" -p "legFront_R0_ankle"; 0 0 -0.1875 ; createNode transform -n "legFront_R0_foot" -p "legFront_R0_ankle"; - rename -uid "383584B1-4BB1-6BE0-1D44-CABAFE177676"; + rename -uid "18A02A7E-43F1-6A6F-D1D4-7F815A2349C1"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.3322676295501878e-015 -1.1294425054275468 0.023148533894220336 ; + setAttr ".t" -type "double3" -4.4408920985006262e-016 -1.1294425054275496 0.023148533894220336 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5213,12 +5257,12 @@ createNode transform -n "legFront_R0_foot" -p "legFront_R0_ankle"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999967 1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999978 1 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_R0_footShape" -p "legFront_R0_foot"; - rename -uid "14C39B7F-4D89-9051-9DC4-BA9C280A111D"; + rename -uid "99FFA4F9-4B93-6C51-33A8-E5AA3E029D2D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5230,8 +5274,8 @@ createNode nurbsCurve -n "legFront_R0_footShape" -p "legFront_R0_foot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_R0_foot10Shape" -p "legFront_R0_foot"; - rename -uid "A047CF0E-4535-FEAD-38CF-88B3386E42F5"; +createNode nurbsCurve -n "legFront_R0_foot4Shape" -p "legFront_R0_foot"; + rename -uid "60D9F634-4D45-9DD9-9363-EAADC88425A7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5243,8 +5287,8 @@ createNode nurbsCurve -n "legFront_R0_foot10Shape" -p "legFront_R0_foot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_R0_foot11Shape" -p "legFront_R0_foot"; - rename -uid "21F60BB3-48E4-1AF5-9B8F-EC80038050E2"; +createNode nurbsCurve -n "legFront_R0_foot5Shape" -p "legFront_R0_foot"; + rename -uid "B956C9C3-46E7-D1F9-4E39-F986F8FB3343"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5256,8 +5300,8 @@ createNode nurbsCurve -n "legFront_R0_foot11Shape" -p "legFront_R0_foot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_R0_foot12Shape" -p "legFront_R0_foot"; - rename -uid "40E13276-43EB-D3A7-8E56-8C96EF7C8790"; +createNode nurbsCurve -n "legFront_R0_foot6Shape" -p "legFront_R0_foot"; + rename -uid "9937917E-4396-8816-0088-3AAA986A448F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5274,8 +5318,8 @@ createNode nurbsCurve -n "legFront_R0_foot12Shape" -p "legFront_R0_foot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_foot12_0crvShape" -p "legFront_R0_foot"; - rename -uid "EB027F52-42C0-A10C-D0CB-F888F6A94C74"; +createNode nurbsCurve -n "legFront_R0_foot6_0crvShape" -p "legFront_R0_foot"; + rename -uid "615F96E1-4493-62B8-8F5B-78AE51DBE99E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5292,8 +5336,8 @@ createNode nurbsCurve -n "legFront_R0_foot12_0crvShape" -p "legFront_R0_foot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_foot12_1crvShape" -p "legFront_R0_foot"; - rename -uid "EEB1E42D-4309-A74B-3E06-D28EFC34021B"; +createNode nurbsCurve -n "legFront_R0_foot6_1crvShape" -p "legFront_R0_foot"; + rename -uid "455D8F99-4458-9B5A-D2B7-AC869CE6564F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5311,10 +5355,10 @@ createNode nurbsCurve -n "legFront_R0_foot12_1crvShape" -p "legFront_R0_foot"; 0 0 -0.1875 ; createNode transform -n "legFront_R0_eff" -p "legFront_R0_foot"; - rename -uid "01F4DC4C-4E97-0353-225B-8B9CA9F3DCBF"; + rename -uid "7E6360B5-40AA-4441-5D39-2EBD6885B61C"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 8.8817841970012523e-016 6.9388939039072284e-016 0.59657797851921224 ; + setAttr ".t" -type "double3" 3.1086244689504383e-015 8.6042284408449632e-016 0.59657797851920868 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5322,12 +5366,12 @@ createNode transform -n "legFront_R0_eff" -p "legFront_R0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 0.99999999999999967 0.999999999999999 ; + setAttr ".s" -type "double3" 0.99999999999999967 0.99999999999999922 0.99999999999999867 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legFront_R0_effShape" -p "legFront_R0_eff"; - rename -uid "0F29FD14-4E61-92A1-C1CD-67863FD0C51B"; + rename -uid "34347F68-4B4C-0918-6D4F-7087FCB206CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5339,8 +5383,8 @@ createNode nurbsCurve -n "legFront_R0_effShape" -p "legFront_R0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legFront_R0_eff10Shape" -p "legFront_R0_eff"; - rename -uid "0D3F04CB-4982-A0B5-0EFF-17B1F6CFBF6E"; +createNode nurbsCurve -n "legFront_R0_eff4Shape" -p "legFront_R0_eff"; + rename -uid "61B4025F-42BD-1D6C-AB3F-F3BCF4CD690A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5352,8 +5396,8 @@ createNode nurbsCurve -n "legFront_R0_eff10Shape" -p "legFront_R0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legFront_R0_eff11Shape" -p "legFront_R0_eff"; - rename -uid "15DBBA13-4324-231F-6877-008A3CB7F000"; +createNode nurbsCurve -n "legFront_R0_eff5Shape" -p "legFront_R0_eff"; + rename -uid "99338A14-4C51-F3A2-EF9E-65A2DECCE72E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5365,8 +5409,8 @@ createNode nurbsCurve -n "legFront_R0_eff11Shape" -p "legFront_R0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legFront_R0_eff12Shape" -p "legFront_R0_eff"; - rename -uid "C42F0425-4D8F-05FE-9F08-968EFD30AC4C"; +createNode nurbsCurve -n "legFront_R0_eff6Shape" -p "legFront_R0_eff"; + rename -uid "2862B3B4-4F8D-E8B0-35E1-B1A7F8FF6E8A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5383,8 +5427,8 @@ createNode nurbsCurve -n "legFront_R0_eff12Shape" -p "legFront_R0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_eff12_0crvShape" -p "legFront_R0_eff"; - rename -uid "99A21E1D-4A99-7D41-66BF-27A8EAB508E6"; +createNode nurbsCurve -n "legFront_R0_eff6_0crvShape" -p "legFront_R0_eff"; + rename -uid "172959DC-414E-197B-9304-08882059DEDB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5401,8 +5445,8 @@ createNode nurbsCurve -n "legFront_R0_eff12_0crvShape" -p "legFront_R0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legFront_R0_eff12_1crvShape" -p "legFront_R0_eff"; - rename -uid "FF9E6EDC-4A15-8DF5-FF5D-0399360002BD"; +createNode nurbsCurve -n "legFront_R0_eff6_1crvShape" -p "legFront_R0_eff"; + rename -uid "58C2E2BB-4C40-5DAF-5AC4-0E8EE5D70EA6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5420,7 +5464,7 @@ createNode nurbsCurve -n "legFront_R0_eff12_1crvShape" -p "legFront_R0_eff"; 0 0 -0.1875 ; createNode transform -n "footFront_R0_root" -p "legFront_R0_foot"; - rename -uid "B8DA80C7-4C85-5D23-690D-58BE487AA35F"; + rename -uid "702E0129-442E-2981-86BF-5DB1E4F7FEF9"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -5429,11 +5473,11 @@ createNode transform -n "footFront_R0_root" -p "legFront_R0_foot"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.7763568394002505e-015 7.2164496600635175e-016 8.8817841970012523e-016 ; + setAttr ".t" -type "double3" 3.1086244689504383e-015 9.1593399531575415e-016 -1.7763568394002505e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5441,7 +5485,7 @@ createNode transform -n "footFront_R0_root" -p "legFront_R0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.31499517602514093 0.31499517602514099 0.31499517602514077 ; + setAttr ".s" -type "double3" 0.31499517602514099 0.31499517602514093 0.31499517602514077 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -5451,10 +5495,8 @@ createNode transform -n "footFront_R0_root" -p "legFront_R0_foot"; setAttr ".connector" -type "string" "leg_3jnt_01"; setAttr ".ui_host" -type "string" "frontLegUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".useRollCtl" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "footFront_R0_rootShape" -p "footFront_R0_root"; - rename -uid "EAB50775-43B8-C4A9-557C-89912C787DEB"; + rename -uid "8855F3FA-4916-E179-C56E-9EB3D214162B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5466,8 +5508,8 @@ createNode nurbsCurve -n "footFront_R0_rootShape" -p "footFront_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_R0_root10Shape" -p "footFront_R0_root"; - rename -uid "9CBD4C8C-4600-281E-4173-D5A863970C31"; +createNode nurbsCurve -n "footFront_R0_root4Shape" -p "footFront_R0_root"; + rename -uid "E5FD2780-426F-CEFD-B585-F5841228D1F3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5479,8 +5521,8 @@ createNode nurbsCurve -n "footFront_R0_root10Shape" -p "footFront_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_R0_root11Shape" -p "footFront_R0_root"; - rename -uid "EB7FAB82-4583-301B-9EF1-F893A65EB747"; +createNode nurbsCurve -n "footFront_R0_root5Shape" -p "footFront_R0_root"; + rename -uid "CD799EFA-46DC-E08A-794C-B9B712D3ACEA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5492,8 +5534,8 @@ createNode nurbsCurve -n "footFront_R0_root11Shape" -p "footFront_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_R0_root12Shape" -p "footFront_R0_root"; - rename -uid "E5D3BF68-4389-24DA-65E5-3184F001B1C6"; +createNode nurbsCurve -n "footFront_R0_root6Shape" -p "footFront_R0_root"; + rename -uid "7084AA59-4C77-A960-8FC0-0D9B6A08E2B8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5520,10 +5562,10 @@ createNode nurbsCurve -n "footFront_R0_root12Shape" -p "footFront_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "footFront_R0_0_loc" -p "footFront_R0_root"; - rename -uid "0FA9C238-4E9D-F0B5-3D6B-249180F98EB4"; + rename -uid "FBFC1FE2-42DE-9F84-6CEB-468E507AC5EC"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -3.5527136788005009e-015 6.6613381477509392e-016 0.75996190873515701 ; + setAttr ".t" -type "double3" 6.2172489379008766e-015 5.5511151231257827e-016 0.75996190873517833 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5531,12 +5573,12 @@ createNode transform -n "footFront_R0_0_loc" -p "footFront_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999878 0.99999999999999956 0.99999999999999922 ; + setAttr ".s" -type "double3" 0.99999999999999989 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_R0_0_locShape" -p "footFront_R0_0_loc"; - rename -uid "5D0C9C67-46EF-1AD3-1576-B3934B82CCE0"; + rename -uid "3F7167B3-4BE8-F8B5-4F2E-C2AC27BA0690"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5548,8 +5590,8 @@ createNode nurbsCurve -n "footFront_R0_0_locShape" -p "footFront_R0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_R0_0_loc10Shape" -p "footFront_R0_0_loc"; - rename -uid "5CEA8544-4DF4-D925-9AF5-0BA06A619920"; +createNode nurbsCurve -n "footFront_R0_0_loc4Shape" -p "footFront_R0_0_loc"; + rename -uid "82046614-4A9F-F8BE-98D2-16A13692E082"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5561,8 +5603,8 @@ createNode nurbsCurve -n "footFront_R0_0_loc10Shape" -p "footFront_R0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_R0_0_loc11Shape" -p "footFront_R0_0_loc"; - rename -uid "73C46E51-4538-21DD-7E5F-33A8C37594C0"; +createNode nurbsCurve -n "footFront_R0_0_loc5Shape" -p "footFront_R0_0_loc"; + rename -uid "A16357B5-49AC-0FC0-762D-5BBF7133D76F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5574,8 +5616,8 @@ createNode nurbsCurve -n "footFront_R0_0_loc11Shape" -p "footFront_R0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_R0_0_loc12Shape" -p "footFront_R0_0_loc"; - rename -uid "ABD8EB98-4414-7ABF-7619-518BDD1D5E0B"; +createNode nurbsCurve -n "footFront_R0_0_loc6Shape" -p "footFront_R0_0_loc"; + rename -uid "D6A7BB8A-413E-ED25-B1EF-55B781FA9F74"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5592,8 +5634,8 @@ createNode nurbsCurve -n "footFront_R0_0_loc12Shape" -p "footFront_R0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_0_loc12_0crvShape" -p "footFront_R0_0_loc"; - rename -uid "95D17BE1-4DBE-4924-0520-5D944950E6CC"; +createNode nurbsCurve -n "footFront_R0_0_loc6_0crvShape" -p "footFront_R0_0_loc"; + rename -uid "CEA05339-45C4-ADDF-55A7-4884D42F5FD4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5610,8 +5652,8 @@ createNode nurbsCurve -n "footFront_R0_0_loc12_0crvShape" -p "footFront_R0_0_loc 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_0_loc12_1crvShape" -p "footFront_R0_0_loc"; - rename -uid "1D78C470-48E7-703D-429E-2BA76EDE9EEF"; +createNode nurbsCurve -n "footFront_R0_0_loc6_1crvShape" -p "footFront_R0_0_loc"; + rename -uid "2DC51BC2-4D92-7425-AA72-4D99A7658839"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5629,10 +5671,10 @@ createNode nurbsCurve -n "footFront_R0_0_loc12_1crvShape" -p "footFront_R0_0_loc 0 0 -0.1875 ; createNode transform -n "footFront_R0_1_loc" -p "footFront_R0_0_loc"; - rename -uid "5C344468-443B-8124-50B1-24B3AF188AB3"; + rename -uid "D6759845-47D0-67C5-3BBD-FB84934ACD02"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 6.2172489379008766e-015 -0.31771180755405148 0.73937999249395858 ; + setAttr ".t" -type "double3" -3.5527136788005009e-015 -0.31771180755405087 0.73937999249394437 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5640,12 +5682,12 @@ createNode transform -n "footFront_R0_1_loc" -p "footFront_R0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000011 1.0000000000000009 1.0000000000000018 ; + setAttr ".s" -type "double3" 1 1.0000000000000002 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_R0_1_locShape" -p "footFront_R0_1_loc"; - rename -uid "D38DE9CA-4A9C-5228-51F4-3584431E5348"; + rename -uid "624D2066-4611-0E8E-82D2-539403CBCD21"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5657,8 +5699,8 @@ createNode nurbsCurve -n "footFront_R0_1_locShape" -p "footFront_R0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_R0_1_loc10Shape" -p "footFront_R0_1_loc"; - rename -uid "2C72425B-42A4-5D66-781E-72BCCB6480FA"; +createNode nurbsCurve -n "footFront_R0_1_loc4Shape" -p "footFront_R0_1_loc"; + rename -uid "B63437C0-4D5C-4FB4-1F01-5F9F96068D40"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5670,8 +5712,8 @@ createNode nurbsCurve -n "footFront_R0_1_loc10Shape" -p "footFront_R0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_R0_1_loc11Shape" -p "footFront_R0_1_loc"; - rename -uid "E9108443-4CDE-8440-EA61-69BB3902E20A"; +createNode nurbsCurve -n "footFront_R0_1_loc5Shape" -p "footFront_R0_1_loc"; + rename -uid "A42D5F0B-4C73-8DA1-758E-B993A9D7D753"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5683,8 +5725,8 @@ createNode nurbsCurve -n "footFront_R0_1_loc11Shape" -p "footFront_R0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_R0_1_loc12Shape" -p "footFront_R0_1_loc"; - rename -uid "EB952584-4FD0-9A82-60A3-48AC4FCC36CA"; +createNode nurbsCurve -n "footFront_R0_1_loc6Shape" -p "footFront_R0_1_loc"; + rename -uid "9EB83CEA-46F2-85BD-97E8-AA8884CAAF7B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5701,8 +5743,8 @@ createNode nurbsCurve -n "footFront_R0_1_loc12Shape" -p "footFront_R0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_1_loc12_0crvShape" -p "footFront_R0_1_loc"; - rename -uid "C4DD2A3F-459F-ADD0-990E-C29D40A73E8B"; +createNode nurbsCurve -n "footFront_R0_1_loc6_0crvShape" -p "footFront_R0_1_loc"; + rename -uid "FC16B102-4479-824B-D614-71BCB8AD3128"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5719,8 +5761,8 @@ createNode nurbsCurve -n "footFront_R0_1_loc12_0crvShape" -p "footFront_R0_1_loc 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_1_loc12_1crvShape" -p "footFront_R0_1_loc"; - rename -uid "B7BF237E-4F77-05EC-F77F-88B00781B057"; +createNode nurbsCurve -n "footFront_R0_1_loc6_1crvShape" -p "footFront_R0_1_loc"; + rename -uid "69D5962B-4C84-1061-D91E-5E8091631A8A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5738,19 +5780,19 @@ createNode nurbsCurve -n "footFront_R0_1_loc12_1crvShape" -p "footFront_R0_1_loc 0 0 -0.1875 ; createNode transform -n "footFront_R0_crv" -p "footFront_R0_root"; - rename -uid "C65E6299-4190-424B-24A8-C890340510DA"; + rename -uid "B5B99B85-410A-A0AF-6F94-B3986F8821DB"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -7.3687973355373462 -0.60300743522684519 -16.239037496288915 ; + setAttr ".t" -type "double3" -7.3687973355373444 -0.60300743522684541 -16.239037496288905 ; setAttr ".r" -type "double3" 0 179.99999999999997 0 ; - setAttr ".s" -type "double3" 7.9431701648148065 7.9431701648148056 -7.9431701648148083 ; + setAttr ".s" -type "double3" 7.9431701648148065 7.9431701648148074 -7.9431701648148083 ; createNode nurbsCurve -n "footFront_R0_crvShape" -p "footFront_R0_crv"; - rename -uid "A5086AC3-4369-B884-68D6-79B4905D8BF1"; + rename -uid "88F1AA9D-4915-7D9F-8982-ECA41D306011"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footFront_R0_crvShapeOrig" -p "footFront_R0_crv"; - rename -uid "F48F9699-49FD-9A34-32B2-9895F5DD7FF5"; + rename -uid "430A8DD1-4FCD-EC17-A47F-D593A1E8624B"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -5762,10 +5804,10 @@ createNode nurbsCurve -n "footFront_R0_crvShapeOrig" -p "footFront_R0_crv"; 0 0 0 ; createNode transform -n "footFront_R0_heel" -p "footFront_R0_root"; - rename -uid "DAFA7C1C-4C08-FFE8-1EAA-53B00D2EC81C"; + rename -uid "661D0ED7-44D9-00D7-ED75-368AEB62E9C4"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.6645352591003757e-015 -0.31771180755405065 -0.06789990867209994 ; + setAttr ".t" -type "double3" 1.2434497875801753e-014 -0.31771180755405076 -0.067899908672078624 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5773,12 +5815,12 @@ createNode transform -n "footFront_R0_heel" -p "footFront_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999878 0.99999999999999956 0.99999999999999922 ; + setAttr ".s" -type "double3" 0.99999999999999989 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_R0_heelShape" -p "footFront_R0_heel"; - rename -uid "C1BE6A53-471A-6959-08DA-EC9C3A3E48B1"; + rename -uid "A331B82C-4199-B97C-C352-A4A4E20F8D1E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5790,8 +5832,8 @@ createNode nurbsCurve -n "footFront_R0_heelShape" -p "footFront_R0_heel"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_R0_heel10Shape" -p "footFront_R0_heel"; - rename -uid "6F35DF19-46E9-67A4-0DA4-99BF6F1D6F35"; +createNode nurbsCurve -n "footFront_R0_heel4Shape" -p "footFront_R0_heel"; + rename -uid "D3D47616-494C-C79D-FE0B-0BA22BA371EA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5803,8 +5845,8 @@ createNode nurbsCurve -n "footFront_R0_heel10Shape" -p "footFront_R0_heel"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_R0_heel11Shape" -p "footFront_R0_heel"; - rename -uid "1D8D355C-4C59-DD8B-F9DE-B1A81CE1D3E0"; +createNode nurbsCurve -n "footFront_R0_heel5Shape" -p "footFront_R0_heel"; + rename -uid "6820DF11-47FE-DF15-D9E6-D7A020C74C96"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5816,8 +5858,8 @@ createNode nurbsCurve -n "footFront_R0_heel11Shape" -p "footFront_R0_heel"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_R0_heel12Shape" -p "footFront_R0_heel"; - rename -uid "B782335C-4738-4381-0700-3BA096B712B9"; +createNode nurbsCurve -n "footFront_R0_heel6Shape" -p "footFront_R0_heel"; + rename -uid "6769CAD5-490D-5E2B-B179-B5B2C633B885"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5834,8 +5876,8 @@ createNode nurbsCurve -n "footFront_R0_heel12Shape" -p "footFront_R0_heel"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_heel12_0crvShape" -p "footFront_R0_heel"; - rename -uid "5B83E7B9-4F0F-C19B-ADCA-6589514DBD85"; +createNode nurbsCurve -n "footFront_R0_heel6_0crvShape" -p "footFront_R0_heel"; + rename -uid "957C6DC0-4507-2BA9-95AB-26AFC11C5771"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5852,8 +5894,8 @@ createNode nurbsCurve -n "footFront_R0_heel12_0crvShape" -p "footFront_R0_heel"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_heel12_1crvShape" -p "footFront_R0_heel"; - rename -uid "90EB0F17-4BB7-1B2C-33F4-28B657C41C28"; +createNode nurbsCurve -n "footFront_R0_heel6_1crvShape" -p "footFront_R0_heel"; + rename -uid "1F60AA1D-4F0B-12B7-536A-2A9C9A404453"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5871,10 +5913,10 @@ createNode nurbsCurve -n "footFront_R0_heel12_1crvShape" -p "footFront_R0_heel"; 0 0 -0.1875 ; createNode transform -n "footFront_R0_outpivot" -p "footFront_R0_root"; - rename -uid "BE36B4A3-4868-B349-FD60-E3AC8E5E8D42"; + rename -uid "7E36FAF5-4976-4020-1B77-42A5ACFA2B26"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.1000376131120593 -0.31771180755405043 0.691571853504648 ; + setAttr ".t" -type "double3" 1.1000376131120611 -0.31771180755405032 0.69157185350466932 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5882,12 +5924,12 @@ createNode transform -n "footFront_R0_outpivot" -p "footFront_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999878 0.99999999999999956 0.99999999999999922 ; + setAttr ".s" -type "double3" 0.99999999999999989 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_R0_outpivotShape" -p "footFront_R0_outpivot"; - rename -uid "DCC3B158-4800-3887-BF91-72A64B8B23F7"; + rename -uid "35B9798B-4553-7D19-9EFA-EE8029336FC5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5899,8 +5941,8 @@ createNode nurbsCurve -n "footFront_R0_outpivotShape" -p "footFront_R0_outpivot" 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_R0_outpivot10Shape" -p "footFront_R0_outpivot"; - rename -uid "044FC4D7-46BB-A288-F62E-8D9EA7A7A755"; +createNode nurbsCurve -n "footFront_R0_outpivot4Shape" -p "footFront_R0_outpivot"; + rename -uid "FEF23520-41CD-77D4-2238-77800EC5CDCA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5912,8 +5954,8 @@ createNode nurbsCurve -n "footFront_R0_outpivot10Shape" -p "footFront_R0_outpivo 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_R0_outpivot11Shape" -p "footFront_R0_outpivot"; - rename -uid "94511FBC-4A34-9F4D-A6A0-9D84D11BDC52"; +createNode nurbsCurve -n "footFront_R0_outpivot5Shape" -p "footFront_R0_outpivot"; + rename -uid "A048245F-4ED6-5960-B68C-99BC99532345"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5925,8 +5967,8 @@ createNode nurbsCurve -n "footFront_R0_outpivot11Shape" -p "footFront_R0_outpivo 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_R0_outpivot12Shape" -p "footFront_R0_outpivot"; - rename -uid "682BF1D2-41E2-2D8D-8CD9-668F0229E503"; +createNode nurbsCurve -n "footFront_R0_outpivot6Shape" -p "footFront_R0_outpivot"; + rename -uid "4DF6D918-4978-6B70-185C-E1890E7D589E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5943,8 +5985,8 @@ createNode nurbsCurve -n "footFront_R0_outpivot12Shape" -p "footFront_R0_outpivo 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_outpivot12_0crvShape" -p "footFront_R0_outpivot"; - rename -uid "FAAC3365-414F-F52F-9F05-F680E56670AE"; +createNode nurbsCurve -n "footFront_R0_outpivot6_0crvShape" -p "footFront_R0_outpivot"; + rename -uid "ABD331FD-4135-0B73-CA3E-EBA4411CFFE9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5961,8 +6003,8 @@ createNode nurbsCurve -n "footFront_R0_outpivot12_0crvShape" -p "footFront_R0_ou 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_outpivot12_1crvShape" -p "footFront_R0_outpivot"; - rename -uid "FAEADD12-4C8C-ADDB-6CFA-708A1542AFDA"; +createNode nurbsCurve -n "footFront_R0_outpivot6_1crvShape" -p "footFront_R0_outpivot"; + rename -uid "3A1F448B-413D-5FC2-8A21-0DBDA33A4821"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -5980,10 +6022,10 @@ createNode nurbsCurve -n "footFront_R0_outpivot12_1crvShape" -p "footFront_R0_ou 0 0 -0.1875 ; createNode transform -n "footFront_R0_inpivot" -p "footFront_R0_root"; - rename -uid "59CF860A-412A-06CD-7BC5-43B67BAC02FD"; + rename -uid "09C7854D-4271-6379-78FD-FB8FA490257E"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.016243928872302 -0.31771180755405048 0.86340011285661333 ; + setAttr ".t" -type "double3" -1.0162439288722931 -0.31771180755405054 0.86340011285664531 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -5991,12 +6033,12 @@ createNode transform -n "footFront_R0_inpivot" -p "footFront_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999878 0.99999999999999956 0.99999999999999922 ; + setAttr ".s" -type "double3" 0.99999999999999989 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footFront_R0_inpivotShape" -p "footFront_R0_inpivot"; - rename -uid "8B2B88DD-4928-C0AE-841D-2CBA04EF9DCA"; + rename -uid "5982959D-480F-A903-FA9B-2E8FF5DAB4B2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6008,8 +6050,8 @@ createNode nurbsCurve -n "footFront_R0_inpivotShape" -p "footFront_R0_inpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footFront_R0_inpivot10Shape" -p "footFront_R0_inpivot"; - rename -uid "B63325B1-4C77-629C-E241-A0BE0BAB0BB5"; +createNode nurbsCurve -n "footFront_R0_inpivot4Shape" -p "footFront_R0_inpivot"; + rename -uid "B2D5A66D-4C31-7BEE-7E3A-B7ACF6D1B6DB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6021,8 +6063,8 @@ createNode nurbsCurve -n "footFront_R0_inpivot10Shape" -p "footFront_R0_inpivot" 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footFront_R0_inpivot11Shape" -p "footFront_R0_inpivot"; - rename -uid "4499581C-47A7-7D92-BAB6-60876CF21E07"; +createNode nurbsCurve -n "footFront_R0_inpivot5Shape" -p "footFront_R0_inpivot"; + rename -uid "03A28E23-4073-0132-AE46-6795028CD56C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6034,8 +6076,8 @@ createNode nurbsCurve -n "footFront_R0_inpivot11Shape" -p "footFront_R0_inpivot" 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footFront_R0_inpivot12Shape" -p "footFront_R0_inpivot"; - rename -uid "3002322E-4D93-099F-6EF7-89B2D1F64255"; +createNode nurbsCurve -n "footFront_R0_inpivot6Shape" -p "footFront_R0_inpivot"; + rename -uid "E9D820AC-4BA7-66F6-ACF2-849D38FCFBC2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6052,8 +6094,8 @@ createNode nurbsCurve -n "footFront_R0_inpivot12Shape" -p "footFront_R0_inpivot" 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_inpivot12_0crvShape" -p "footFront_R0_inpivot"; - rename -uid "D9FE326D-4A3D-036A-317B-96B38795ACAA"; +createNode nurbsCurve -n "footFront_R0_inpivot6_0crvShape" -p "footFront_R0_inpivot"; + rename -uid "B72209C6-486A-74FA-1853-96A250F0478E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6070,8 +6112,8 @@ createNode nurbsCurve -n "footFront_R0_inpivot12_0crvShape" -p "footFront_R0_inp 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footFront_R0_inpivot12_1crvShape" -p "footFront_R0_inpivot"; - rename -uid "3343EF93-4F79-C665-8AE8-78A396334372"; +createNode nurbsCurve -n "footFront_R0_inpivot6_1crvShape" -p "footFront_R0_inpivot"; + rename -uid "171E3CD9-4490-23FB-7320-A6A91DF045D7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6089,19 +6131,19 @@ createNode nurbsCurve -n "footFront_R0_inpivot12_1crvShape" -p "footFront_R0_inp 0 0 -0.1875 ; createNode transform -n "footFront_R0_1" -p "footFront_R0_root"; - rename -uid "518D2CDD-4C4B-53F8-2B77-79A0B0BA57E5"; + rename -uid "95B0821B-462E-A628-2D50-9E8CCE90D7C7"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -7.3687973355373462 -0.60300743522684519 -16.239037496288915 ; + setAttr ".t" -type "double3" -7.3687973355373444 -0.60300743522684541 -16.239037496288905 ; setAttr ".r" -type "double3" 0 179.99999999999997 0 ; - setAttr ".s" -type "double3" 7.9431701648148065 7.9431701648148056 -7.9431701648148083 ; + setAttr ".s" -type "double3" 7.9431701648148065 7.9431701648148074 -7.9431701648148083 ; createNode nurbsCurve -n "footFront_R0_Shape1" -p "footFront_R0_1"; - rename -uid "D885791C-4E84-7812-B7BD-C29168A10B8A"; + rename -uid "0FE07C2B-4A5B-7595-14F4-A38E77D30A2A"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footFront_R0_Shape1Orig" -p "footFront_R0_1"; - rename -uid "3635DDBF-4F9A-4F65-EC56-9D931B359CAD"; + rename -uid "7634BE0F-4FBA-B891-21E3-03B437A3B16F"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6115,7 +6157,7 @@ createNode nurbsCurve -n "footFront_R0_Shape1Orig" -p "footFront_R0_1"; 0 0 0 ; createNode transform -n "frontLegUI_R0_root" -p "footFront_R0_root"; - rename -uid "BC6566C4-4768-2635-C7E7-549BEDBD3379"; + rename -uid "24E5FD72-4FE1-F591-A5DB-92B7217D0334"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -6127,7 +6169,7 @@ createNode transform -n "frontLegUI_R0_root" -p "footFront_R0_root"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; @@ -6139,12 +6181,14 @@ createNode transform -n "frontLegUI_R0_root" -p "footFront_R0_root"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 0.5 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 10.017876024668174 5.4248605945583073 2.5678955088137805 ; + setAttr ".t" -type "double3" 10.017876024668176 5.4248605945583135 2.5678955088138089 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6152,7 +6196,7 @@ createNode transform -n "frontLegUI_R0_root" -p "footFront_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 7.9431701648148039 7.9431701648148048 7.9431701648148065 ; + setAttr ".s" -type "double3" 7.9431701648148101 7.943170164814811 7.9431701648148154 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -6164,12 +6208,8 @@ createNode transform -n "frontLegUI_R0_root" -p "footFront_R0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 0.5; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "frontLegUI_R0_rootShape" -p "frontLegUI_R0_root"; - rename -uid "1B8419A7-4544-70B7-8FAD-37A21813A135"; + rename -uid "49DD17E8-40AE-9059-7BEA-23954B45944A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6181,8 +6221,8 @@ createNode nurbsCurve -n "frontLegUI_R0_rootShape" -p "frontLegUI_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "frontLegUI_R0_root10Shape" -p "frontLegUI_R0_root"; - rename -uid "43029193-4CB0-E75B-5D7A-5FB7C7FF1AE1"; +createNode nurbsCurve -n "frontLegUI_R0_root4Shape" -p "frontLegUI_R0_root"; + rename -uid "D3564921-4F43-4D4A-4EB9-9DB6AEA53973"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6194,8 +6234,8 @@ createNode nurbsCurve -n "frontLegUI_R0_root10Shape" -p "frontLegUI_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "frontLegUI_R0_root11Shape" -p "frontLegUI_R0_root"; - rename -uid "4449163A-4D77-512A-3410-DB82C6CEEC1B"; +createNode nurbsCurve -n "frontLegUI_R0_root5Shape" -p "frontLegUI_R0_root"; + rename -uid "32B1702F-4977-2BF3-1469-6DA430EFE380"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6207,8 +6247,8 @@ createNode nurbsCurve -n "frontLegUI_R0_root11Shape" -p "frontLegUI_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "frontLegUI_R0_root12Shape" -p "frontLegUI_R0_root"; - rename -uid "A189D3F6-409B-DB8D-444F-168FB5A3D06E"; +createNode nurbsCurve -n "frontLegUI_R0_root6Shape" -p "frontLegUI_R0_root"; + rename -uid "5252F7DA-487A-83A3-8DAE-808A7E70E733"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6235,36 +6275,35 @@ createNode nurbsCurve -n "frontLegUI_R0_root12Shape" -p "frontLegUI_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "frontLegUI_R0_sizeRef" -p "frontLegUI_R0_root"; - rename -uid "CC108105-4C2E-D174-474F-4CBFA2F3532F"; + rename -uid "DADE9129-4083-A594-3B09-3EBAADD2E898"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -4.4408920985006262e-016 3.3306690738754696e-016 1 ; + setAttr ".t" -type "double3" -4.4408920985006262e-016 1.1102230246251565e-016 1.0000000000000004 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 179.99999999999997 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 -1.0000000000000002 ; + setAttr ".s" -type "double3" 0.99999999999999944 0.99999999999999956 0.99999999999999911 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "legFront_R0_crv1" -p "legFront_R0_root"; - rename -uid "E9537FE1-458F-ABF1-B02B-F88E85429C84"; + rename -uid "42A978A4-4EEB-9598-1408-748B4539E735"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -2.3211356138011703 -5.8086248814742625 -5.5045062328919352 ; + setAttr ".t" -type "double3" -2.3211356138011698 -5.8086248814742634 -5.5045062328919379 ; setAttr ".r" -type "double3" 0 179.99999999999994 0 ; setAttr ".s" -type "double3" 2.5020602842634889 2.5020602842634871 -2.5020602842634885 ; createNode nurbsCurve -n "legFront_R0_crvShape1" -p "legFront_R0_crv1"; - rename -uid "04523F3F-441D-FB6D-6292-55B997920FA4"; + rename -uid "EE087502-4DBC-B4EB-6ED8-F9A5D657F2CA"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "legFront_R0_crvShape1Orig" -p "legFront_R0_crv1"; - rename -uid "35A45456-4CCB-2191-BA1D-AB81DE25CEEC"; + rename -uid "72C9CE30-4285-6A23-9753-F48DFB63063B"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6278,7 +6317,7 @@ createNode nurbsCurve -n "legFront_R0_crvShape1Orig" -p "legFront_R0_crv1"; 0 0 0 ; createNode transform -n "shoulder_R0_blade" -p "shoulder_R0_root"; - rename -uid "EA15F08A-4881-98A0-AA96-CFA1F309A7BD"; + rename -uid "3A2B04C4-4186-886D-DEAD-48AA75346B2E"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -6288,13 +6327,13 @@ createNode transform -n "shoulder_R0_blade" -p "shoulder_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999833 0.99999999999999911 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999878 0.999999999999999 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "shoulder_R0_bladeShape" -p "shoulder_R0_blade"; - rename -uid "CB14B792-4C76-00EE-C8C4-208012661A30"; + rename -uid "0C637EB6-4C6C-AADC-E8BE-9D926D7A9F46"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6308,8 +6347,8 @@ createNode nurbsCurve -n "shoulder_R0_bladeShape" -p "shoulder_R0_blade"; 0 0.42205831527236448 0 0 0 0 ; -createNode aimConstraint -n "shoulder_R0_blade_aimConstraint4" -p "shoulder_R0_blade"; - rename -uid "B5F265BD-4C2D-64FC-689C-709B82D5B908"; +createNode aimConstraint -n "shoulder_R0_blade_aimConstraint2" -p "shoulder_R0_blade"; + rename -uid "FCF42663-4280-0146-B8D8-9CB96EF040E3"; addAttr -dcb 0 -ci true -sn "w0" -ln "shoulder_R0_0_locW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -6324,10 +6363,10 @@ createNode aimConstraint -n "shoulder_R0_blade_aimConstraint4" -p "shoulder_R0_b setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".rsrr" -type "double3" 3.3599751382068015 -13.536129435773125 -14.081236533000443 ; + setAttr ".rsrr" -type "double3" 3.3599751382072194 -13.536129435773134 -14.081236533000302 ; setAttr -k on ".w0"; -createNode pointConstraint -n "shoulder_R0_blade_pointConstraint4" -p "shoulder_R0_blade"; - rename -uid "D4AB7003-455C-F9D7-FAD9-EC8AB8748B1C"; +createNode pointConstraint -n "shoulder_R0_blade_pointConstraint2" -p "shoulder_R0_blade"; + rename -uid "32F81504-420E-3149-31BF-EAAB5F0ABA6E"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "shoulder_R0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; @@ -6345,19 +6384,19 @@ createNode pointConstraint -n "shoulder_R0_blade_pointConstraint4" -p "shoulder_ setAttr ".rst" -type "double3" 0 -4.4408920985006262e-016 0 ; setAttr -k on ".w0"; createNode transform -n "shoulder_R0_crv" -p "shoulder_R0_root"; - rename -uid "73EB224E-44A3-881B-5566-2C8E5F61B741"; + rename -uid "2A548B73-47FB-3695-A4FF-548257281EF3"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -0.095164109147563639 -2.5303629060493167 -1.9933533667490371 ; + setAttr ".t" -type "double3" -0.095164109147563708 -2.5303629060493167 -1.9933533667490371 ; setAttr ".r" -type "double3" 0 179.99999999999997 0 ; setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999989 -1 ; createNode nurbsCurve -n "shoulder_R0_crvShape" -p "shoulder_R0_crv"; - rename -uid "B750A4E2-432D-CAFE-CCC4-86AFC4C54D0C"; + rename -uid "EC24E0D2-4AB3-458B-998C-7F8E59FD79C1"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "shoulder_R0_crvShapeOrig" -p "shoulder_R0_crv"; - rename -uid "E222585F-4243-AD73-702D-408A976A675A"; + rename -uid "9E4F5E85-4472-91BE-FDE2-E0B50BD8C5CD"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6368,7 +6407,7 @@ createNode nurbsCurve -n "shoulder_R0_crvShapeOrig" -p "shoulder_R0_crv"; 0 0 0 ; createNode transform -n "spine_C0_blade" -p "spine_C0_root"; - rename -uid "A4E43FB1-407E-E873-B546-2D8729932EAD"; + rename -uid "27D9D197-4948-9D90-9050-5D9C3EF8AC9A"; addAttr -ci true -k true -sn "bladeRollOffset" -ln "bladeRollOffset" -at "float"; setAttr -l on -k off -cb on ".v"; setAttr -k off -cb on ".tx"; @@ -6378,13 +6417,13 @@ createNode transform -n "spine_C0_blade" -p "spine_C0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000013 1.0000000000000013 1 ; + setAttr ".s" -type "double3" 1.0000000000000016 1.0000000000000016 1 ; setAttr -l on -k off -cb on ".sx"; setAttr -l on -k off -cb on ".sy"; setAttr -l on -k off -cb on ".sz"; setAttr -k on ".bladeRollOffset"; createNode nurbsCurve -n "spine_C0_bladeShape" -p "spine_C0_blade"; - rename -uid "5BFCD162-48BB-28F8-68D1-B58F69A5DD7D"; + rename -uid "5DCA5992-49B2-0D89-C3D5-9E92E3AE5D0B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6398,8 +6437,8 @@ createNode nurbsCurve -n "spine_C0_bladeShape" -p "spine_C0_blade"; 0 0.094773633293273707 0 0 0 0 ; -createNode aimConstraint -n "spine_C0_blade_aimConstraint7" -p "spine_C0_blade"; - rename -uid "D7D08250-40E3-086D-826D-CF854D435EDA"; +createNode aimConstraint -n "spine_C0_blade_aimConstraint8" -p "spine_C0_blade"; + rename -uid "C77946FE-4E4D-EA8A-2084-089296B03A66"; addAttr -dcb 0 -ci true -sn "w0" -ln "spine_C0_effW0" -dv 1 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -6414,11 +6453,11 @@ createNode aimConstraint -n "spine_C0_blade_aimConstraint7" -p "spine_C0_blade"; setAttr -k off ".sz"; setAttr ".erp" yes; setAttr ".wut" 2; - setAttr ".rsrr" -type "double3" 2.5444437451708122e-014 2.5444437451708125e-014 + setAttr ".rsrr" -type "double3" 2.5444437451708115e-014 2.5444437451708118e-014 89.999999999999986 ; setAttr -k on ".w0"; -createNode pointConstraint -n "spine_C0_blade_pointConstraint7" -p "spine_C0_blade"; - rename -uid "27525293-4D60-4FCE-3BA7-B3962CFB34E8"; +createNode pointConstraint -n "spine_C0_blade_pointConstraint8" -p "spine_C0_blade"; + rename -uid "369EB39A-4966-13D3-137E-A0B779AD5EFD"; addAttr -dcb 0 -ci true -k true -sn "w0" -ln "spine_C0_rootW0" -dv 1 -min 0 -at "double"; setAttr -k on ".nds"; setAttr -k off ".v"; @@ -6435,19 +6474,19 @@ createNode pointConstraint -n "spine_C0_blade_pointConstraint7" -p "spine_C0_bla setAttr ".rst" -type "double3" 0 -4.4408920985006262e-016 3.944304526105059e-031 ; setAttr -k on ".w0"; createNode transform -n "spine_C0_crv" -p "spine_C0_root"; - rename -uid "838C192A-4DC9-D1C1-D365-E0B09E2349C2"; + rename -uid "62811439-4938-20B0-66AA-2583F2A81B6F"; setAttr ".ovdt" 1; setAttr ".ove" yes; setAttr ".t" -type "double3" 5.1074785620942285 2.6024712577026077 -3.4239055234572094e-015 ; setAttr ".r" -type "double3" -89.999999999999986 89.999999999999957 0 ; setAttr ".s" -type "double3" 2.1102915763618237 2.1102915763618237 2.1102915763618237 ; createNode nurbsCurve -n "spine_C0_crvShape" -p "spine_C0_crv"; - rename -uid "09ADBA57-4BCF-0159-15F2-2DAAD47D7467"; + rename -uid "EF896225-4E8B-75D8-176A-D094857742AC"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "spine_C0_crvShapeOrig" -p "spine_C0_crv"; - rename -uid "1A27F58B-4862-00BA-17E0-9DA6404A21ED"; + rename -uid "8F22A56A-4145-AB51-94FA-D78A242C2D0F"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -6458,7 +6497,7 @@ createNode nurbsCurve -n "spine_C0_crvShapeOrig" -p "spine_C0_crv"; 0 0 0 ; createNode transform -n "legBack_L0_root" -p "spine_C0_root"; - rename -uid "854BDE46-4693-1151-296D-35B7DF3DB8D2"; + rename -uid "DD2E660A-4823-BABF-4B24-E3A9E51D27B0"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -6467,21 +6506,21 @@ createNode transform -n "legBack_L0_root" -p "spine_C0_root"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -dv 1 -min 0 -max 1 -at "double"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; addAttr -ci true -k true -sn "ikSolver" -ln "ikSolver" -min 0 -max 1 -en "IK Spring:IK Rotation Plane" -at "enum"; - addAttr -ci true -sn "ikOri" -ln "ikOri" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div2" -ln "div2" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "ikOri" -ln "ikOri" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div2" -ln "div2" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; setAttr ".t" -type "double3" 0.21090213141047975 -0.097927178047045871 -2.6808811877076879 ; setAttr -k off -cb on ".tx"; @@ -6502,20 +6541,12 @@ createNode transform -n "legBack_L0_root" -p "spine_C0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "backLegUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".full3BonesIK" 1; - setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".maxstretch" 1.5; - setAttr ".ikOri" yes; - setAttr ".div0" 2; - setAttr ".div1" 2; - setAttr ".div2" 2; + setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "legBack_L0_rootShape" -p "legBack_L0_root"; - rename -uid "EDFBE52A-42B9-8BC2-6D46-9DB12B3F89D9"; + rename -uid "C81F333B-41D1-DB64-B1C7-6DAE44EE110A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6527,8 +6558,8 @@ createNode nurbsCurve -n "legBack_L0_rootShape" -p "legBack_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_L0_root19Shape" -p "legBack_L0_root"; - rename -uid "60C1920F-41B4-2AD9-F650-0BAE7DB7BE3B"; +createNode nurbsCurve -n "legBack_L0_root22Shape" -p "legBack_L0_root"; + rename -uid "2DE918A2-45D5-F9C9-44BD-388D709D42FD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6540,8 +6571,8 @@ createNode nurbsCurve -n "legBack_L0_root19Shape" -p "legBack_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_L0_root20Shape" -p "legBack_L0_root"; - rename -uid "A9DA7C41-4673-9114-B7C9-2BB1C2CF2E06"; +createNode nurbsCurve -n "legBack_L0_root23Shape" -p "legBack_L0_root"; + rename -uid "ED3D07EB-4709-F76C-2EB0-3EB88D87D4F5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6553,8 +6584,8 @@ createNode nurbsCurve -n "legBack_L0_root20Shape" -p "legBack_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_L0_root21Shape" -p "legBack_L0_root"; - rename -uid "B5B90D0B-49DB-60FA-FFAC-7F8807103B17"; +createNode nurbsCurve -n "legBack_L0_root24Shape" -p "legBack_L0_root"; + rename -uid "43FA7A96-48D1-64CD-A7F7-9FAC10215125"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6581,10 +6612,10 @@ createNode nurbsCurve -n "legBack_L0_root21Shape" -p "legBack_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "legBack_L0_knee" -p "legBack_L0_root"; - rename -uid "7D2F618C-4AAD-16A1-47D0-4AB02094DB32"; + rename -uid "8F12D725-417A-8B2C-D084-85B06371BE86"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 5.1070259132757201e-015 -1.1559508743798506 0.33714517700502245 ; + setAttr ".t" -type "double3" 5.1070259132757201e-015 -1.1559508743798506 0.33714517700502222 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6597,7 +6628,7 @@ createNode transform -n "legBack_L0_knee" -p "legBack_L0_root"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_L0_kneeShape" -p "legBack_L0_knee"; - rename -uid "969129EF-4F2A-0429-7D98-1A9480AF7DC7"; + rename -uid "84E3EEF7-4012-66B8-D262-32BB4AC3D6B0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6609,8 +6640,8 @@ createNode nurbsCurve -n "legBack_L0_kneeShape" -p "legBack_L0_knee"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_L0_knee19Shape" -p "legBack_L0_knee"; - rename -uid "B86CD4C8-4948-D917-FD8B-05B95E4BCE1F"; +createNode nurbsCurve -n "legBack_L0_knee22Shape" -p "legBack_L0_knee"; + rename -uid "99313235-4CB5-6732-B39E-C2B535CA16DC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6622,8 +6653,8 @@ createNode nurbsCurve -n "legBack_L0_knee19Shape" -p "legBack_L0_knee"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_L0_knee20Shape" -p "legBack_L0_knee"; - rename -uid "1B266969-428C-62DF-CF0A-9C865261A807"; +createNode nurbsCurve -n "legBack_L0_knee23Shape" -p "legBack_L0_knee"; + rename -uid "42C538DA-4E0E-CC8C-1BD1-4C93CC1A43C5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6635,8 +6666,8 @@ createNode nurbsCurve -n "legBack_L0_knee20Shape" -p "legBack_L0_knee"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_L0_knee21Shape" -p "legBack_L0_knee"; - rename -uid "CB9A4CA0-480B-9A8B-0905-1C988D560B8E"; +createNode nurbsCurve -n "legBack_L0_knee24Shape" -p "legBack_L0_knee"; + rename -uid "66ABD77D-4176-BE21-B210-798DD3156B06"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6653,8 +6684,8 @@ createNode nurbsCurve -n "legBack_L0_knee21Shape" -p "legBack_L0_knee"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_knee21_0crvShape" -p "legBack_L0_knee"; - rename -uid "2B3876DD-42DA-399D-CDE6-FF8BCB1065B8"; +createNode nurbsCurve -n "legBack_L0_knee24_0crvShape" -p "legBack_L0_knee"; + rename -uid "5E38A0F2-45FD-69BB-3D33-22B99D7E264F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6671,8 +6702,8 @@ createNode nurbsCurve -n "legBack_L0_knee21_0crvShape" -p "legBack_L0_knee"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_knee21_1crvShape" -p "legBack_L0_knee"; - rename -uid "757147EF-45E4-1441-A26D-9C871E65E44F"; +createNode nurbsCurve -n "legBack_L0_knee24_1crvShape" -p "legBack_L0_knee"; + rename -uid "90CAC7AE-426A-2EA5-D559-449BF7F7A281"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6690,10 +6721,10 @@ createNode nurbsCurve -n "legBack_L0_knee21_1crvShape" -p "legBack_L0_knee"; 0 0 -0.1875 ; createNode transform -n "legBack_L0_ankle" -p "legBack_L0_knee"; - rename -uid "9BA356FA-4E32-E318-E602-0C89C5464BDB"; + rename -uid "D7CDABAC-49F7-3341-E56F-3EB8ADA519DC"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 3.1086244689504383e-015 -1.4950431842245466 -0.57333193410462346 ; + setAttr ".t" -type "double3" 3.1086244689504383e-015 -1.4950431842245464 -0.57333193410462391 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6701,12 +6732,12 @@ createNode transform -n "legBack_L0_ankle" -p "legBack_L0_knee"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000002 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000007 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_L0_ankleShape" -p "legBack_L0_ankle"; - rename -uid "B6B969AA-4F82-CEA7-F261-06B82D5660BE"; + rename -uid "9997E525-47B4-7377-5EA6-1782F766C6A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6718,8 +6749,8 @@ createNode nurbsCurve -n "legBack_L0_ankleShape" -p "legBack_L0_ankle"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_L0_ankle19Shape" -p "legBack_L0_ankle"; - rename -uid "DA9583C7-404C-F38B-7579-DC8461BFFEDE"; +createNode nurbsCurve -n "legBack_L0_ankle22Shape" -p "legBack_L0_ankle"; + rename -uid "51734489-48A9-A80A-A452-CDAFEC5A4280"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6731,8 +6762,8 @@ createNode nurbsCurve -n "legBack_L0_ankle19Shape" -p "legBack_L0_ankle"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_L0_ankle20Shape" -p "legBack_L0_ankle"; - rename -uid "223B152F-4A51-C012-D632-9B82C853AD67"; +createNode nurbsCurve -n "legBack_L0_ankle23Shape" -p "legBack_L0_ankle"; + rename -uid "43FEC98F-4EA8-386D-A44E-A6A73DC1377B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6744,8 +6775,8 @@ createNode nurbsCurve -n "legBack_L0_ankle20Shape" -p "legBack_L0_ankle"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_L0_ankle21Shape" -p "legBack_L0_ankle"; - rename -uid "70A8D3F8-469F-0BEA-4E26-8F8078C112F7"; +createNode nurbsCurve -n "legBack_L0_ankle24Shape" -p "legBack_L0_ankle"; + rename -uid "0D5C4EA8-4968-05FF-EA5F-DDB57765AF63"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6762,8 +6793,8 @@ createNode nurbsCurve -n "legBack_L0_ankle21Shape" -p "legBack_L0_ankle"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_ankle21_0crvShape" -p "legBack_L0_ankle"; - rename -uid "9E131D60-46CD-938C-D251-619C7FE2959F"; +createNode nurbsCurve -n "legBack_L0_ankle24_0crvShape" -p "legBack_L0_ankle"; + rename -uid "348FB0F8-4CF5-CFF0-C1F4-828CD1F68CD0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6780,8 +6811,8 @@ createNode nurbsCurve -n "legBack_L0_ankle21_0crvShape" -p "legBack_L0_ankle"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_ankle21_1crvShape" -p "legBack_L0_ankle"; - rename -uid "DB30C279-469E-FB3F-A409-B89AB29EC79A"; +createNode nurbsCurve -n "legBack_L0_ankle24_1crvShape" -p "legBack_L0_ankle"; + rename -uid "313967FB-499A-A5FE-6F1D-42A370979EF8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6799,10 +6830,10 @@ createNode nurbsCurve -n "legBack_L0_ankle21_1crvShape" -p "legBack_L0_ankle"; 0 0 -0.1875 ; createNode transform -n "legBack_L0_foot" -p "legBack_L0_ankle"; - rename -uid "A6FA1C45-4178-C2E7-2FD3-16892A317B95"; + rename -uid "521D11EE-4FDB-2007-F635-DC963A692F47"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.5543122344752192e-015 -0.5480558075197921 0.15050522089872964 ; + setAttr ".t" -type "double3" 1.5543122344752192e-015 -0.54805580751979233 0.15050522089872986 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6810,12 +6841,12 @@ createNode transform -n "legBack_L0_foot" -p "legBack_L0_ankle"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999956 1.0000000000000004 1.0000000000000004 ; + setAttr ".s" -type "double3" 0.99999999999999944 1.0000000000000004 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_L0_footShape" -p "legBack_L0_foot"; - rename -uid "F38B4CA4-43B6-E2DA-8C52-5CB51EF90CF2"; + rename -uid "001A12A6-44A3-45AB-0458-F796BE2F2CAC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6827,8 +6858,8 @@ createNode nurbsCurve -n "legBack_L0_footShape" -p "legBack_L0_foot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_L0_foot19Shape" -p "legBack_L0_foot"; - rename -uid "1886A8BC-4BF1-1476-7FBA-B99044CDE3AF"; +createNode nurbsCurve -n "legBack_L0_foot22Shape" -p "legBack_L0_foot"; + rename -uid "BFB2E7D7-447B-3A08-F16B-F6A35488CEA5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6840,8 +6871,8 @@ createNode nurbsCurve -n "legBack_L0_foot19Shape" -p "legBack_L0_foot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_L0_foot20Shape" -p "legBack_L0_foot"; - rename -uid "CAD69A2D-4E4F-DB4B-7020-E5B804C9A5D6"; +createNode nurbsCurve -n "legBack_L0_foot23Shape" -p "legBack_L0_foot"; + rename -uid "56612704-49B2-967D-77AF-0295294D85AF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6853,8 +6884,8 @@ createNode nurbsCurve -n "legBack_L0_foot20Shape" -p "legBack_L0_foot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_L0_foot21Shape" -p "legBack_L0_foot"; - rename -uid "EC14D4F7-4A07-942B-2F10-3999CFA07ADB"; +createNode nurbsCurve -n "legBack_L0_foot24Shape" -p "legBack_L0_foot"; + rename -uid "134626B9-4982-4B1A-33BA-8A9878FC196C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6871,8 +6902,8 @@ createNode nurbsCurve -n "legBack_L0_foot21Shape" -p "legBack_L0_foot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_foot21_0crvShape" -p "legBack_L0_foot"; - rename -uid "30D586DC-4109-522D-A8F0-B6B423E6831C"; +createNode nurbsCurve -n "legBack_L0_foot24_0crvShape" -p "legBack_L0_foot"; + rename -uid "131DE8F0-416A-7CC0-6BBC-30BC7970605E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6889,8 +6920,8 @@ createNode nurbsCurve -n "legBack_L0_foot21_0crvShape" -p "legBack_L0_foot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_foot21_1crvShape" -p "legBack_L0_foot"; - rename -uid "6A264FFA-4DE6-34CF-B4B2-B693F50C4E0E"; +createNode nurbsCurve -n "legBack_L0_foot24_1crvShape" -p "legBack_L0_foot"; + rename -uid "38EF279C-4A0C-901E-91BE-2BB12B68590D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6908,10 +6939,10 @@ createNode nurbsCurve -n "legBack_L0_foot21_1crvShape" -p "legBack_L0_foot"; 0 0 -0.1875 ; createNode transform -n "legBack_L0_eff" -p "legBack_L0_foot"; - rename -uid "3B367956-47FD-1895-1A66-31B21897B0AD"; + rename -uid "57B35BA6-481F-834E-86EE-71A3B79FD9A7"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.6645352591003757e-015 7.4940054162198066e-016 0.28135643819707434 ; + setAttr ".t" -type "double3" 2.6645352591003757e-015 8.4654505627668186e-016 0.2813564381970739 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -6919,12 +6950,12 @@ createNode transform -n "legBack_L0_eff" -p "legBack_L0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999911 0.99999999999999878 ; + setAttr ".s" -type "double3" 0.99999999999999989 0.99999999999999878 0.99999999999999845 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_L0_effShape" -p "legBack_L0_eff"; - rename -uid "31432837-47DE-D006-83E9-9EBFB2D3CDCA"; + rename -uid "0802E2EB-4E53-1358-FFE7-1B941DA57CD0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6936,8 +6967,8 @@ createNode nurbsCurve -n "legBack_L0_effShape" -p "legBack_L0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_L0_eff19Shape" -p "legBack_L0_eff"; - rename -uid "26F3746E-4311-959B-4048-81A370C60425"; +createNode nurbsCurve -n "legBack_L0_eff22Shape" -p "legBack_L0_eff"; + rename -uid "2ADBCFBD-4789-C2FE-E0E0-05AC76675D6B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6949,8 +6980,8 @@ createNode nurbsCurve -n "legBack_L0_eff19Shape" -p "legBack_L0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_L0_eff20Shape" -p "legBack_L0_eff"; - rename -uid "0640291F-478D-FFF6-4B73-7C9B75DDA6AC"; +createNode nurbsCurve -n "legBack_L0_eff23Shape" -p "legBack_L0_eff"; + rename -uid "882AD08E-458A-FB13-5126-038680AD100F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6962,8 +6993,8 @@ createNode nurbsCurve -n "legBack_L0_eff20Shape" -p "legBack_L0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_L0_eff21Shape" -p "legBack_L0_eff"; - rename -uid "2A446466-4956-F88C-3EA6-57BB25C5C70E"; +createNode nurbsCurve -n "legBack_L0_eff24Shape" -p "legBack_L0_eff"; + rename -uid "99A5AE21-4DBA-B59F-FA77-3392B6A88043"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6980,8 +7011,8 @@ createNode nurbsCurve -n "legBack_L0_eff21Shape" -p "legBack_L0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_eff21_0crvShape" -p "legBack_L0_eff"; - rename -uid "6D5A8213-42AD-95E7-5D02-758F048CF300"; +createNode nurbsCurve -n "legBack_L0_eff24_0crvShape" -p "legBack_L0_eff"; + rename -uid "4A878836-408C-9C09-A7A6-9494163D11AA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -6998,8 +7029,8 @@ createNode nurbsCurve -n "legBack_L0_eff21_0crvShape" -p "legBack_L0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_L0_eff21_1crvShape" -p "legBack_L0_eff"; - rename -uid "65F06023-4C0E-C90D-7B36-808D69BB99FD"; +createNode nurbsCurve -n "legBack_L0_eff24_1crvShape" -p "legBack_L0_eff"; + rename -uid "B8BF2770-477B-DED0-2294-3A95E48EDCB1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7017,7 +7048,7 @@ createNode nurbsCurve -n "legBack_L0_eff21_1crvShape" -p "legBack_L0_eff"; 0 0 -0.1875 ; createNode transform -n "footBack_L0_root" -p "legBack_L0_foot"; - rename -uid "57B2D17E-41DB-71B6-EEC0-EAB0520D50DF"; + rename -uid "F4EBA4A9-4985-5416-EDE5-238E202ED7F2"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -7026,11 +7057,11 @@ createNode transform -n "footBack_L0_root" -p "legBack_L0_foot"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.5543122344752192e-015 7.9103390504542404e-016 -6.6613381477509392e-016 ; + setAttr ".t" -type "double3" 1.5543122344752192e-015 9.0205620750793969e-016 -1.1102230246251565e-015 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7038,7 +7069,7 @@ createNode transform -n "footBack_L0_root" -p "legBack_L0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.16356254765398098 0.16356254765398087 0.16356254765398079 ; + setAttr ".s" -type "double3" 0.16356254765398098 0.16356254765398082 0.16356254765398076 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -7048,10 +7079,8 @@ createNode transform -n "footBack_L0_root" -p "legBack_L0_foot"; setAttr ".connector" -type "string" "leg_3jnt_01"; setAttr ".ui_host" -type "string" "backLegUI_L0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".useRollCtl" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "footBack_L0_rootShape" -p "footBack_L0_root"; - rename -uid "4DB617DD-4C72-3BBA-9A17-329BAD1C5741"; + rename -uid "0D78688E-4A97-2416-69B3-C19029C8F83F"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7063,8 +7092,8 @@ createNode nurbsCurve -n "footBack_L0_rootShape" -p "footBack_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_L0_root19Shape" -p "footBack_L0_root"; - rename -uid "96FA23F1-46CA-A985-C5FF-D58AE8F33C84"; +createNode nurbsCurve -n "footBack_L0_root22Shape" -p "footBack_L0_root"; + rename -uid "1B2A9923-4789-C1CE-B693-C7A213F13338"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7076,8 +7105,8 @@ createNode nurbsCurve -n "footBack_L0_root19Shape" -p "footBack_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_L0_root20Shape" -p "footBack_L0_root"; - rename -uid "7D9DD3A3-40FB-CCEA-7972-F1AA054A73E0"; +createNode nurbsCurve -n "footBack_L0_root23Shape" -p "footBack_L0_root"; + rename -uid "37C545C5-4941-690C-A14C-C8844EC3F1AF"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7089,8 +7118,8 @@ createNode nurbsCurve -n "footBack_L0_root20Shape" -p "footBack_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_L0_root21Shape" -p "footBack_L0_root"; - rename -uid "A0E680D8-4692-EF9C-750D-29B58C262798"; +createNode nurbsCurve -n "footBack_L0_root24Shape" -p "footBack_L0_root"; + rename -uid "A8DE1004-4B11-610C-742A-2AA65D5F55A2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7117,10 +7146,10 @@ createNode nurbsCurve -n "footBack_L0_root21Shape" -p "footBack_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "footBack_L0_0_loc" -p "footBack_L0_root"; - rename -uid "F89BE2B3-4F9C-F833-64FB-2EA171C96CEB"; + rename -uid "7BA67857-49CC-871D-7930-649EDEFDD360"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.7763568394002505e-014 2.2204460492503131e-016 0.54565565303279762 ; + setAttr ".t" -type "double3" -1.7763568394002505e-014 2.2204460492503131e-016 0.54565565303280117 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7128,12 +7157,12 @@ createNode transform -n "footBack_L0_0_loc" -p "footBack_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000004 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_L0_0_locShape" -p "footBack_L0_0_loc"; - rename -uid "2CD8B7DA-4BE7-0613-6E23-16B9DE864C77"; + rename -uid "0EE7A04E-4DA6-C6AB-3B93-4CB233C38E39"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7145,8 +7174,8 @@ createNode nurbsCurve -n "footBack_L0_0_locShape" -p "footBack_L0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_L0_0_loc19Shape" -p "footBack_L0_0_loc"; - rename -uid "AA33CA2C-4E75-7073-1F2D-A0BFF2C19F36"; +createNode nurbsCurve -n "footBack_L0_0_loc22Shape" -p "footBack_L0_0_loc"; + rename -uid "9C2298A0-4F7B-5607-CA9B-14B4D30E61CA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7158,8 +7187,8 @@ createNode nurbsCurve -n "footBack_L0_0_loc19Shape" -p "footBack_L0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_L0_0_loc20Shape" -p "footBack_L0_0_loc"; - rename -uid "06F0B543-4A94-D78B-F0CE-6EBA08385CD1"; +createNode nurbsCurve -n "footBack_L0_0_loc23Shape" -p "footBack_L0_0_loc"; + rename -uid "B157E95B-4979-9388-ED00-DCA9FDD2C9AE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7171,8 +7200,8 @@ createNode nurbsCurve -n "footBack_L0_0_loc20Shape" -p "footBack_L0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_L0_0_loc21Shape" -p "footBack_L0_0_loc"; - rename -uid "D44E59FB-470F-6986-6AF1-1DAC3A90CA01"; +createNode nurbsCurve -n "footBack_L0_0_loc24Shape" -p "footBack_L0_0_loc"; + rename -uid "DFE16248-4529-F5E0-B7F0-61AFEE6A5416"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7189,8 +7218,8 @@ createNode nurbsCurve -n "footBack_L0_0_loc21Shape" -p "footBack_L0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_0_loc21_0crvShape" -p "footBack_L0_0_loc"; - rename -uid "118AE9CC-42E6-5956-1E8E-48B03F0F07D9"; +createNode nurbsCurve -n "footBack_L0_0_loc24_0crvShape" -p "footBack_L0_0_loc"; + rename -uid "5F9F76A8-43D4-0B12-CB2C-309AA74DCAE6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7207,8 +7236,8 @@ createNode nurbsCurve -n "footBack_L0_0_loc21_0crvShape" -p "footBack_L0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_0_loc21_1crvShape" -p "footBack_L0_0_loc"; - rename -uid "A12BF87E-45C9-6B20-D00B-3D9DA743BD0F"; +createNode nurbsCurve -n "footBack_L0_0_loc24_1crvShape" -p "footBack_L0_0_loc"; + rename -uid "85F03C6C-4173-15ED-0F98-F285081FD48B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7226,10 +7255,10 @@ createNode nurbsCurve -n "footBack_L0_0_loc21_1crvShape" -p "footBack_L0_0_loc"; 0 0 -0.1875 ; createNode transform -n "footBack_L0_1_loc" -p "footBack_L0_0_loc"; - rename -uid "D5F26F2F-4ADF-757A-C864-E088AE5A3680"; + rename -uid "C4552480-462B-359A-85E4-5F8EC30B4A8F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 5.3290705182007514e-015 -0.34547277013915562 0.77046072389792997 ; + setAttr ".t" -type "double3" 1.7763568394002505e-015 -0.34547277013915567 0.77046072389793352 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7237,12 +7266,12 @@ createNode transform -n "footBack_L0_1_loc" -p "footBack_L0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999978 1.0000000000000004 ; + setAttr ".s" -type "double3" 1.0000000000000007 0.99999999999999933 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_L0_1_locShape" -p "footBack_L0_1_loc"; - rename -uid "961CC71C-4A37-C6E0-C668-CCAF28D14386"; + rename -uid "68062AAA-4951-B1BC-B182-72A11D9314A4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7254,8 +7283,8 @@ createNode nurbsCurve -n "footBack_L0_1_locShape" -p "footBack_L0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_L0_1_loc19Shape" -p "footBack_L0_1_loc"; - rename -uid "01461B0A-4934-5C3D-92AC-19AE5A7E4E55"; +createNode nurbsCurve -n "footBack_L0_1_loc22Shape" -p "footBack_L0_1_loc"; + rename -uid "28D5F932-47E2-1967-92EC-CFAF452F0F5D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7267,8 +7296,8 @@ createNode nurbsCurve -n "footBack_L0_1_loc19Shape" -p "footBack_L0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_L0_1_loc20Shape" -p "footBack_L0_1_loc"; - rename -uid "863C51CA-4BE1-691D-FF29-25A27FE4E21B"; +createNode nurbsCurve -n "footBack_L0_1_loc23Shape" -p "footBack_L0_1_loc"; + rename -uid "8CE0D046-44AD-DB93-3186-FD83EF1AA1AB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7280,8 +7309,8 @@ createNode nurbsCurve -n "footBack_L0_1_loc20Shape" -p "footBack_L0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_L0_1_loc21Shape" -p "footBack_L0_1_loc"; - rename -uid "D0EE717C-4E73-96B1-87F6-418CDFC312E1"; +createNode nurbsCurve -n "footBack_L0_1_loc24Shape" -p "footBack_L0_1_loc"; + rename -uid "5EA757F0-495B-00D9-A043-F4B5CFC52607"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7298,8 +7327,8 @@ createNode nurbsCurve -n "footBack_L0_1_loc21Shape" -p "footBack_L0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_1_loc21_0crvShape" -p "footBack_L0_1_loc"; - rename -uid "4ACC4D1B-470F-BBA1-1C98-3683D133D0E2"; +createNode nurbsCurve -n "footBack_L0_1_loc24_0crvShape" -p "footBack_L0_1_loc"; + rename -uid "DA78EACF-4F6B-A5BF-AAC5-E39B4C4A1A67"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7316,8 +7345,8 @@ createNode nurbsCurve -n "footBack_L0_1_loc21_0crvShape" -p "footBack_L0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_1_loc21_1crvShape" -p "footBack_L0_1_loc"; - rename -uid "C2B963C3-4089-55B7-545F-64B89B0A2979"; +createNode nurbsCurve -n "footBack_L0_1_loc24_1crvShape" -p "footBack_L0_1_loc"; + rename -uid "A9528742-4308-2BCA-45A9-DA872DB20715"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7335,18 +7364,18 @@ createNode nurbsCurve -n "footBack_L0_1_loc21_1crvShape" -p "footBack_L0_1_loc"; 0 0 -0.1875 ; createNode transform -n "footBack_L0_crv" -p "footBack_L0_root"; - rename -uid "63ABB344-4ED8-6DA5-0837-E7ABB598C0AF"; + rename -uid "550841A1-4EE3-98F2-1D8D-00A526AB2298"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -10.980332218718949 -0.49678747209358587 11.584116504196627 ; - setAttr ".s" -type "double3" 8.6433157474725757 8.6433157474725757 8.6433157474725792 ; + setAttr ".t" -type "double3" -10.980332218718948 -0.49678747209358604 11.584116504196629 ; + setAttr ".s" -type "double3" 8.6433157474725757 8.6433157474725757 8.6433157474725775 ; createNode nurbsCurve -n "footBack_L0_crvShape" -p "footBack_L0_crv"; - rename -uid "1727B23F-48B4-2D53-0BA4-0A8A4D716F82"; + rename -uid "9C866AB6-4B02-9984-D6D5-B2A82478F7DF"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footBack_L0_crvShapeOrig" -p "footBack_L0_crv"; - rename -uid "75FE958F-40EE-10CC-724A-BAA2629E4ACD"; + rename -uid "747A0734-4409-94F3-374A-B585A7B327BC"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -7358,10 +7387,10 @@ createNode nurbsCurve -n "footBack_L0_crvShapeOrig" -p "footBack_L0_crv"; 0 0 0 ; createNode transform -n "footBack_L0_heel" -p "footBack_L0_root"; - rename -uid "6A7D6F66-42A9-00EC-FF70-5282A7E9331A"; + rename -uid "07C4781C-4AE4-F396-6438-558999EA583A"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.9539925233402755e-014 -0.34547277013915645 -0.37260003933978325 ; + setAttr ".t" -type "double3" -1.9539925233402755e-014 -0.34547277013915656 -0.3726000393397797 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7369,12 +7398,12 @@ createNode transform -n "footBack_L0_heel" -p "footBack_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000004 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_L0_heelShape" -p "footBack_L0_heel"; - rename -uid "D497058E-44A5-C17C-1C96-988A72F4EE99"; + rename -uid "F8ABB6B3-48A4-F66C-57AD-2493C2EF9373"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7386,8 +7415,8 @@ createNode nurbsCurve -n "footBack_L0_heelShape" -p "footBack_L0_heel"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_L0_heel19Shape" -p "footBack_L0_heel"; - rename -uid "1A39734D-452B-9055-1CAE-149990C6C9AB"; +createNode nurbsCurve -n "footBack_L0_heel22Shape" -p "footBack_L0_heel"; + rename -uid "91E506B2-42AD-42BF-00F3-369DD0E17D36"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7399,8 +7428,8 @@ createNode nurbsCurve -n "footBack_L0_heel19Shape" -p "footBack_L0_heel"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_L0_heel20Shape" -p "footBack_L0_heel"; - rename -uid "78F46460-4EED-372A-6F84-38A83AA4E608"; +createNode nurbsCurve -n "footBack_L0_heel23Shape" -p "footBack_L0_heel"; + rename -uid "3470E01B-4C66-70AA-7AE5-51ADB187EA83"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7412,8 +7441,8 @@ createNode nurbsCurve -n "footBack_L0_heel20Shape" -p "footBack_L0_heel"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_L0_heel21Shape" -p "footBack_L0_heel"; - rename -uid "03E11FD8-4749-05A0-7445-8BBFAE59AC16"; +createNode nurbsCurve -n "footBack_L0_heel24Shape" -p "footBack_L0_heel"; + rename -uid "9C524D82-4ED3-30A8-8EE2-119AFAAEC384"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7430,8 +7459,8 @@ createNode nurbsCurve -n "footBack_L0_heel21Shape" -p "footBack_L0_heel"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_heel21_0crvShape" -p "footBack_L0_heel"; - rename -uid "5EFAE98F-4374-D5BA-07EF-4290B7D4408D"; +createNode nurbsCurve -n "footBack_L0_heel24_0crvShape" -p "footBack_L0_heel"; + rename -uid "0A1155F6-4EDA-2612-9B1F-12AE2B10494E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7448,8 +7477,8 @@ createNode nurbsCurve -n "footBack_L0_heel21_0crvShape" -p "footBack_L0_heel"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_heel21_1crvShape" -p "footBack_L0_heel"; - rename -uid "0F4E1E72-46E7-867A-2939-9696992BA621"; +createNode nurbsCurve -n "footBack_L0_heel24_1crvShape" -p "footBack_L0_heel"; + rename -uid "63A2CE5D-44A4-B315-B1F5-0D92D21458B3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7467,10 +7496,10 @@ createNode nurbsCurve -n "footBack_L0_heel21_1crvShape" -p "footBack_L0_heel"; 0 0 -0.1875 ; createNode transform -n "footBack_L0_outpivot" -p "footBack_L0_root"; - rename -uid "4939D217-41F2-0863-B3CA-AC9A36047787"; + rename -uid "1E845418-4932-9E51-A651-68AC31876889"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.0422206583139726 -0.34547277013915523 0.11497296198779061 ; + setAttr ".t" -type "double3" 1.0422206583139726 -0.34547277013915534 0.11497296198779416 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7478,12 +7507,12 @@ createNode transform -n "footBack_L0_outpivot" -p "footBack_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000004 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_L0_outpivotShape" -p "footBack_L0_outpivot"; - rename -uid "6491462A-4FD3-98C0-59DF-46B7B56BD9BE"; + rename -uid "821CF5B0-4C22-A2DF-92A3-57AF7EF578A0"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7495,8 +7524,8 @@ createNode nurbsCurve -n "footBack_L0_outpivotShape" -p "footBack_L0_outpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_L0_outpivot19Shape" -p "footBack_L0_outpivot"; - rename -uid "ECE926A3-4369-053C-F2BF-54BD16934D05"; +createNode nurbsCurve -n "footBack_L0_outpivot22Shape" -p "footBack_L0_outpivot"; + rename -uid "032B1972-4755-DE9D-3D1D-C5A0280CCF32"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7508,8 +7537,8 @@ createNode nurbsCurve -n "footBack_L0_outpivot19Shape" -p "footBack_L0_outpivot" 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_L0_outpivot20Shape" -p "footBack_L0_outpivot"; - rename -uid "1AD9ABF2-4B86-BA3A-E174-71A1E357AB75"; +createNode nurbsCurve -n "footBack_L0_outpivot23Shape" -p "footBack_L0_outpivot"; + rename -uid "74236917-4AD9-072B-03A1-7EAF03ABDC22"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7521,8 +7550,8 @@ createNode nurbsCurve -n "footBack_L0_outpivot20Shape" -p "footBack_L0_outpivot" 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_L0_outpivot21Shape" -p "footBack_L0_outpivot"; - rename -uid "B3452A3A-4E07-11A4-2504-418B95BC4D23"; +createNode nurbsCurve -n "footBack_L0_outpivot24Shape" -p "footBack_L0_outpivot"; + rename -uid "F075F2EF-495B-490D-E4EB-33A237EEC662"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7539,8 +7568,8 @@ createNode nurbsCurve -n "footBack_L0_outpivot21Shape" -p "footBack_L0_outpivot" 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_outpivot21_0crvShape" -p "footBack_L0_outpivot"; - rename -uid "233BCAB1-4365-8EC1-53C8-E7B2DC96ECE9"; +createNode nurbsCurve -n "footBack_L0_outpivot24_0crvShape" -p "footBack_L0_outpivot"; + rename -uid "0A50A87C-4CD3-A78A-8F1E-7283E0C1805E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7557,8 +7586,8 @@ createNode nurbsCurve -n "footBack_L0_outpivot21_0crvShape" -p "footBack_L0_outp 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_outpivot21_1crvShape" -p "footBack_L0_outpivot"; - rename -uid "FB0F32A2-4DCB-2670-158B-2FB1F443102F"; +createNode nurbsCurve -n "footBack_L0_outpivot24_1crvShape" -p "footBack_L0_outpivot"; + rename -uid "1EFF2A35-4951-92D7-94E8-A0BECD0EA09D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7576,10 +7605,10 @@ createNode nurbsCurve -n "footBack_L0_outpivot21_1crvShape" -p "footBack_L0_outp 0 0 -0.1875 ; createNode transform -n "footBack_L0_inpivot" -p "footBack_L0_root"; - rename -uid "0936F62B-446B-42B9-421C-F3885735F121"; + rename -uid "1E38A98F-4292-985F-124B-9AAA3BC5A6F2"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.1682146826215725 -0.34547277013915723 0.21228136011732168 ; + setAttr ".t" -type "double3" -1.1682146826215742 -0.34547277013915734 0.21228136011732524 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7587,12 +7616,12 @@ createNode transform -n "footBack_L0_inpivot" -p "footBack_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000004 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_L0_inpivotShape" -p "footBack_L0_inpivot"; - rename -uid "70DDA392-4980-3559-EC11-D8976297DE7B"; + rename -uid "8135752A-4A17-0A3B-F189-BD82AA9ACF69"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7604,8 +7633,8 @@ createNode nurbsCurve -n "footBack_L0_inpivotShape" -p "footBack_L0_inpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_L0_inpivot19Shape" -p "footBack_L0_inpivot"; - rename -uid "715EDCE4-44C3-7BAF-02A8-4E9760E9BDB9"; +createNode nurbsCurve -n "footBack_L0_inpivot22Shape" -p "footBack_L0_inpivot"; + rename -uid "E26CC19B-407B-96D1-BCEA-EF92CB941EE5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7617,8 +7646,8 @@ createNode nurbsCurve -n "footBack_L0_inpivot19Shape" -p "footBack_L0_inpivot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_L0_inpivot20Shape" -p "footBack_L0_inpivot"; - rename -uid "511B19BB-42C2-B859-4FAE-31917D4D5D05"; +createNode nurbsCurve -n "footBack_L0_inpivot23Shape" -p "footBack_L0_inpivot"; + rename -uid "14904978-488B-A94E-C3A1-74874D2A259E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7630,8 +7659,8 @@ createNode nurbsCurve -n "footBack_L0_inpivot20Shape" -p "footBack_L0_inpivot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_L0_inpivot21Shape" -p "footBack_L0_inpivot"; - rename -uid "66014143-49F7-4498-E118-35A9D5D5CBED"; +createNode nurbsCurve -n "footBack_L0_inpivot24Shape" -p "footBack_L0_inpivot"; + rename -uid "3F599A75-4BE2-FA5E-6456-3FBFF8D95B2C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7648,8 +7677,8 @@ createNode nurbsCurve -n "footBack_L0_inpivot21Shape" -p "footBack_L0_inpivot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_inpivot21_0crvShape" -p "footBack_L0_inpivot"; - rename -uid "80E5CA0E-4636-6CF6-3545-399E67AEB30F"; +createNode nurbsCurve -n "footBack_L0_inpivot24_0crvShape" -p "footBack_L0_inpivot"; + rename -uid "8C1E2156-44F0-B771-D1AB-038839CEC295"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7666,8 +7695,8 @@ createNode nurbsCurve -n "footBack_L0_inpivot21_0crvShape" -p "footBack_L0_inpiv 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_L0_inpivot21_1crvShape" -p "footBack_L0_inpivot"; - rename -uid "E5317E4E-4A9C-A325-33A4-1B88E7BB2199"; +createNode nurbsCurve -n "footBack_L0_inpivot24_1crvShape" -p "footBack_L0_inpivot"; + rename -uid "DB4CD451-4354-5100-3BD9-50B843AC5402"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7685,18 +7714,18 @@ createNode nurbsCurve -n "footBack_L0_inpivot21_1crvShape" -p "footBack_L0_inpiv 0 0 -0.1875 ; createNode transform -n "footBack_L0_1" -p "footBack_L0_root"; - rename -uid "D56713DC-4375-0C3E-FFEA-B1AEE3D104FB"; + rename -uid "E2463FCF-472C-3D45-32C4-0B8FA08D01FB"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -10.980332218718949 -0.49678747209358587 11.584116504196627 ; - setAttr ".s" -type "double3" 8.6433157474725757 8.6433157474725757 8.6433157474725792 ; + setAttr ".t" -type "double3" -10.980332218718948 -0.49678747209358604 11.584116504196629 ; + setAttr ".s" -type "double3" 8.6433157474725757 8.6433157474725757 8.6433157474725775 ; createNode nurbsCurve -n "footBack_L0_Shape1" -p "footBack_L0_1"; - rename -uid "8665E698-4D20-900B-7CCF-C2B4799AF333"; + rename -uid "CECBDBED-4E02-9D69-B572-CCB060CD353E"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footBack_L0_Shape1Orig" -p "footBack_L0_1"; - rename -uid "6D2E4E8E-47BA-65E6-8A16-2ABC9B243782"; + rename -uid "7155103C-4707-F8CF-5C53-F1A0E7B8FE7F"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -7710,7 +7739,7 @@ createNode nurbsCurve -n "footBack_L0_Shape1Orig" -p "footBack_L0_1"; 0 0 0 ; createNode transform -n "backLegUI_L0_root" -p "footBack_L0_root"; - rename -uid "FF1A60DF-4575-9038-D4C4-E69B405A2624"; + rename -uid "380D9C8C-4B72-B969-89A5-0A8785D162DC"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -7722,7 +7751,7 @@ createNode transform -n "backLegUI_L0_root" -p "footBack_L0_root"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; @@ -7734,12 +7763,14 @@ createNode transform -n "backLegUI_L0_root" -p "footBack_L0_root"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 0.5 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 7.9148715870389701 6.0337539388988626 -0.92016921390297313 ; + setAttr ".t" -type "double3" 7.9148715870389683 6.0337539388988635 -0.92016921390296957 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7747,7 +7778,7 @@ createNode transform -n "backLegUI_L0_root" -p "footBack_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 8.6433157474725739 8.6433157474725792 8.6433157474725828 ; + setAttr ".s" -type "double3" 8.6433157474725739 8.643315747472581 8.643315747472581 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -7759,12 +7790,8 @@ createNode transform -n "backLegUI_L0_root" -p "footBack_L0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 0.5; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "backLegUI_L0_rootShape" -p "backLegUI_L0_root"; - rename -uid "FE6F4329-4473-D499-76A9-319BC8489836"; + rename -uid "B135A542-4318-F4E1-5EA6-3C94265C74EC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7776,8 +7803,8 @@ createNode nurbsCurve -n "backLegUI_L0_rootShape" -p "backLegUI_L0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "backLegUI_L0_root19Shape" -p "backLegUI_L0_root"; - rename -uid "0D757D60-4A62-8047-6326-3F9C98243753"; +createNode nurbsCurve -n "backLegUI_L0_root22Shape" -p "backLegUI_L0_root"; + rename -uid "13E428A0-4E9A-916D-15AE-52A9560FC787"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7789,8 +7816,8 @@ createNode nurbsCurve -n "backLegUI_L0_root19Shape" -p "backLegUI_L0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "backLegUI_L0_root20Shape" -p "backLegUI_L0_root"; - rename -uid "C123B782-4D07-EB78-DEA7-F1B07BB8098D"; +createNode nurbsCurve -n "backLegUI_L0_root23Shape" -p "backLegUI_L0_root"; + rename -uid "6BB7EEE1-405E-B6D0-3E30-58B9C22C58D9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7802,8 +7829,8 @@ createNode nurbsCurve -n "backLegUI_L0_root20Shape" -p "backLegUI_L0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "backLegUI_L0_root21Shape" -p "backLegUI_L0_root"; - rename -uid "3086495F-4148-EA58-1C57-3A85AED4C7E4"; +createNode nurbsCurve -n "backLegUI_L0_root24Shape" -p "backLegUI_L0_root"; + rename -uid "F06B8B07-4B0F-7654-865E-1ABFF181A46D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7830,10 +7857,10 @@ createNode nurbsCurve -n "backLegUI_L0_root21Shape" -p "backLegUI_L0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "backLegUI_L0_sizeRef" -p "backLegUI_L0_root"; - rename -uid "262F5E58-4741-9888-A072-4795AE23BBE3"; + rename -uid "754E3199-4FF7-B2C8-FED1-5E94D8BF0230"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 4.4408920985006262e-016 3.3306690738754696e-016 0.99999999999999956 ; + setAttr ".t" -type "double3" 4.4408920985006262e-016 3.3306690738754696e-016 1 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7841,23 +7868,23 @@ createNode transform -n "backLegUI_L0_sizeRef" -p "backLegUI_L0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999933 0.99999999999999956 ; + setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999911 0.99999999999999956 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "legBack_L0_crv1" -p "legBack_L0_root"; - rename -uid "77F741B5-446C-EE8F-C04B-708DF6D326B1"; + rename -uid "D4F3DA5A-4EB0-63ED-5FA0-8C8994A4F04D"; setAttr ".ovdt" 1; setAttr ".ove" yes; setAttr ".t" -type "double3" -1.7959711117807502 -3.2803056907023973 1.8090460715460559 ; setAttr ".s" -type "double3" 1.4137227438343885 1.4137227438343878 1.4137227438343878 ; createNode nurbsCurve -n "legBack_L0_crvShape1" -p "legBack_L0_crv1"; - rename -uid "250B84CD-4E9A-A0B9-7F54-A0899BBC1692"; + rename -uid "C1958170-4DC7-426E-52A9-B09B27CC062A"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "legBack_L0_crvShape1Orig" -p "legBack_L0_crv1"; - rename -uid "14124FDA-4CC1-FA1A-FEA9-818688E2B65E"; + rename -uid "4E361CFA-4986-2D6E-CCD7-3095FAA3BE90"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -7871,7 +7898,7 @@ createNode nurbsCurve -n "legBack_L0_crvShape1Orig" -p "legBack_L0_crv1"; 0 0 0 ; createNode transform -n "legBack_R0_root" -p "spine_C0_root"; - rename -uid "17B59BF6-4B89-E645-EADA-DFB3F6F14B84"; + rename -uid "D4BAAD52-44AB-B482-22C5-61A633A9359F"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -7880,23 +7907,23 @@ createNode transform -n "legBack_R0_root" -p "spine_C0_root"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "blend" -ln "blend" -min 0 -max 1 -at "double"; - addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -min 0 -max 1 -at "double"; + addAttr -ci true -sn "blend" -ln "blend" -dv 1 -min 0 -max 1 -at "double"; + addAttr -ci true -sn "full3BonesIK" -ln "full3BonesIK" -dv 1 -min 0 -max 1 -at "double"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "upvrefarray" -ln "upvrefarray" -dt "string"; - addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1 -min 1 -at "double"; + addAttr -ci true -sn "maxstretch" -ln "maxstretch" -dv 1.5 -min 1 -at "double"; addAttr -ci true -k true -sn "ikSolver" -ln "ikSolver" -min 0 -max 1 -en "IK Spring:IK Rotation Plane" -at "enum"; - addAttr -ci true -sn "ikOri" -ln "ikOri" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "div0" -ln "div0" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div1" -ln "div1" -dv 1 -min 1 -at "long"; - addAttr -ci true -sn "div2" -ln "div2" -dv 1 -min 1 -at "long"; + addAttr -ci true -sn "ikOri" -ln "ikOri" -dv 1 -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "div0" -ln "div0" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div1" -ln "div1" -dv 2 -min 1 -at "long"; + addAttr -ci true -sn "div2" -ln "div2" -dv 2 -min 1 -at "long"; addAttr -ci true -k true -sn "st_profile" -ln "st_profile" -at "double"; addAttr -ci true -k true -sn "sq_profile" -ln "sq_profile" -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 0.21090213141048153 -0.097927178047042762 2.6808811877076875 ; + setAttr ".t" -type "double3" 0.21090213141048153 -0.09792717804704365 2.6808811877076875 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -7915,20 +7942,12 @@ createNode transform -n "legBack_R0_root" -p "spine_C0_root"; setAttr ".connector" -type "string" "standard"; setAttr ".ui_host" -type "string" "backLegUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".blend" 1; - setAttr ".full3BonesIK" 1; - setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root"; - setAttr ".maxstretch" 1.5; - setAttr ".ikOri" yes; - setAttr ".div0" 2; - setAttr ".div1" 2; - setAttr ".div2" 2; + setAttr ".ikrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; + setAttr ".upvrefarray" -type "string" "local_C0_root,spine_C0_root,global_C0_root"; setAttr -k on ".st_profile"; setAttr -k on ".sq_profile"; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "legBack_R0_rootShape" -p "legBack_R0_root"; - rename -uid "2DEE1F1F-4F24-948F-9562-728DDCF162D2"; + rename -uid "709734FF-4810-D3D3-4BAD-E4AFA1995DA5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7940,8 +7959,8 @@ createNode nurbsCurve -n "legBack_R0_rootShape" -p "legBack_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_R0_root10Shape" -p "legBack_R0_root"; - rename -uid "0ACF8406-4B43-539E-13A3-F5A468BBF2B9"; +createNode nurbsCurve -n "legBack_R0_root4Shape" -p "legBack_R0_root"; + rename -uid "AAE230B2-4470-F58A-C9E8-EF9138B8F4D6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7953,8 +7972,8 @@ createNode nurbsCurve -n "legBack_R0_root10Shape" -p "legBack_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_R0_root11Shape" -p "legBack_R0_root"; - rename -uid "1F08688C-428B-42C5-CDB8-ECAAB83ED017"; +createNode nurbsCurve -n "legBack_R0_root5Shape" -p "legBack_R0_root"; + rename -uid "9B8780FA-4388-AC0C-F85F-A1A8803A4FB7"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7966,8 +7985,8 @@ createNode nurbsCurve -n "legBack_R0_root11Shape" -p "legBack_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_R0_root12Shape" -p "legBack_R0_root"; - rename -uid "7DBC7168-4DE7-EDCC-7C7A-C5AAC889BC9B"; +createNode nurbsCurve -n "legBack_R0_root6Shape" -p "legBack_R0_root"; + rename -uid "D949972A-4DE1-EDAC-AA5B-D79C0E02ED60"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -7994,10 +8013,10 @@ createNode nurbsCurve -n "legBack_R0_root12Shape" -p "legBack_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "legBack_R0_knee" -p "legBack_R0_root"; - rename -uid "7797E937-4E89-5F32-AC7E-20B1ED448529"; + rename -uid "B87985BB-461D-407E-5ECD-0DA613DFB201"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.6645352591003757e-015 -1.155950874379851 0.33714517700502311 ; + setAttr ".t" -type "double3" 3.1086244689504383e-015 -1.1559508743798506 0.337145177005022 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8010,7 +8029,7 @@ createNode transform -n "legBack_R0_knee" -p "legBack_R0_root"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_R0_kneeShape" -p "legBack_R0_knee"; - rename -uid "84AA65A4-4E52-DC46-11DA-72B4B878298F"; + rename -uid "7F09D014-49A7-194E-3611-34AD3D164DF4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8022,8 +8041,8 @@ createNode nurbsCurve -n "legBack_R0_kneeShape" -p "legBack_R0_knee"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_R0_knee10Shape" -p "legBack_R0_knee"; - rename -uid "5E904C90-4EEC-5B3C-6147-EC8FCA779A48"; +createNode nurbsCurve -n "legBack_R0_knee4Shape" -p "legBack_R0_knee"; + rename -uid "253B479A-46F1-323C-6B17-F48068A2B39B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8035,8 +8054,8 @@ createNode nurbsCurve -n "legBack_R0_knee10Shape" -p "legBack_R0_knee"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_R0_knee11Shape" -p "legBack_R0_knee"; - rename -uid "7761FFA8-47BF-104B-8CAE-A4812EB6DD80"; +createNode nurbsCurve -n "legBack_R0_knee5Shape" -p "legBack_R0_knee"; + rename -uid "7750FECD-40D9-4BC6-2297-2C859FCC9AF9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8048,8 +8067,8 @@ createNode nurbsCurve -n "legBack_R0_knee11Shape" -p "legBack_R0_knee"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_R0_knee12Shape" -p "legBack_R0_knee"; - rename -uid "9F7D6015-47A6-D044-F21D-63B9E03A745F"; +createNode nurbsCurve -n "legBack_R0_knee6Shape" -p "legBack_R0_knee"; + rename -uid "54E4F0F3-425A-26FB-A95C-399E54134F72"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8066,8 +8085,8 @@ createNode nurbsCurve -n "legBack_R0_knee12Shape" -p "legBack_R0_knee"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_knee12_0crvShape" -p "legBack_R0_knee"; - rename -uid "84001720-423B-0DA1-DCDB-9CB59E700B8B"; +createNode nurbsCurve -n "legBack_R0_knee6_0crvShape" -p "legBack_R0_knee"; + rename -uid "6D24539D-452D-77DD-C598-438CB0445DA3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8084,8 +8103,8 @@ createNode nurbsCurve -n "legBack_R0_knee12_0crvShape" -p "legBack_R0_knee"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_knee12_1crvShape" -p "legBack_R0_knee"; - rename -uid "A3C22943-429E-4ED3-17C5-24B8636044E3"; +createNode nurbsCurve -n "legBack_R0_knee6_1crvShape" -p "legBack_R0_knee"; + rename -uid "1A6AF126-45F5-269B-1142-FD9E637009D1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8103,10 +8122,10 @@ createNode nurbsCurve -n "legBack_R0_knee12_1crvShape" -p "legBack_R0_knee"; 0 0 -0.1875 ; createNode transform -n "legBack_R0_ankle" -p "legBack_R0_knee"; - rename -uid "7B54364E-42A4-F730-8628-6B995B5DE9E0"; + rename -uid "C4A0FEA1-46C7-30B0-4A25-698E9DBE5AF6"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 2.2204460492503131e-015 -1.4950431842245462 -0.57333193410462435 ; + setAttr ".t" -type "double3" 2.2204460492503131e-015 -1.4950431842245453 -0.57333193410462324 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8114,12 +8133,12 @@ createNode transform -n "legBack_R0_ankle" -p "legBack_R0_knee"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999944 0.99999999999999878 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999944 1.0000000000000007 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_R0_ankleShape" -p "legBack_R0_ankle"; - rename -uid "5A5F5526-4666-C282-53E1-609C5B3813C8"; + rename -uid "AA2BD92B-4F1E-598E-D7C1-3FBB25F67EA3"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8131,8 +8150,8 @@ createNode nurbsCurve -n "legBack_R0_ankleShape" -p "legBack_R0_ankle"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_R0_ankle10Shape" -p "legBack_R0_ankle"; - rename -uid "74A43E7F-49DF-5FA1-7686-09B814567BCE"; +createNode nurbsCurve -n "legBack_R0_ankle4Shape" -p "legBack_R0_ankle"; + rename -uid "D06DA2A7-4F98-F51B-E3EC-CB9F7D33AADA"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8144,8 +8163,8 @@ createNode nurbsCurve -n "legBack_R0_ankle10Shape" -p "legBack_R0_ankle"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_R0_ankle11Shape" -p "legBack_R0_ankle"; - rename -uid "E28CBBA1-4C80-5348-6771-7DB778617F79"; +createNode nurbsCurve -n "legBack_R0_ankle5Shape" -p "legBack_R0_ankle"; + rename -uid "FB422D33-4C07-0A9E-BAE3-C5A6D6B18C24"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8157,8 +8176,8 @@ createNode nurbsCurve -n "legBack_R0_ankle11Shape" -p "legBack_R0_ankle"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_R0_ankle12Shape" -p "legBack_R0_ankle"; - rename -uid "5E0E7E30-43F2-E8B1-2A21-22983E432142"; +createNode nurbsCurve -n "legBack_R0_ankle6Shape" -p "legBack_R0_ankle"; + rename -uid "FAB98D6B-4068-2CDD-EF6F-C89BDF436059"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8175,8 +8194,8 @@ createNode nurbsCurve -n "legBack_R0_ankle12Shape" -p "legBack_R0_ankle"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_ankle12_0crvShape" -p "legBack_R0_ankle"; - rename -uid "B28C795E-4F54-F1F1-1E0F-57A89FEA774A"; +createNode nurbsCurve -n "legBack_R0_ankle6_0crvShape" -p "legBack_R0_ankle"; + rename -uid "244579BD-47E4-5009-E4F1-7388DCE2F34D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8193,8 +8212,8 @@ createNode nurbsCurve -n "legBack_R0_ankle12_0crvShape" -p "legBack_R0_ankle"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_ankle12_1crvShape" -p "legBack_R0_ankle"; - rename -uid "B99B9EDA-4F8B-F112-C63D-1882B61C1FFF"; +createNode nurbsCurve -n "legBack_R0_ankle6_1crvShape" -p "legBack_R0_ankle"; + rename -uid "D949142E-4F7C-F31F-F755-45833E4F15D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8212,10 +8231,10 @@ createNode nurbsCurve -n "legBack_R0_ankle12_1crvShape" -p "legBack_R0_ankle"; 0 0 -0.1875 ; createNode transform -n "legBack_R0_foot" -p "legBack_R0_ankle"; - rename -uid "24B49B79-429D-D3C5-8109-D5B1028CFABC"; + rename -uid "48514193-4A22-FBEA-2024-3D8D8A611285"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.1102230246251565e-015 -0.54805580751979133 0.15050522089872853 ; + setAttr ".t" -type "double3" 1.1102230246251565e-015 -0.54805580751979266 0.15050522089872898 ; setAttr -l on -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8223,12 +8242,12 @@ createNode transform -n "legBack_R0_foot" -p "legBack_R0_ankle"; setAttr -l on -k off -cb on ".ry"; setAttr -l on -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000004 1.0000000000000013 1 ; + setAttr ".s" -type "double3" 0.99999999999999956 1.0000000000000009 0.99999999999999989 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_R0_footShape" -p "legBack_R0_foot"; - rename -uid "27C9D149-40B9-14A2-E42B-BF87D412BBB8"; + rename -uid "3DB28E7C-4FAC-4DDC-458C-739F4115A35E"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8240,8 +8259,8 @@ createNode nurbsCurve -n "legBack_R0_footShape" -p "legBack_R0_foot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_R0_foot10Shape" -p "legBack_R0_foot"; - rename -uid "C1663611-4823-003F-5F93-1B9E5657B062"; +createNode nurbsCurve -n "legBack_R0_foot4Shape" -p "legBack_R0_foot"; + rename -uid "ED5EFD9D-4443-DDCB-3C7D-EAA4C694D157"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8253,8 +8272,8 @@ createNode nurbsCurve -n "legBack_R0_foot10Shape" -p "legBack_R0_foot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_R0_foot11Shape" -p "legBack_R0_foot"; - rename -uid "72A130BF-410A-69E0-882B-6CAF18DED6FB"; +createNode nurbsCurve -n "legBack_R0_foot5Shape" -p "legBack_R0_foot"; + rename -uid "8FB8BD24-47AD-83FA-7C4F-14B45C4D29C9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8266,8 +8285,8 @@ createNode nurbsCurve -n "legBack_R0_foot11Shape" -p "legBack_R0_foot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_R0_foot12Shape" -p "legBack_R0_foot"; - rename -uid "37BF66AD-415C-1DD4-A423-A39CF0E1F1B0"; +createNode nurbsCurve -n "legBack_R0_foot6Shape" -p "legBack_R0_foot"; + rename -uid "93409780-4929-5FC1-6648-3481F3DEBD14"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8284,8 +8303,8 @@ createNode nurbsCurve -n "legBack_R0_foot12Shape" -p "legBack_R0_foot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_foot12_0crvShape" -p "legBack_R0_foot"; - rename -uid "70A4EACD-4115-6547-5F90-74A6F0B5A842"; +createNode nurbsCurve -n "legBack_R0_foot6_0crvShape" -p "legBack_R0_foot"; + rename -uid "390C8D1C-44B6-217D-33B9-FC8CF03EC443"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8302,8 +8321,8 @@ createNode nurbsCurve -n "legBack_R0_foot12_0crvShape" -p "legBack_R0_foot"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_foot12_1crvShape" -p "legBack_R0_foot"; - rename -uid "11350C76-412C-8089-C5D9-68AD47B8E149"; +createNode nurbsCurve -n "legBack_R0_foot6_1crvShape" -p "legBack_R0_foot"; + rename -uid "6AC0ACCB-4B70-A31F-C6C8-C387AD96F1B5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8321,10 +8340,10 @@ createNode nurbsCurve -n "legBack_R0_foot12_1crvShape" -p "legBack_R0_foot"; 0 0 -0.1875 ; createNode transform -n "legBack_R0_eff" -p "legBack_R0_foot"; - rename -uid "BECD8E3D-434C-AAA2-3AB4-519FAA3FF073"; + rename -uid "F99FEB71-4A08-3100-EC86-17BBF050CBF6"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.9984014443252818e-015 1.3877787807814457e-016 0.28135643819707568 ; + setAttr ".t" -type "double3" 1.3322676295501878e-015 6.9388939039072284e-016 0.28135643819707479 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8332,12 +8351,12 @@ createNode transform -n "legBack_R0_eff" -p "legBack_R0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1 0.99999999999999922 0.99999999999999922 ; + setAttr ".s" -type "double3" 0.99999999999999956 0.99999999999999889 0.99999999999999889 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "legBack_R0_effShape" -p "legBack_R0_eff"; - rename -uid "31C5DFF1-4D6D-4DA4-858B-63BB332A79F4"; + rename -uid "63165659-487D-3070-CC1E-E0A3EB006383"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8349,8 +8368,8 @@ createNode nurbsCurve -n "legBack_R0_effShape" -p "legBack_R0_eff"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "legBack_R0_eff10Shape" -p "legBack_R0_eff"; - rename -uid "DBA208E3-4B1D-5FD7-FD62-1993CF1C5A9B"; +createNode nurbsCurve -n "legBack_R0_eff4Shape" -p "legBack_R0_eff"; + rename -uid "47CBFA3F-4D11-641E-8E74-04B6180AC8D6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8362,8 +8381,8 @@ createNode nurbsCurve -n "legBack_R0_eff10Shape" -p "legBack_R0_eff"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "legBack_R0_eff11Shape" -p "legBack_R0_eff"; - rename -uid "FCC505B7-47E6-8823-A55D-259AE21221D6"; +createNode nurbsCurve -n "legBack_R0_eff5Shape" -p "legBack_R0_eff"; + rename -uid "C1D213BF-429D-BDAA-AD8F-6F98C40F5E34"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8375,8 +8394,8 @@ createNode nurbsCurve -n "legBack_R0_eff11Shape" -p "legBack_R0_eff"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "legBack_R0_eff12Shape" -p "legBack_R0_eff"; - rename -uid "EA667694-4A58-73DC-E810-6DB5F1A52603"; +createNode nurbsCurve -n "legBack_R0_eff6Shape" -p "legBack_R0_eff"; + rename -uid "05F9BC79-43D1-FFF2-8E5E-5A9A089667FE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8393,8 +8412,8 @@ createNode nurbsCurve -n "legBack_R0_eff12Shape" -p "legBack_R0_eff"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_eff12_0crvShape" -p "legBack_R0_eff"; - rename -uid "210C8EBC-4F02-6427-BAE3-0CA8036D7DB9"; +createNode nurbsCurve -n "legBack_R0_eff6_0crvShape" -p "legBack_R0_eff"; + rename -uid "EA8A3A6F-45CC-06AA-3D7B-4B921FA606E8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8411,8 +8430,8 @@ createNode nurbsCurve -n "legBack_R0_eff12_0crvShape" -p "legBack_R0_eff"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "legBack_R0_eff12_1crvShape" -p "legBack_R0_eff"; - rename -uid "BA98A755-47A1-487D-1C1B-5CBA0985D8F1"; +createNode nurbsCurve -n "legBack_R0_eff6_1crvShape" -p "legBack_R0_eff"; + rename -uid "9D8E096C-427D-5B43-7207-DDA0FC30F890"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8430,7 +8449,7 @@ createNode nurbsCurve -n "legBack_R0_eff12_1crvShape" -p "legBack_R0_eff"; 0 0 -0.1875 ; createNode transform -n "footBack_R0_root" -p "legBack_R0_foot"; - rename -uid "D54CE142-4698-CF04-82F9-5EB7F1604C0F"; + rename -uid "F285FA53-405F-8783-4104-3C9C9A84DA07"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -8439,11 +8458,11 @@ createNode transform -n "footBack_R0_root" -p "legBack_R0_foot"; addAttr -ci true -sn "connector" -ln "connector" -dt "string"; addAttr -ci true -sn "ui_host" -ln "ui_host" -dt "string"; addAttr -ci true -sn "ctlGrp" -ln "ctlGrp" -dt "string"; - addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "useRollCtl" -ln "useRollCtl" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.1102230246251565e-015 2.6367796834847468e-016 6.6613381477509392e-016 ; + setAttr ".t" -type "double3" 6.6613381477509392e-016 8.1878948066105295e-016 -2.2204460492503131e-016 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8451,7 +8470,7 @@ createNode transform -n "footBack_R0_root" -p "legBack_R0_foot"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.16356254765398101 0.1635625476539809 0.16356254765398087 ; + setAttr ".s" -type "double3" 0.16356254765398093 0.16356254765398084 0.16356254765398082 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -8461,10 +8480,8 @@ createNode transform -n "footBack_R0_root" -p "legBack_R0_foot"; setAttr ".connector" -type "string" "leg_3jnt_01"; setAttr ".ui_host" -type "string" "backLegUI_R0_root"; setAttr ".ctlGrp" -type "string" ""; - setAttr ".useRollCtl" yes; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "footBack_R0_rootShape" -p "footBack_R0_root"; - rename -uid "C23CB136-426D-ACED-71FF-6983D500564C"; + rename -uid "AA947537-4AEB-6315-4A80-3585AF363EA9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8476,8 +8493,8 @@ createNode nurbsCurve -n "footBack_R0_rootShape" -p "footBack_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_R0_root10Shape" -p "footBack_R0_root"; - rename -uid "EDDA460D-4880-9CF6-71E2-01B4F2EC413B"; +createNode nurbsCurve -n "footBack_R0_root4Shape" -p "footBack_R0_root"; + rename -uid "D9951079-4747-8ECD-C4D0-3BB8495040D8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8489,8 +8506,8 @@ createNode nurbsCurve -n "footBack_R0_root10Shape" -p "footBack_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_R0_root11Shape" -p "footBack_R0_root"; - rename -uid "72277CF6-4210-69A1-8F1B-9892EF7F7BA8"; +createNode nurbsCurve -n "footBack_R0_root5Shape" -p "footBack_R0_root"; + rename -uid "47591DAF-4407-294A-E0E2-24ADAB6A78F1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8502,8 +8519,8 @@ createNode nurbsCurve -n "footBack_R0_root11Shape" -p "footBack_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_R0_root12Shape" -p "footBack_R0_root"; - rename -uid "0F796927-472B-691F-A53E-829519A1EF6F"; +createNode nurbsCurve -n "footBack_R0_root6Shape" -p "footBack_R0_root"; + rename -uid "DFD0AABD-4518-C0A9-9AC2-2E8C7DA366DC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8530,10 +8547,10 @@ createNode nurbsCurve -n "footBack_R0_root12Shape" -p "footBack_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "footBack_R0_0_loc" -p "footBack_R0_root"; - rename -uid "670B8ACD-4F72-8E3F-BF44-04B62B6947E5"; + rename -uid "0BB011C3-4A43-1085-4833-A6B2F554A06D"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -8.8817841970012523e-015 3.8857805861880479e-016 0.54565565303279229 ; + setAttr ".t" -type "double3" -1.4210854715202004e-014 -5.5511151231257827e-017 0.54565565303279584 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8541,12 +8558,12 @@ createNode transform -n "footBack_R0_0_loc" -p "footBack_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_R0_0_locShape" -p "footBack_R0_0_loc"; - rename -uid "30FEA945-4247-BFE8-15EE-38B755DEAE50"; + rename -uid "5E40C53A-43CB-0413-64FA-44BC5BC6AD6D"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8558,8 +8575,8 @@ createNode nurbsCurve -n "footBack_R0_0_locShape" -p "footBack_R0_0_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_R0_0_loc10Shape" -p "footBack_R0_0_loc"; - rename -uid "C466BCD9-426C-A745-9DD3-4E84717E37FA"; +createNode nurbsCurve -n "footBack_R0_0_loc4Shape" -p "footBack_R0_0_loc"; + rename -uid "68EF8543-46B8-39F4-BF27-D9950C68F697"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8571,8 +8588,8 @@ createNode nurbsCurve -n "footBack_R0_0_loc10Shape" -p "footBack_R0_0_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_R0_0_loc11Shape" -p "footBack_R0_0_loc"; - rename -uid "F12EBC49-46D5-71E9-EED9-708E95AA8638"; +createNode nurbsCurve -n "footBack_R0_0_loc5Shape" -p "footBack_R0_0_loc"; + rename -uid "981F86E0-4AB5-1C93-6D1E-C8860DD6251A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8584,8 +8601,8 @@ createNode nurbsCurve -n "footBack_R0_0_loc11Shape" -p "footBack_R0_0_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_R0_0_loc12Shape" -p "footBack_R0_0_loc"; - rename -uid "61BD24A4-49F7-6B68-D0E9-77836B966149"; +createNode nurbsCurve -n "footBack_R0_0_loc6Shape" -p "footBack_R0_0_loc"; + rename -uid "7FBC2386-4096-B3F7-38D5-B780763E6C06"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8602,8 +8619,8 @@ createNode nurbsCurve -n "footBack_R0_0_loc12Shape" -p "footBack_R0_0_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_0_loc12_0crvShape" -p "footBack_R0_0_loc"; - rename -uid "4BD4A380-4DE0-87FD-B143-07994B25ADEE"; +createNode nurbsCurve -n "footBack_R0_0_loc6_0crvShape" -p "footBack_R0_0_loc"; + rename -uid "EDA26D41-4595-D3F0-38E8-678CF4C4E1E4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8620,8 +8637,8 @@ createNode nurbsCurve -n "footBack_R0_0_loc12_0crvShape" -p "footBack_R0_0_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_0_loc12_1crvShape" -p "footBack_R0_0_loc"; - rename -uid "9B61CBAF-4497-9503-E5D8-70B8CD6B6698"; +createNode nurbsCurve -n "footBack_R0_0_loc6_1crvShape" -p "footBack_R0_0_loc"; + rename -uid "B4DB6B4A-4F72-9D71-5BB7-B984F1CDC8F4"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8639,10 +8656,10 @@ createNode nurbsCurve -n "footBack_R0_0_loc12_1crvShape" -p "footBack_R0_0_loc"; 0 0 -0.1875 ; createNode transform -n "footBack_R0_1_loc" -p "footBack_R0_0_loc"; - rename -uid "05AB6E20-427A-FE9D-C941-EF88C8D5F495"; + rename -uid "99083FC0-431B-6FCC-20B5-A1B6361E083A"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -3.5527136788005009e-015 -0.34547277013915589 0.77046072389792464 ; + setAttr ".t" -type "double3" 1.7763568394002505e-015 -0.34547277013915595 0.77046072389793352 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8650,12 +8667,12 @@ createNode transform -n "footBack_R0_1_loc" -p "footBack_R0_0_loc"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000007 1.0000000000000002 1.0000000000000002 ; + setAttr ".s" -type "double3" 1.0000000000000011 0.99999999999999978 1.0000000000000004 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_R0_1_locShape" -p "footBack_R0_1_loc"; - rename -uid "F95276E5-42E3-D8D0-DFCE-2B9BEB4525CC"; + rename -uid "CF1272F9-4567-AFE6-FFF3-E8A2A7A1ADAE"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8667,8 +8684,8 @@ createNode nurbsCurve -n "footBack_R0_1_locShape" -p "footBack_R0_1_loc"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_R0_1_loc10Shape" -p "footBack_R0_1_loc"; - rename -uid "800158A9-4B31-C05E-D86F-C2845AA02683"; +createNode nurbsCurve -n "footBack_R0_1_loc4Shape" -p "footBack_R0_1_loc"; + rename -uid "5C87CFAF-473C-E9B2-FF43-6198D68630EB"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8680,8 +8697,8 @@ createNode nurbsCurve -n "footBack_R0_1_loc10Shape" -p "footBack_R0_1_loc"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_R0_1_loc11Shape" -p "footBack_R0_1_loc"; - rename -uid "C68D7C44-47CB-FA8F-A834-26937F5BF81B"; +createNode nurbsCurve -n "footBack_R0_1_loc5Shape" -p "footBack_R0_1_loc"; + rename -uid "140C8FB8-4FDD-2D3D-52A1-FC82C682AB72"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8693,8 +8710,8 @@ createNode nurbsCurve -n "footBack_R0_1_loc11Shape" -p "footBack_R0_1_loc"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_R0_1_loc12Shape" -p "footBack_R0_1_loc"; - rename -uid "FF45DACD-4F93-D126-F929-46BBBF452F23"; +createNode nurbsCurve -n "footBack_R0_1_loc6Shape" -p "footBack_R0_1_loc"; + rename -uid "B510D63C-4AD8-DE27-879B-5EA11782D537"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8711,8 +8728,8 @@ createNode nurbsCurve -n "footBack_R0_1_loc12Shape" -p "footBack_R0_1_loc"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_1_loc12_0crvShape" -p "footBack_R0_1_loc"; - rename -uid "214C257C-4CB0-BF88-FA53-018605122919"; +createNode nurbsCurve -n "footBack_R0_1_loc6_0crvShape" -p "footBack_R0_1_loc"; + rename -uid "DCDAA76B-4890-A558-210C-4A8B69DE4F36"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8729,8 +8746,8 @@ createNode nurbsCurve -n "footBack_R0_1_loc12_0crvShape" -p "footBack_R0_1_loc"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_1_loc12_1crvShape" -p "footBack_R0_1_loc"; - rename -uid "B3063B89-457D-F8EB-E445-7C9D7A735FB4"; +createNode nurbsCurve -n "footBack_R0_1_loc6_1crvShape" -p "footBack_R0_1_loc"; + rename -uid "8555527F-4148-5582-AFC8-8CADB827AF9A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8748,19 +8765,19 @@ createNode nurbsCurve -n "footBack_R0_1_loc12_1crvShape" -p "footBack_R0_1_loc"; 0 0 -0.1875 ; createNode transform -n "footBack_R0_crv" -p "footBack_R0_root"; - rename -uid "B46CA9F0-4DDD-F236-F193-31BA6002838B"; + rename -uid "1A0872BE-424E-C547-F070-70AA296A6783"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -10.980332218718955 -0.49678747209357782 11.584116504196611 ; + setAttr ".t" -type "double3" -10.980332218718956 -0.49678747209357832 11.584116504196617 ; setAttr ".r" -type "double3" 0 179.99999999999997 0 ; - setAttr ".s" -type "double3" 8.6433157474725757 8.6433157474725739 -8.6433157474725792 ; + setAttr ".s" -type "double3" 8.6433157474725775 8.6433157474725739 -8.6433157474725792 ; createNode nurbsCurve -n "footBack_R0_crvShape" -p "footBack_R0_crv"; - rename -uid "B44EBB29-4E83-5779-07BA-0BAE399328C4"; + rename -uid "74BBB355-4B78-9DAB-3C14-73A5A18321B5"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footBack_R0_crvShapeOrig" -p "footBack_R0_crv"; - rename -uid "C81C1E13-4A44-97D2-7907-FA82EBAD3BD2"; + rename -uid "B3CBEAB9-4F8F-56A0-A203-6BA30870C288"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -8772,10 +8789,10 @@ createNode nurbsCurve -n "footBack_R0_crvShapeOrig" -p "footBack_R0_crv"; 0 0 0 ; createNode transform -n "footBack_R0_heel" -p "footBack_R0_root"; - rename -uid "84C29B98-4976-90D8-E621-44B0F6979BE7"; + rename -uid "CDBE241D-446E-EF0F-5379-99B86705E9C5"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.0658141036401503e-014 -0.34547277013915573 -0.37260003933978858 ; + setAttr ".t" -type "double3" -1.5987211554602254e-014 -0.34547277013915645 -0.37260003933978503 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8783,12 +8800,12 @@ createNode transform -n "footBack_R0_heel" -p "footBack_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_R0_heelShape" -p "footBack_R0_heel"; - rename -uid "F59A78D1-4FBE-7F6D-7B4F-07A105EC7F93"; + rename -uid "18BA8C64-484A-14C2-1E86-FF9BFDF4C32C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8800,8 +8817,8 @@ createNode nurbsCurve -n "footBack_R0_heelShape" -p "footBack_R0_heel"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_R0_heel10Shape" -p "footBack_R0_heel"; - rename -uid "B5F62F62-4378-0470-8F4A-00B64C9F2C5D"; +createNode nurbsCurve -n "footBack_R0_heel4Shape" -p "footBack_R0_heel"; + rename -uid "8DF61FC1-4A34-00BF-EF15-05BD7506AC8C"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8813,8 +8830,8 @@ createNode nurbsCurve -n "footBack_R0_heel10Shape" -p "footBack_R0_heel"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_R0_heel11Shape" -p "footBack_R0_heel"; - rename -uid "2E92BFC2-492F-E936-63E3-62976633ADF0"; +createNode nurbsCurve -n "footBack_R0_heel5Shape" -p "footBack_R0_heel"; + rename -uid "999F91BF-4FD8-EABD-0831-47AEFC68A4BC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8826,8 +8843,8 @@ createNode nurbsCurve -n "footBack_R0_heel11Shape" -p "footBack_R0_heel"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_R0_heel12Shape" -p "footBack_R0_heel"; - rename -uid "E8E1B90D-4038-32A6-475A-02AFCDF38856"; +createNode nurbsCurve -n "footBack_R0_heel6Shape" -p "footBack_R0_heel"; + rename -uid "3073D05E-4CE2-CD2D-1C5E-88A155E8E604"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8844,8 +8861,8 @@ createNode nurbsCurve -n "footBack_R0_heel12Shape" -p "footBack_R0_heel"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_heel12_0crvShape" -p "footBack_R0_heel"; - rename -uid "EA1485C6-4D7A-CC2F-6225-43B6E336041B"; +createNode nurbsCurve -n "footBack_R0_heel6_0crvShape" -p "footBack_R0_heel"; + rename -uid "8E1BBAEF-4CB7-C4A5-5E48-D58AE574FCA9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8862,8 +8879,8 @@ createNode nurbsCurve -n "footBack_R0_heel12_0crvShape" -p "footBack_R0_heel"; 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_heel12_1crvShape" -p "footBack_R0_heel"; - rename -uid "4AB630D8-41CE-4436-E89B-12A8D2FC2FCC"; +createNode nurbsCurve -n "footBack_R0_heel6_1crvShape" -p "footBack_R0_heel"; + rename -uid "A2E9A7E7-4C34-7709-9AAD-A18A1C6D3F34"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8881,10 +8898,10 @@ createNode nurbsCurve -n "footBack_R0_heel12_1crvShape" -p "footBack_R0_heel"; 0 0 -0.1875 ; createNode transform -n "footBack_R0_outpivot" -p "footBack_R0_root"; - rename -uid "648C793F-4326-E4F2-B7C8-5F8541956323"; + rename -uid "92CDCE67-410A-0FC4-CFE1-09B0716090B9"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 1.0422206583139833 -0.34547277013915573 0.11497296198778173 ; + setAttr ".t" -type "double3" 1.0422206583139761 -0.3454727701391565 0.11497296198779061 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -8892,12 +8909,12 @@ createNode transform -n "footBack_R0_outpivot" -p "footBack_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_R0_outpivotShape" -p "footBack_R0_outpivot"; - rename -uid "A6EC6376-4120-9E05-BB93-9EB996F67A27"; + rename -uid "5A53B976-4964-EC1F-32E3-3294873E65A6"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8909,8 +8926,8 @@ createNode nurbsCurve -n "footBack_R0_outpivotShape" -p "footBack_R0_outpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_R0_outpivot10Shape" -p "footBack_R0_outpivot"; - rename -uid "4DAFA26F-49A4-8D21-79D8-0CBA06732A7E"; +createNode nurbsCurve -n "footBack_R0_outpivot4Shape" -p "footBack_R0_outpivot"; + rename -uid "60A2EC1E-4603-53B5-31F5-E5945F3BBC80"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8922,8 +8939,8 @@ createNode nurbsCurve -n "footBack_R0_outpivot10Shape" -p "footBack_R0_outpivot" 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_R0_outpivot11Shape" -p "footBack_R0_outpivot"; - rename -uid "8C6B69F2-4872-F814-9B4E-FB89106E6CE1"; +createNode nurbsCurve -n "footBack_R0_outpivot5Shape" -p "footBack_R0_outpivot"; + rename -uid "32E378AE-402D-D459-1E9A-A0B20C38CFB1"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8935,8 +8952,8 @@ createNode nurbsCurve -n "footBack_R0_outpivot11Shape" -p "footBack_R0_outpivot" 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_R0_outpivot12Shape" -p "footBack_R0_outpivot"; - rename -uid "89F6508C-432A-0594-C73B-89BA1C709334"; +createNode nurbsCurve -n "footBack_R0_outpivot6Shape" -p "footBack_R0_outpivot"; + rename -uid "FD678B76-4C97-2012-9DE7-3CB92F7CC17B"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8953,8 +8970,8 @@ createNode nurbsCurve -n "footBack_R0_outpivot12Shape" -p "footBack_R0_outpivot" 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_outpivot12_0crvShape" -p "footBack_R0_outpivot"; - rename -uid "13D8BEB1-4B74-D797-ED4A-E58A06002FC0"; +createNode nurbsCurve -n "footBack_R0_outpivot6_0crvShape" -p "footBack_R0_outpivot"; + rename -uid "5EC4FA04-4BB0-4085-2021-1D81D7F63461"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8971,8 +8988,8 @@ createNode nurbsCurve -n "footBack_R0_outpivot12_0crvShape" -p "footBack_R0_outp 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_outpivot12_1crvShape" -p "footBack_R0_outpivot"; - rename -uid "FE1F14D3-444D-4A87-D175-06A4C5671CC7"; +createNode nurbsCurve -n "footBack_R0_outpivot6_1crvShape" -p "footBack_R0_outpivot"; + rename -uid "3AF9588E-49D4-787C-99A0-5CAC1E1C17A9"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -8990,10 +9007,10 @@ createNode nurbsCurve -n "footBack_R0_outpivot12_1crvShape" -p "footBack_R0_outp 0 0 -0.1875 ; createNode transform -n "footBack_R0_inpivot" -p "footBack_R0_root"; - rename -uid "B3B5F0B1-4825-6708-DC87-F8B40787A4DF"; + rename -uid "093A094B-4EA4-A47A-C9AD-1B912E7DEDFE"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -1.16821468262156 -0.34547277013915567 0.2122813601173128 ; + setAttr ".t" -type "double3" -1.1682146826215689 -0.34547277013915628 0.21228136011731813 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9001,12 +9018,12 @@ createNode transform -n "footBack_R0_inpivot" -p "footBack_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 0.99999999999999978 1 1.0000000000000009 ; + setAttr ".s" -type "double3" 0.99999999999999978 1.0000000000000002 1.0000000000000009 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode nurbsCurve -n "footBack_R0_inpivotShape" -p "footBack_R0_inpivot"; - rename -uid "54FE8E8E-4AAC-0394-83FE-23A8D1D25256"; + rename -uid "DDC3925B-4EDF-E076-46EB-84978305EEAD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9018,8 +9035,8 @@ createNode nurbsCurve -n "footBack_R0_inpivotShape" -p "footBack_R0_inpivot"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "footBack_R0_inpivot10Shape" -p "footBack_R0_inpivot"; - rename -uid "D2324A28-4359-08C3-8C66-51BEFC969067"; +createNode nurbsCurve -n "footBack_R0_inpivot4Shape" -p "footBack_R0_inpivot"; + rename -uid "BAF45AF7-4A12-65AB-DF37-CFB22ACC30E5"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9031,8 +9048,8 @@ createNode nurbsCurve -n "footBack_R0_inpivot10Shape" -p "footBack_R0_inpivot"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "footBack_R0_inpivot11Shape" -p "footBack_R0_inpivot"; - rename -uid "B331EEAF-41CC-ECB2-30CF-768498882041"; +createNode nurbsCurve -n "footBack_R0_inpivot5Shape" -p "footBack_R0_inpivot"; + rename -uid "AD3F1EC7-457F-79AB-1EB0-BC9B20EE9A9A"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9044,8 +9061,8 @@ createNode nurbsCurve -n "footBack_R0_inpivot11Shape" -p "footBack_R0_inpivot"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "footBack_R0_inpivot12Shape" -p "footBack_R0_inpivot"; - rename -uid "66DC13F3-4C93-4E79-E025-8F9EBFF59CFA"; +createNode nurbsCurve -n "footBack_R0_inpivot6Shape" -p "footBack_R0_inpivot"; + rename -uid "7578B2BE-4DDE-7EE5-7010-A194812470FC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9062,8 +9079,8 @@ createNode nurbsCurve -n "footBack_R0_inpivot12Shape" -p "footBack_R0_inpivot"; 0 -0.1875 0 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_inpivot12_0crvShape" -p "footBack_R0_inpivot"; - rename -uid "C2DB332B-429F-FE84-754A-60AF4A5714F3"; +createNode nurbsCurve -n "footBack_R0_inpivot6_0crvShape" -p "footBack_R0_inpivot"; + rename -uid "2810C542-4FA1-D67B-0178-7CB056EEEBFC"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9080,8 +9097,8 @@ createNode nurbsCurve -n "footBack_R0_inpivot12_0crvShape" -p "footBack_R0_inpiv 0 0 -0.1875 -0.1875 0 0 ; -createNode nurbsCurve -n "footBack_R0_inpivot12_1crvShape" -p "footBack_R0_inpivot"; - rename -uid "6C5648F2-4300-55D7-9D27-A38BB523DF6B"; +createNode nurbsCurve -n "footBack_R0_inpivot6_1crvShape" -p "footBack_R0_inpivot"; + rename -uid "15FD54D8-4F8C-E139-C8EB-DD96721AA8E8"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9099,19 +9116,19 @@ createNode nurbsCurve -n "footBack_R0_inpivot12_1crvShape" -p "footBack_R0_inpiv 0 0 -0.1875 ; createNode transform -n "footBack_R0_1" -p "footBack_R0_root"; - rename -uid "2FC996E8-4F4B-34E9-3166-C7AB763B900D"; + rename -uid "FAC4F949-4FDF-8881-5EBF-ECB41C1EFB35"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -10.980332218718955 -0.49678747209357782 11.584116504196611 ; + setAttr ".t" -type "double3" -10.980332218718956 -0.49678747209357832 11.584116504196617 ; setAttr ".r" -type "double3" 0 179.99999999999997 0 ; - setAttr ".s" -type "double3" 8.6433157474725757 8.6433157474725739 -8.6433157474725792 ; + setAttr ".s" -type "double3" 8.6433157474725775 8.6433157474725739 -8.6433157474725792 ; createNode nurbsCurve -n "footBack_R0_Shape1" -p "footBack_R0_1"; - rename -uid "0C63E2F5-401A-3F47-A3DC-39AC326CCB7F"; + rename -uid "E7C7F59D-4673-D762-C667-1D939176D8BD"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "footBack_R0_Shape1Orig" -p "footBack_R0_1"; - rename -uid "71E5458A-4E02-6F61-BE07-D1945D9C2254"; + rename -uid "F8F04B7C-4354-B320-4B88-1BA308B3DA22"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -9125,7 +9142,7 @@ createNode nurbsCurve -n "footBack_R0_Shape1Orig" -p "footBack_R0_1"; 0 0 0 ; createNode transform -n "backLegUI_R0_root" -p "footBack_R0_root"; - rename -uid "64CB3A0C-4228-D181-8A5C-2D8D24C95658"; + rename -uid "628CC7A1-4B8B-D00E-AFA2-B3BAEC6F13FE"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "comp_type" -ln "comp_type" -dt "string"; addAttr -ci true -sn "comp_name" -ln "comp_name" -dt "string"; @@ -9137,7 +9154,7 @@ createNode transform -n "backLegUI_R0_root" -p "footBack_R0_root"; addAttr -ci true -sn "icon" -ln "icon" -dt "string"; addAttr -ci true -sn "ikrefarray" -ln "ikrefarray" -dt "string"; addAttr -ci true -sn "joint" -ln "joint" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "uniScale" -ln "uniScale" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "uniScale" -ln "uniScale" -dv 1 -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tx" -ln "k_tx" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_ty" -ln "k_ty" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_tz" -ln "k_tz" -min 0 -max 1 -at "bool"; @@ -9149,12 +9166,14 @@ createNode transform -n "backLegUI_R0_root" -p "footBack_R0_root"; addAttr -ci true -sn "k_sy" -ln "k_sy" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "k_sz" -ln "k_sz" -min 0 -max 1 -at "bool"; addAttr -ci true -sn "default_rotorder" -ln "default_rotorder" -min 0 -max 5 -at "long"; - addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "ctlSize" -ln "ctlSize" -at "double"; + addAttr -ci true -sn "neutralRotation" -ln "neutralRotation" -dv 1 -min 0 -max 1 + -at "bool"; + addAttr -ci true -sn "mirrorBehaviour" -ln "mirrorBehaviour" -min 0 -max 1 -at "bool"; + addAttr -ci true -sn "ctlSize" -ln "ctlSize" -dv 0.5 -at "double"; addAttr -ci true -sn "useIndex" -ln "useIndex" -min 0 -max 1 -at "bool"; - addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -at "long"; + addAttr -ci true -sn "parentJointIndex" -ln "parentJointIndex" -dv -1 -at "long"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" 7.9148715870389861 6.0337539388988519 -0.92016921390297313 ; + setAttr ".t" -type "double3" 7.9148715870389807 6.0337539388988546 -0.92016921390296602 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; @@ -9162,7 +9181,7 @@ createNode transform -n "backLegUI_R0_root" -p "footBack_R0_root"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 8.6433157474725739 8.6433157474725775 8.6433157474725828 ; + setAttr ".s" -type "double3" 8.6433157474725757 8.6433157474725792 8.6433157474725828 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; @@ -9174,12 +9193,8 @@ createNode transform -n "backLegUI_R0_root" -p "footBack_R0_root"; setAttr ".ctlGrp" -type "string" ""; setAttr ".icon" -type "string" "cross"; setAttr ".ikrefarray" -type "string" ""; - setAttr ".uniScale" yes; - setAttr ".neutralRotation" yes; - setAttr ".ctlSize" 0.5; - setAttr ".parentJointIndex" -1; createNode nurbsCurve -n "backLegUI_R0_rootShape" -p "backLegUI_R0_root"; - rename -uid "511F4F9E-4CED-445D-580C-5B831CB21702"; + rename -uid "9D15BB8A-46CF-F23F-9AE1-02A4A2D06442"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9191,8 +9206,8 @@ createNode nurbsCurve -n "backLegUI_R0_rootShape" -p "backLegUI_R0_root"; 0.25 0 0 -0.25 0 0 ; -createNode nurbsCurve -n "backLegUI_R0_root10Shape" -p "backLegUI_R0_root"; - rename -uid "7566C060-44B3-89A1-7682-7D94368E0394"; +createNode nurbsCurve -n "backLegUI_R0_root4Shape" -p "backLegUI_R0_root"; + rename -uid "7D00E214-4177-DCA9-1B5B-82B72A8F5724"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9204,8 +9219,8 @@ createNode nurbsCurve -n "backLegUI_R0_root10Shape" -p "backLegUI_R0_root"; 0 0.25 0 0 -0.25 0 ; -createNode nurbsCurve -n "backLegUI_R0_root11Shape" -p "backLegUI_R0_root"; - rename -uid "A54AB8AD-472D-8F62-DB6B-958A42ED77AA"; +createNode nurbsCurve -n "backLegUI_R0_root5Shape" -p "backLegUI_R0_root"; + rename -uid "E59E0832-4952-B571-C7ED-DF9193ACF4FD"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9217,8 +9232,8 @@ createNode nurbsCurve -n "backLegUI_R0_root11Shape" -p "backLegUI_R0_root"; 0 0 0.25 0 0 -0.25 ; -createNode nurbsCurve -n "backLegUI_R0_root12Shape" -p "backLegUI_R0_root"; - rename -uid "DD4D4C80-4713-D9E0-F221-1DAAA47F6BFB"; +createNode nurbsCurve -n "backLegUI_R0_root6Shape" -p "backLegUI_R0_root"; + rename -uid "6E8B09ED-426B-39D0-0226-9F9E7A0534E2"; setAttr ".ihi" 0; setAttr -k off ".v"; setAttr ".ove" yes; @@ -9245,36 +9260,35 @@ createNode nurbsCurve -n "backLegUI_R0_root12Shape" -p "backLegUI_R0_root"; -0.125 -0.125 -0.125 ; createNode transform -n "backLegUI_R0_sizeRef" -p "backLegUI_R0_root"; - rename -uid "3F9451D4-47B3-EBD8-B6A4-E2B0B540CF89"; + rename -uid "F8A26303-41E0-7716-33D4-C5BF602E3784"; addAttr -ci true -sn "isGearGuide" -ln "isGearGuide" -dv 1 -min 0 -max 1 -at "bool"; setAttr -k off -cb on ".v"; - setAttr ".t" -type "double3" -8.8817841970012523e-016 0 0.99999999999999956 ; + setAttr ".t" -type "double3" -4.4408920985006262e-016 1.1102230246251565e-016 0.99999999999999956 ; setAttr -k off -cb on ".tx"; setAttr -k off -cb on ".ty"; setAttr -k off -cb on ".tz"; - setAttr ".r" -type "double3" 0 179.99999999999997 0 ; setAttr -k off -cb on ".rx"; setAttr -k off -cb on ".ry"; setAttr -k off -cb on ".rz"; setAttr -cb on ".ro"; - setAttr ".s" -type "double3" 1.0000000000000002 0.99999999999999956 -0.99999999999999967 ; + setAttr ".s" -type "double3" 1.0000000000000004 0.99999999999999933 0.99999999999999967 ; setAttr -k off -cb on ".sx"; setAttr -k off -cb on ".sy"; setAttr -k off -cb on ".sz"; createNode transform -n "legBack_R0_crv1" -p "legBack_R0_root"; - rename -uid "EFA1D93E-4DC3-F5F6-B724-6090D77DA9DB"; + rename -uid "930F6C49-418E-9381-14A6-1B8BE78F1958"; setAttr ".ovdt" 1; setAttr ".ove" yes; - setAttr ".t" -type "double3" -1.7959711117807555 -3.2803056907023964 1.8090460715460535 ; - setAttr ".r" -type "double3" 0 179.99999999999997 0 ; + setAttr ".t" -type "double3" -1.7959711117807555 -3.2803056907023964 1.8090460715460541 ; + setAttr ".r" -type "double3" 0 180 0 ; setAttr ".s" -type "double3" 1.4137227438343885 1.413722743834388 -1.4137227438343878 ; createNode nurbsCurve -n "legBack_R0_crvShape1" -p "legBack_R0_crv1"; - rename -uid "F63DBDA6-486F-3F10-A2C4-2AB9D41C4ED4"; + rename -uid "348D1718-41BA-0000-3C0C-EAAED36C94D0"; setAttr -k off ".v"; setAttr -s 4 ".iog[0].og"; setAttr ".tw" yes; createNode nurbsCurve -n "legBack_R0_crvShape1Orig" -p "legBack_R0_crv1"; - rename -uid "52B710A4-425F-41B2-AD78-43B861B2D16E"; + rename -uid "D63B35F1-488E-35A1-34CD-F5AACD167CBD"; setAttr -k off ".v"; setAttr ".io" yes; setAttr ".cc" -type "nurbsCurve" @@ -9288,717 +9302,717 @@ createNode nurbsCurve -n "legBack_R0_crvShape1Orig" -p "legBack_R0_crv1"; 0 0 0 ; createNode lightLinker -s -n "lightLinker1"; - rename -uid "93C7E485-4303-96CB-3285-6998F488D1E1"; + rename -uid "6928B63B-4CB2-C38C-B04D-5F9986479C4D"; setAttr -s 2 ".lnk"; setAttr -s 2 ".slnk"; createNode shapeEditorManager -n "shapeEditorManager"; - rename -uid "4DBEB377-459F-32C6-F55C-5AAAF2C579C2"; + rename -uid "4F2FCCC8-4693-A422-5E13-CFA0ACE59619"; createNode poseInterpolatorManager -n "poseInterpolatorManager"; - rename -uid "C7C485D3-4234-7822-26D9-D9BFA07BD7D6"; + rename -uid "8B00DE24-422B-77A1-CE2B-12B4188D2ADC"; createNode displayLayerManager -n "layerManager"; - rename -uid "CDE0999F-463F-AC47-95D2-02BBD668E409"; + rename -uid "EC538FE5-4F66-16B0-D0EE-F8AC8150FD3D"; createNode displayLayer -n "defaultLayer"; - rename -uid "40709129-457B-A6AB-E667-2A9D9F646821"; + rename -uid "160727EA-4568-0465-2638-FBA688FB6A44"; createNode renderLayerManager -n "renderLayerManager"; - rename -uid "EC27F888-4D85-C0A4-6E2A-53BC243060AE"; + rename -uid "3B0A98D0-4187-DEBD-63B7-289C7032E904"; createNode renderLayer -n "defaultRenderLayer"; - rename -uid "B97D296A-45E0-9204-64D4-A189CDE26572"; + rename -uid "148C8E50-48C3-2544-0ED2-E59E92D8DE71"; setAttr ".g" yes; -createNode animCurveUU -n "spine_C0_root_st_profile"; - rename -uid "8B707449-4497-2FE4-1566-08901FF21A8F"; +createNode animCurveUU -n "spine_C0_root_st_profile1"; + rename -uid "C9D17E97-469F-3D0F-2DC2-FCAFEB60B7BA"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "spine_C0_root_sq_profile"; - rename -uid "F0CD71D0-4349-E26E-0E13-1A932BDAB7C3"; +createNode animCurveUU -n "spine_C0_root_sq_profile1"; + rename -uid "FA2FBC20-4ECA-B559-904F-69BF682D153F"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode unitConversion -n "unitConversion28"; - rename -uid "96509A29-4A64-92D0-B14C-7A956DFE8DD7"; +createNode unitConversion -n "unitConversion32"; + rename -uid "7454BA6C-4D72-A2E8-A2AA-EE893B82938C"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns156"; - rename -uid "C5AA862D-412C-5AF0-3D2F-07961A6A1E35"; +createNode mgear_curveCns -n "mgear_curveCns183"; + rename -uid "B4A759DC-496B-0B8B-3D8B-C198F74F96BD"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak156"; - rename -uid "16B63B40-47A3-0D2C-A4AF-409A2CEE8F64"; -createNode objectSet -n "mgear_curveCns156Set"; - rename -uid "3E1E0A33-4425-404D-7C6D-D2B526E3C1E1"; +createNode tweak -n "tweak183"; + rename -uid "50464DC8-432D-AF0D-FF1A-49B546659065"; +createNode objectSet -n "mgear_curveCns183Set"; + rename -uid "F7F6BC47-4CBA-8D0C-1A8B-32AF1C5E5BD8"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns156GroupId"; - rename -uid "BF989D7D-4B60-E68B-334C-3A87075F688B"; +createNode groupId -n "mgear_curveCns183GroupId"; + rename -uid "F4B09369-4112-C8A1-31B5-33BC8A558620"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns156GroupParts"; - rename -uid "3EE69B45-44E6-F7D5-2A35-E6AE2D633BD9"; +createNode groupParts -n "mgear_curveCns183GroupParts"; + rename -uid "79688A10-495A-2EED-5C6F-008466AECCB9"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet156"; - rename -uid "06C06E9A-40A8-4E9A-A7EE-0099709E8DA0"; +createNode objectSet -n "tweakSet183"; + rename -uid "62943B6F-420C-8572-F67A-8683A7F3A47F"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId312"; - rename -uid "90878D57-4C8D-1566-E11E-1EA0DAE6D2AE"; +createNode groupId -n "groupId366"; + rename -uid "13B73348-4D64-813B-E78A-8E84AA0B6BB9"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts312"; - rename -uid "911B24E1-4FEF-9A5F-7015-F0B1660E3D2C"; +createNode groupParts -n "groupParts366"; + rename -uid "D0FBBE72-467D-D922-4E8F-4FBD9F2B52D7"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode animCurveUU -n "neck_C0_root_st_profile"; - rename -uid "DA35A896-4EE6-275A-83CE-43B3BD6D6AED"; +createNode animCurveUU -n "neck_C0_root_st_profile1"; + rename -uid "EB6281D9-45F2-003A-4F15-5F966FD1C198"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "neck_C0_root_sq_profile"; - rename -uid "CFF724A1-4C18-65D2-FF15-8CBCF4B7054F"; +createNode animCurveUU -n "neck_C0_root_sq_profile1"; + rename -uid "BAB1C044-4DED-C3C4-78B6-BDA14C20948A"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode unitConversion -n "unitConversion29"; - rename -uid "A0E9D0B0-4E66-B072-50FD-1E950D8D1E54"; +createNode unitConversion -n "unitConversion33"; + rename -uid "5B295E9F-43A9-BCB4-23D4-9A8F677A8C4F"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns157"; - rename -uid "C8B66144-445A-BBA9-9FAB-A98EA8DEA17A"; +createNode mgear_curveCns -n "mgear_curveCns184"; + rename -uid "3EEEC1A5-46CA-DF93-E556-8BB32982BA3D"; setAttr -s 4 ".inputs"; -createNode tweak -n "tweak157"; - rename -uid "CAD750A3-4B39-E172-D55F-AEB9BB4CC076"; -createNode objectSet -n "mgear_curveCns157Set"; - rename -uid "E6108368-4FE5-C567-43D8-C69DC4CCAF55"; +createNode tweak -n "tweak184"; + rename -uid "B8257E47-4BEB-EBE5-AC34-1B822B146168"; +createNode objectSet -n "mgear_curveCns184Set"; + rename -uid "D1A3C72F-4C62-67A7-3A8F-B88FE5CB7E9B"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns157GroupId"; - rename -uid "BE10C042-442E-79E0-5EE0-2E823156CF11"; +createNode groupId -n "mgear_curveCns184GroupId"; + rename -uid "EE6D18CF-4D4B-BD23-86CE-6488747797DE"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns157GroupParts"; - rename -uid "1ADB0228-422A-3293-45D6-10A2F7C0942F"; +createNode groupParts -n "mgear_curveCns184GroupParts"; + rename -uid "6D45AECD-465A-50EC-1381-6F9432533BB7"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet157"; - rename -uid "D5FA85B0-48A3-EE95-1AB9-39914FE6F990"; +createNode objectSet -n "tweakSet184"; + rename -uid "54C6802E-43D8-843C-0568-A3BA7B0A9A87"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId314"; - rename -uid "83AB3ABC-43DC-494E-CCA6-0D914002FB24"; +createNode groupId -n "groupId368"; + rename -uid "47900F31-490E-FAAE-81B9-1DAABA9E6414"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts314"; - rename -uid "288A6D8D-465B-96A0-19D7-DCAADAFFA399"; +createNode groupParts -n "groupParts368"; + rename -uid "99865061-4384-0F39-8160-59B80D31EA0F"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns158"; - rename -uid "314DFD28-4CF3-CF82-A31B-60A37249A44F"; +createNode mgear_curveCns -n "mgear_curveCns185"; + rename -uid "FE94D78B-4D16-5587-5A29-F7BEB733DA9E"; setAttr -s 3 ".inputs"; -createNode tweak -n "tweak158"; - rename -uid "41017CDD-49A2-E9C8-FDD5-83B6BE9AEB25"; -createNode objectSet -n "mgear_curveCns158Set"; - rename -uid "B80917F9-4516-AB1C-06A6-CE8180C4FD15"; +createNode tweak -n "tweak185"; + rename -uid "25CB3D37-4CBF-CA0D-01F5-A4BA34D17DDA"; +createNode objectSet -n "mgear_curveCns185Set"; + rename -uid "AF9E256D-40BD-C01B-9F53-29BFA198E86F"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns158GroupId"; - rename -uid "3B4D5339-429F-7813-9FB4-0C9FB7102019"; +createNode groupId -n "mgear_curveCns185GroupId"; + rename -uid "67760A5E-49C7-FEF3-1CFE-DBBBBC1F0399"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns158GroupParts"; - rename -uid "D220A4EF-43C1-E2CD-3B17-2582B9209F44"; +createNode groupParts -n "mgear_curveCns185GroupParts"; + rename -uid "466FB98F-4560-9A26-69E0-32A80BA63863"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet158"; - rename -uid "0750809B-46A7-4CB7-9008-E599E9C5ED00"; +createNode objectSet -n "tweakSet185"; + rename -uid "5DFCD5F2-40E3-51D8-79AE-918E17F97A31"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId316"; - rename -uid "67A22DCF-48B4-DF0C-6528-27BFCD6FA19F"; +createNode groupId -n "groupId370"; + rename -uid "EAFB591D-491F-CBA0-3DC5-4288F3BEA2FF"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts316"; - rename -uid "F84A2F34-4BE8-E5C9-F9A6-A6B738FEB930"; +createNode groupParts -n "groupParts370"; + rename -uid "8499E0F4-48D6-834B-8B70-5F8D552B8665"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns159"; - rename -uid "1D8D3431-48A2-1E21-E10A-10B743D5BF29"; +createNode mgear_curveCns -n "mgear_curveCns186"; + rename -uid "A8846675-4F02-7EB3-7769-FEB44605E577"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak159"; - rename -uid "4260C27E-4C21-17CF-077A-578745B71D4F"; -createNode objectSet -n "mgear_curveCns159Set"; - rename -uid "53CB8572-453D-724E-86B2-FA931CC930EB"; +createNode tweak -n "tweak186"; + rename -uid "7A3048D5-4541-FCD3-BC43-42AA7E2B6CE1"; +createNode objectSet -n "mgear_curveCns186Set"; + rename -uid "CB97DA2C-4EFA-F696-E538-4EB17C143715"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns159GroupId"; - rename -uid "09DD7CC6-4175-291E-ABAA-388E551B32FD"; +createNode groupId -n "mgear_curveCns186GroupId"; + rename -uid "8C132B31-4664-8F63-E939-BB946EFAE8DE"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns159GroupParts"; - rename -uid "FBEAD94F-4473-CB69-A31B-CF874501455A"; +createNode groupParts -n "mgear_curveCns186GroupParts"; + rename -uid "B2C10EBB-45C3-B6F3-23AA-FE8F96A26772"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet159"; - rename -uid "FF808359-4504-0B7C-DD78-55B04E966040"; +createNode objectSet -n "tweakSet186"; + rename -uid "08B48BC0-484E-AFF7-34E4-9C9D2BB434AC"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId318"; - rename -uid "F119603A-4646-AF81-9ED4-4ABA74D2E05D"; +createNode groupId -n "groupId372"; + rename -uid "898EB5D0-4080-878C-1030-028A6EAF8E25"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts318"; - rename -uid "D841BC77-454F-AA05-C13C-E1BA9BD6A6C9"; +createNode groupParts -n "groupParts372"; + rename -uid "BCAA02C9-4CBC-F222-51CE-EA946FAE6B82"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns160"; - rename -uid "AB0F93F7-4514-7B70-23F1-59BB095DDE9F"; +createNode mgear_curveCns -n "mgear_curveCns187"; + rename -uid "591040AE-4077-EB3E-9CBE-A6943786490A"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak160"; - rename -uid "63E26BC4-4827-482F-3A2A-FA872C3F1A1E"; -createNode objectSet -n "mgear_curveCns160Set"; - rename -uid "426F84AC-4E09-E61B-0309-C8ABCAA51B06"; +createNode tweak -n "tweak187"; + rename -uid "79C8B6F1-4734-CCED-EC53-0DBC353CFD52"; +createNode objectSet -n "mgear_curveCns187Set"; + rename -uid "E9D78926-4F8B-2F46-11C1-56AFB1F48C35"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns160GroupId"; - rename -uid "A834F846-4EC2-3C0B-024D-D9870277441F"; +createNode groupId -n "mgear_curveCns187GroupId"; + rename -uid "C07F1610-4DF4-2B37-9904-F4BADEF8927D"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns160GroupParts"; - rename -uid "66D19F8F-4F8D-B6F4-FC98-6F9AF2CF1384"; +createNode groupParts -n "mgear_curveCns187GroupParts"; + rename -uid "6DF8C15B-47B3-1B9B-134F-2E9E85DC9AC1"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet160"; - rename -uid "0650854A-40C4-F434-D693-F78F9AA1D9A2"; +createNode objectSet -n "tweakSet187"; + rename -uid "9351A3FD-43C7-087E-EEC1-FD825FAE55D8"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId320"; - rename -uid "593A1712-4369-7FC2-0357-04B9D07F242A"; +createNode groupId -n "groupId374"; + rename -uid "EE4E7482-4D7B-8EAE-8CCD-78BB043983B2"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts320"; - rename -uid "AA6A9C8C-49AE-9528-8494-3FBA8B8FB57F"; +createNode groupParts -n "groupParts374"; + rename -uid "0C6A370B-48A2-FD2D-BBF0-9193336918C5"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns161"; - rename -uid "65989987-4ECE-FC43-F48D-AD9EB118F140"; +createNode mgear_curveCns -n "mgear_curveCns188"; + rename -uid "3856F211-4DB8-DC53-AA5E-2C85B81AD51F"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak161"; - rename -uid "2640FB75-47EA-6C4D-108C-D8B582FFEC84"; -createNode objectSet -n "mgear_curveCns161Set"; - rename -uid "94C91950-45E9-75C7-274F-10A100BCE19C"; +createNode tweak -n "tweak188"; + rename -uid "DB52CD60-46C3-76AD-C096-5EA19F1A08D3"; +createNode objectSet -n "mgear_curveCns188Set"; + rename -uid "C4A57F10-4D04-BA54-229B-64A809773EBC"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns161GroupId"; - rename -uid "26659E99-4254-FDB1-ECA6-3FB7E1DA2540"; +createNode groupId -n "mgear_curveCns188GroupId"; + rename -uid "5E8CDD3D-4587-037B-EB08-4AB7BB9C4ACB"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns161GroupParts"; - rename -uid "B0EEA446-4B9D-5C11-420E-A181414B0F66"; +createNode groupParts -n "mgear_curveCns188GroupParts"; + rename -uid "AEC4F2D1-4432-750A-952F-B39890749C79"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet161"; - rename -uid "3867B691-4A84-4B67-FFEF-A3A9DE774EB5"; +createNode objectSet -n "tweakSet188"; + rename -uid "CECE9CCB-4006-BD9A-610E-0FBF3477D1B3"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId322"; - rename -uid "FB8073E6-4959-AAE1-FD9A-A3998CFF5A82"; +createNode groupId -n "groupId376"; + rename -uid "8282C970-4A10-EA12-013C-14AA9990F048"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts322"; - rename -uid "74B993DA-422A-3D04-53AA-CBB080746F99"; +createNode groupParts -n "groupParts376"; + rename -uid "4283FC60-4E8E-A021-65F4-C399CDB06E92"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns162"; - rename -uid "20F084DC-4FEB-F4B9-5507-2C8469242B70"; +createNode mgear_curveCns -n "mgear_curveCns189"; + rename -uid "A1CA27B2-496A-6BB9-5707-39A1577C24E6"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak162"; - rename -uid "D4777AF2-40AC-C397-4658-5C8BF189FE5E"; -createNode objectSet -n "mgear_curveCns162Set"; - rename -uid "6E96B18F-462C-DC82-FC8E-8A9011051A1A"; +createNode tweak -n "tweak189"; + rename -uid "60DD30BA-43B8-B13E-2FB8-1B9F8EA8A393"; +createNode objectSet -n "mgear_curveCns189Set"; + rename -uid "270CA835-4F89-0E86-ED5B-8D932FE1BC5D"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns162GroupId"; - rename -uid "6F945B30-4296-0D2A-0D62-9D99C384BB0E"; +createNode groupId -n "mgear_curveCns189GroupId"; + rename -uid "1244F9A0-49A6-F404-5878-B28F98167790"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns162GroupParts"; - rename -uid "E9B682F2-42D6-8729-BF4B-CE9277520E5B"; +createNode groupParts -n "mgear_curveCns189GroupParts"; + rename -uid "81D9EB80-4B01-F426-F937-E9B060AECD49"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet162"; - rename -uid "278D37F9-4C0A-2F22-F720-8BB1E710456B"; +createNode objectSet -n "tweakSet189"; + rename -uid "FAD0A8F7-4AB9-4978-DE08-37A9BA3AB752"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId324"; - rename -uid "DBEB0758-401D-CABC-F5FA-AC8BB1903B0E"; +createNode groupId -n "groupId378"; + rename -uid "320E830A-46E8-C88F-7369-F48E17186773"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts324"; - rename -uid "CD995E76-4422-5D95-AAA4-FEABD9D67FE2"; +createNode groupParts -n "groupParts378"; + rename -uid "943192C7-4F36-742F-6F68-A99DEA81CD58"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns163"; - rename -uid "BDF61349-42B2-EC75-E478-7AA2D8E832B5"; +createNode mgear_curveCns -n "mgear_curveCns190"; + rename -uid "C84B6EA3-4F8F-74B5-3928-9C97AEA5AF4D"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak163"; - rename -uid "56B18511-456D-DEB7-DF68-05A2A5BD868C"; -createNode objectSet -n "mgear_curveCns163Set"; - rename -uid "151BA15C-40B4-CFAD-ACC7-F5BE079CD9DD"; +createNode tweak -n "tweak190"; + rename -uid "3F543231-44E3-C4CB-3D69-439B386686E4"; +createNode objectSet -n "mgear_curveCns190Set"; + rename -uid "94326E95-43B1-1064-CDCA-B5ACCC55C495"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns163GroupId"; - rename -uid "9106D4D1-4423-5C81-388E-B5BCF9938D9F"; +createNode groupId -n "mgear_curveCns190GroupId"; + rename -uid "3BBFE3D2-4EC2-005D-8CA9-0D8B5C314502"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns163GroupParts"; - rename -uid "25C0791C-419E-7450-76C0-0EA38100D8E5"; +createNode groupParts -n "mgear_curveCns190GroupParts"; + rename -uid "7BBA29C4-4591-4E56-551B-99A2B527ED22"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet163"; - rename -uid "837B9C31-418B-C242-CC4A-FFA681AE2B32"; +createNode objectSet -n "tweakSet190"; + rename -uid "F9C7471D-4FFC-7607-BAC7-4D9982022CCD"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId326"; - rename -uid "64AFDDCA-4CCD-4E51-7568-48A96A8358E9"; +createNode groupId -n "groupId380"; + rename -uid "5D60552F-45AF-B8B0-1BA2-7BBF5C741C9D"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts326"; - rename -uid "E35A59C3-4D10-77DD-5115-8FB716E6B505"; +createNode groupParts -n "groupParts380"; + rename -uid "371C4504-4BF6-2DAB-7B3F-96BBAF1988DD"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns164"; - rename -uid "47C713F5-44B7-F934-F6CA-B29F86666A9A"; +createNode mgear_curveCns -n "mgear_curveCns191"; + rename -uid "465FB26C-4701-16F6-5BE8-32BD7E4666D7"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak164"; - rename -uid "FDA69C6A-44AB-6E91-876E-49AAB63DAAA5"; -createNode objectSet -n "mgear_curveCns164Set"; - rename -uid "B9A2B1B2-4C9A-8363-8315-858DF43CB8D1"; +createNode tweak -n "tweak191"; + rename -uid "7E3D0E1F-49A8-DC60-3AB8-4D9287C62052"; +createNode objectSet -n "mgear_curveCns191Set"; + rename -uid "7E0BBC2F-4153-EC0E-8E7C-B7BDC3BADCEF"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns164GroupId"; - rename -uid "45486D85-442A-A938-2E76-F3898053DB9C"; +createNode groupId -n "mgear_curveCns191GroupId"; + rename -uid "165EB922-4B58-6D84-C1B4-078F9E40AEED"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns164GroupParts"; - rename -uid "A43F71A9-4276-EC14-A5CE-A38666BF78AD"; +createNode groupParts -n "mgear_curveCns191GroupParts"; + rename -uid "2CADA8D3-4937-82E5-0FCC-85B91F67DDFE"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet164"; - rename -uid "D8EB27FA-4748-B4FD-85C2-D38A464B9364"; +createNode objectSet -n "tweakSet191"; + rename -uid "7937EE14-451E-A510-604D-84A66762F47A"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId328"; - rename -uid "E53D3BE0-446D-8A50-5F00-FBADB39EE2FF"; +createNode groupId -n "groupId382"; + rename -uid "3815AE70-46EE-7BB3-C8DF-5DBB633F0082"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts328"; - rename -uid "5E78C159-4672-C8FC-0278-979AAC41D4BE"; +createNode groupParts -n "groupParts382"; + rename -uid "A6F2300E-42E0-97A3-06CF-AB9C99350BAF"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion30"; - rename -uid "D18CE609-4C27-49D1-DD19-D7B9457C51D3"; +createNode unitConversion -n "unitConversion34"; + rename -uid "2CE2613C-4CB8-E67D-07EC-A9BB9EBF9F7E"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns165"; - rename -uid "5643D44D-4BEF-C700-20AA-E6B70C55711C"; +createNode mgear_curveCns -n "mgear_curveCns192"; + rename -uid "183D9DF5-49ED-31FA-DEF2-2481CE9D1029"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak165"; - rename -uid "8850980F-4855-8BAD-326C-71BBAD232C1E"; -createNode objectSet -n "mgear_curveCns165Set"; - rename -uid "5A9ACFA1-4F47-8EC0-F33E-8594123C1EF6"; +createNode tweak -n "tweak192"; + rename -uid "5DEBB05C-4588-CB71-DB04-38B57024D3C9"; +createNode objectSet -n "mgear_curveCns192Set"; + rename -uid "85459B48-4AB8-B38D-88E9-FFA80B1EB8DB"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns165GroupId"; - rename -uid "A0091D70-4EFB-7046-F446-629E8F7A641D"; +createNode groupId -n "mgear_curveCns192GroupId"; + rename -uid "D80DBBFE-4592-EA10-70D9-A2971180E36F"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns165GroupParts"; - rename -uid "644F2E7B-42C3-B8A9-24B7-70AA0F36C4C0"; +createNode groupParts -n "mgear_curveCns192GroupParts"; + rename -uid "D3D9B12C-40C5-F232-D330-8CAD1CDCE7B2"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet165"; - rename -uid "ACD958A4-49CC-556C-C91E-FFA087EB0CD5"; +createNode objectSet -n "tweakSet192"; + rename -uid "E3D17D87-404C-11EB-041C-F89335D43487"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId330"; - rename -uid "AB82A7C9-4C44-0092-5F48-C0AD9D176E27"; +createNode groupId -n "groupId384"; + rename -uid "403342E4-4278-1FA3-BFD7-B28F1D8E3F79"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts330"; - rename -uid "344D9E10-4777-ABED-9F92-0CB57E878A37"; +createNode groupParts -n "groupParts384"; + rename -uid "D7C832AB-4C86-E9EC-E295-E5A40801A6B0"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode animCurveUU -n "legFront_L0_root_st_profile"; - rename -uid "C3869D4B-4999-742A-742E-FDA8EB26498E"; +createNode animCurveUU -n "legFront_L0_root_st_profile1"; + rename -uid "F7F5A93E-4C11-87E7-58B0-B48781E4E4EB"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "legFront_L0_root_sq_profile"; - rename -uid "1315400A-4E2D-1939-D74A-0DB3D5B7EC23"; +createNode animCurveUU -n "legFront_L0_root_sq_profile1"; + rename -uid "A5EA90AB-46F8-ADC3-6AD3-9588B1DE16D0"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode mgear_curveCns -n "mgear_curveCns166"; - rename -uid "BC4B8F3B-414A-4089-E0E2-9187C78049F0"; +createNode mgear_curveCns -n "mgear_curveCns193"; + rename -uid "4D953076-468C-1A27-4607-B884CF1F7874"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak166"; - rename -uid "AE41667C-4B28-A16B-3BD2-90A0EF7D17A9"; -createNode objectSet -n "mgear_curveCns166Set"; - rename -uid "506AC780-46EB-5034-09B0-5D862BD72001"; +createNode tweak -n "tweak193"; + rename -uid "0C833A5B-471B-FA2C-B560-DABBE087A13C"; +createNode objectSet -n "mgear_curveCns193Set"; + rename -uid "87DF384F-450C-3631-FFF2-ECB3B716B379"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns166GroupId"; - rename -uid "7960FB42-434D-C329-BE94-7BAC801E010F"; +createNode groupId -n "mgear_curveCns193GroupId"; + rename -uid "4EBDE493-49C2-1801-E65A-C2A8BCD8B76D"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns166GroupParts"; - rename -uid "4EA25501-40F0-4BD2-671F-38A46D68A919"; +createNode groupParts -n "mgear_curveCns193GroupParts"; + rename -uid "37EF4893-451B-6A3E-D569-D0A4EAD2CE3F"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet166"; - rename -uid "FA6D515B-457B-F85B-3510-6CA5EB6A56E1"; +createNode objectSet -n "tweakSet193"; + rename -uid "86B22D4F-4B82-298E-04DB-6186DDACBBF7"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId332"; - rename -uid "36E99FBF-4563-A2C4-8040-F9B47D829954"; +createNode groupId -n "groupId386"; + rename -uid "7DB88CB3-4F9F-D65F-C716-8588C4334413"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts332"; - rename -uid "207FB194-478B-95F9-E249-879A1BC3B186"; +createNode groupParts -n "groupParts386"; + rename -uid "CC0D316B-4FA8-8AF0-2DBB-2799F39EEA79"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns167"; - rename -uid "6CD80CAD-4379-479F-FF2D-C2946EA362F4"; +createNode mgear_curveCns -n "mgear_curveCns194"; + rename -uid "6665B84D-479B-4CB4-D16C-F9A6CD3E5C73"; setAttr -s 3 ".inputs"; -createNode tweak -n "tweak167"; - rename -uid "6C71795C-40F3-182B-2CDC-3FAA3020A072"; -createNode objectSet -n "mgear_curveCns167Set"; - rename -uid "359CB00A-4C56-46C7-4736-D99F1DBF9F75"; +createNode tweak -n "tweak194"; + rename -uid "740991D3-4247-7074-DD6D-E38CDA300760"; +createNode objectSet -n "mgear_curveCns194Set"; + rename -uid "5248003A-40BC-698C-1865-0585754ED983"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns167GroupId"; - rename -uid "D4C42FD6-432D-E3DF-AB40-679F110A7BCA"; +createNode groupId -n "mgear_curveCns194GroupId"; + rename -uid "E3C39CA2-4C96-11BD-BFF9-508C314786C1"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns167GroupParts"; - rename -uid "2F146C15-43DE-1186-C51D-1280771541B7"; +createNode groupParts -n "mgear_curveCns194GroupParts"; + rename -uid "D2A38D49-4BBB-94C8-F80C-34A90A68B89C"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet167"; - rename -uid "018892C5-4515-F1EC-734F-109E51155F50"; +createNode objectSet -n "tweakSet194"; + rename -uid "B2C5BA6A-46AD-81E0-C1B2-29928DFA64FA"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId334"; - rename -uid "E37EC78D-4FAA-1C4E-E288-E38C18B05E2A"; +createNode groupId -n "groupId388"; + rename -uid "F43DB70F-4705-C981-B684-258C29873E3F"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts334"; - rename -uid "03A8D3D5-455E-E41A-9F71-44B7C59FFBDF"; +createNode groupParts -n "groupParts388"; + rename -uid "36EF0DEE-4620-5484-504F-BD9C8BE9BCD6"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns168"; - rename -uid "833242B9-4CB8-94BD-7410-3496C828554B"; +createNode mgear_curveCns -n "mgear_curveCns195"; + rename -uid "DD725DA7-4EF1-BF51-E708-029D55AF9B57"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak168"; - rename -uid "5E30BA4D-4D04-A71A-2811-AEBACD998E68"; -createNode objectSet -n "mgear_curveCns168Set"; - rename -uid "D3B3AB76-494D-5B23-F2E0-89AF041626E7"; +createNode tweak -n "tweak195"; + rename -uid "50752A76-4E45-2F02-6808-3498ED398A2A"; +createNode objectSet -n "mgear_curveCns195Set"; + rename -uid "7504D07A-42F3-31A8-B114-D383B996B09C"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns168GroupId"; - rename -uid "E62C001E-4E51-1134-7631-AABEE2EF3F7D"; +createNode groupId -n "mgear_curveCns195GroupId"; + rename -uid "6C28D4BD-43EA-918A-9E35-2A8FC10D5FB9"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns168GroupParts"; - rename -uid "40AFAD35-486F-E4D3-57C8-BB937560AE3D"; +createNode groupParts -n "mgear_curveCns195GroupParts"; + rename -uid "F5DBDC78-46FD-3E3E-F835-0A8A7B9F2299"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet168"; - rename -uid "4A292368-4733-16FA-C131-5CA9665D434E"; +createNode objectSet -n "tweakSet195"; + rename -uid "603C8EA7-4B4E-F029-2743-9E9420DC1804"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId336"; - rename -uid "5D0F0178-4EF1-D5C9-DA35-BAB34BDC1E90"; +createNode groupId -n "groupId390"; + rename -uid "5D6968F4-4233-6868-5705-0BAFFAC45D43"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts336"; - rename -uid "42FAEF46-4249-6F51-DFDC-27B9CE5A857B"; +createNode groupParts -n "groupParts390"; + rename -uid "6D86B320-4A08-28C1-137E-6FA3C48865D3"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode unitConversion -n "unitConversion31"; - rename -uid "76384CFE-4055-E77A-69F8-F29563A7FA40"; +createNode unitConversion -n "unitConversion35"; + rename -uid "1A60D4D8-4BCC-7839-5AAB-8EABC7FA4200"; setAttr ".cf" 0.017453292519943295; -createNode mgear_curveCns -n "mgear_curveCns169"; - rename -uid "9F8999F3-4505-5F95-A8BD-F2B0489480AA"; +createNode mgear_curveCns -n "mgear_curveCns196"; + rename -uid "838F2F68-4BD7-9779-DD61-D6936A4ADCAB"; setAttr -s 2 ".inputs"; -createNode tweak -n "tweak169"; - rename -uid "98B73279-4E70-6E10-7A24-3A9CDC370292"; -createNode objectSet -n "mgear_curveCns169Set"; - rename -uid "38E910D5-4169-278C-F5BF-BCBC91340CF6"; +createNode tweak -n "tweak196"; + rename -uid "2200686D-4E89-CEC0-1FCE-50A1EC26E467"; +createNode objectSet -n "mgear_curveCns196Set"; + rename -uid "17C06CC9-4F1F-9597-C50F-8FBBD5718657"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns169GroupId"; - rename -uid "B75D1C09-455E-CE4C-EBF9-878FA52D9FA1"; +createNode groupId -n "mgear_curveCns196GroupId"; + rename -uid "422D0EA8-4C26-D192-B60A-85B060D4AC95"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns169GroupParts"; - rename -uid "456FF947-456E-E9A7-0F06-7DA89B703815"; +createNode groupParts -n "mgear_curveCns196GroupParts"; + rename -uid "66E992B4-4699-75AD-5C21-9D91BF9A4FD6"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet169"; - rename -uid "13A161CD-484D-24B4-92C9-BABFFE7452E5"; +createNode objectSet -n "tweakSet196"; + rename -uid "0A7D1DA3-4B97-AE86-30AA-27AC6B39B10B"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId338"; - rename -uid "A8ECD95E-4F6C-89ED-563D-908C1DCB8790"; +createNode groupId -n "groupId392"; + rename -uid "6BE19E6B-445E-D05D-D0EA-3DBCE82F9A58"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts338"; - rename -uid "EC0F1ECF-470D-7640-F5D3-0ABF179FB16E"; +createNode groupParts -n "groupParts392"; + rename -uid "D4DD9505-4F3C-4B8F-F301-23AB39EA0609"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; createNode animCurveUU -n "legFront_R0_root_st_profile1"; - rename -uid "B353E694-41E0-74F4-F123-C6941938991E"; + rename -uid "9E7CFC7D-4AAC-4324-710B-FBB924DFCD76"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; createNode animCurveUU -n "legFront_R0_root_sq_profile1"; - rename -uid "21A72F7E-4B67-EC0B-81BE-1280AB1072E1"; + rename -uid "16B19B37-413D-C191-14D1-3C8C0A89E044"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode mgear_curveCns -n "mgear_curveCns170"; - rename -uid "3F1175B6-4FD2-90D8-238F-09A93398C438"; +createNode mgear_curveCns -n "mgear_curveCns197"; + rename -uid "F021B733-47A6-75A0-1D40-97BF57FFEF54"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak170"; - rename -uid "189A9E93-47A7-B771-DDB3-CB93A7DA1404"; -createNode objectSet -n "mgear_curveCns170Set"; - rename -uid "8B1F2E75-47A7-C940-D185-43A321874EBF"; +createNode tweak -n "tweak197"; + rename -uid "FFE48F12-48DC-B8E2-5A8B-AFAFA65077CF"; +createNode objectSet -n "mgear_curveCns197Set"; + rename -uid "F416CAD4-41E9-AE88-D526-53814E65808D"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns170GroupId"; - rename -uid "E5814F05-4B7A-77D8-AA10-9D97F04E384C"; +createNode groupId -n "mgear_curveCns197GroupId"; + rename -uid "97E2B5A3-49D4-1372-6EB8-D3AB4669792A"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns170GroupParts"; - rename -uid "08D11788-4C08-ACF6-00EA-45AF589D8F6F"; +createNode groupParts -n "mgear_curveCns197GroupParts"; + rename -uid "A25AF003-497F-4EBA-C237-BCA73C4DEFE8"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet170"; - rename -uid "C39E33F5-4D74-94A9-96B5-D2A0D261E489"; +createNode objectSet -n "tweakSet197"; + rename -uid "EA65AC90-461D-2A0A-7405-6080B9A38D30"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId340"; - rename -uid "89C1DAC0-42AD-9551-9C5B-89B185DFAEC6"; +createNode groupId -n "groupId394"; + rename -uid "4A2EF0D4-43C9-8077-E807-61BAB3879CB1"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts340"; - rename -uid "575F0C40-40A3-DD97-D19B-00B6374BEDD9"; +createNode groupParts -n "groupParts394"; + rename -uid "821D8376-47B1-0EEC-98C8-829965089C7B"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns171"; - rename -uid "D5414F9C-41E2-F38B-37D0-13ACB64F3032"; +createNode mgear_curveCns -n "mgear_curveCns198"; + rename -uid "864A0153-4870-DB45-D813-52850C466A02"; setAttr -s 3 ".inputs"; -createNode tweak -n "tweak171"; - rename -uid "DD1C1F2F-4096-2D7F-F0E4-4D93E3F7D8AC"; -createNode objectSet -n "mgear_curveCns171Set"; - rename -uid "E7DDF14D-48AE-882E-802C-72BD82E0BA33"; +createNode tweak -n "tweak198"; + rename -uid "1CB7503B-43A3-ECFE-78CD-34942379508C"; +createNode objectSet -n "mgear_curveCns198Set"; + rename -uid "580384FC-44B6-8EA0-63CE-5A90BB2C7E4F"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns171GroupId"; - rename -uid "9D2D2AE1-49C8-3066-B20C-7AB62297F487"; +createNode groupId -n "mgear_curveCns198GroupId"; + rename -uid "D1F70E33-4D58-D433-A53B-159FBA2016F0"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns171GroupParts"; - rename -uid "DACFB03E-4CF3-782C-B226-64B19804378A"; +createNode groupParts -n "mgear_curveCns198GroupParts"; + rename -uid "30D2F809-47A7-0D47-2F20-2597F7E14E38"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet171"; - rename -uid "B59F8A00-453C-4E14-DFB1-D891B6EDDF62"; +createNode objectSet -n "tweakSet198"; + rename -uid "75776081-438D-3618-FEF6-F3B2BEB47375"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId342"; - rename -uid "894E2231-4170-3F91-EA57-0B845D0555D3"; +createNode groupId -n "groupId396"; + rename -uid "286ECEE2-4D96-4194-BF1C-FEB242579148"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts342"; - rename -uid "86DEC75D-452B-48D3-51E2-F68D09A8ECC5"; +createNode groupParts -n "groupParts396"; + rename -uid "392053D1-44F8-2B1E-3A19-1C8DF3540447"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns172"; - rename -uid "68205D6B-4F7D-D553-EC54-D8B71259F978"; +createNode mgear_curveCns -n "mgear_curveCns199"; + rename -uid "44373E99-410D-A4D1-147C-569AD4C6647E"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak172"; - rename -uid "E8ECB3AE-4D25-8E53-5712-C594B3DF1F2A"; -createNode objectSet -n "mgear_curveCns172Set"; - rename -uid "0BE439FA-4022-3D9A-CBD3-C3BF3F668E46"; +createNode tweak -n "tweak199"; + rename -uid "8C620EA3-42F0-958B-E12D-A1A7A0E7DC6C"; +createNode objectSet -n "mgear_curveCns199Set"; + rename -uid "A644DB62-42D4-78F3-5912-959E17387D30"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns172GroupId"; - rename -uid "524FD986-400F-FB2E-796B-5AB9A91B43E2"; +createNode groupId -n "mgear_curveCns199GroupId"; + rename -uid "B1CFF983-4B8B-9827-15EC-5CB003A6F216"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns172GroupParts"; - rename -uid "5FEBD2E6-452F-D62F-04B6-CEB42B48A844"; +createNode groupParts -n "mgear_curveCns199GroupParts"; + rename -uid "34E3E80B-4605-9098-0F80-E7A72223DC63"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet172"; - rename -uid "A7836C9B-4DDC-DF0B-CA01-FE90CF163007"; +createNode objectSet -n "tweakSet199"; + rename -uid "09FD9EE3-47A4-82F0-14BF-E2AB03CEBB5F"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId344"; - rename -uid "0D4881CE-46E0-5BF6-DD76-04B8C99E0FF1"; +createNode groupId -n "groupId398"; + rename -uid "E843ECE3-4D95-69EF-B5CD-199FED311FB5"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts344"; - rename -uid "BB4A809E-4143-3FA0-2513-EDBDC7291EBC"; +createNode groupParts -n "groupParts398"; + rename -uid "1A6F68EE-49B9-7AC6-0924-D5BDF324A168"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode animCurveUU -n "legBack_L0_root_st_profile"; - rename -uid "B3975D5F-477D-BC21-8EFB-7582AB48F958"; +createNode animCurveUU -n "legBack_L0_root_st_profile1"; + rename -uid "63753751-43C6-81C1-8631-AAADBC494538"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; -createNode animCurveUU -n "legBack_L0_root_sq_profile"; - rename -uid "E0DA62F0-41E0-F311-C475-7E9633245CEA"; +createNode animCurveUU -n "legBack_L0_root_sq_profile1"; + rename -uid "754BF9F3-4ABE-2C6D-9510-47B1DC667B14"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode mgear_curveCns -n "mgear_curveCns173"; - rename -uid "2691639B-40E8-B5B0-A971-39B8F5BD975C"; +createNode mgear_curveCns -n "mgear_curveCns200"; + rename -uid "59538381-4D37-CE33-2707-A1A80EBDBDC4"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak173"; - rename -uid "4F9958C0-4CCF-DF94-77E2-989EAC8C9BFC"; -createNode objectSet -n "mgear_curveCns173Set"; - rename -uid "A429CC12-42C2-17AD-8A25-B7887815AA13"; +createNode tweak -n "tweak200"; + rename -uid "17E622B4-45D9-7248-EA40-69B3552075EC"; +createNode objectSet -n "mgear_curveCns200Set"; + rename -uid "710E5537-4B48-A311-E15D-E3936AB1E1E1"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns173GroupId"; - rename -uid "353A1896-4F59-BE6C-1AE4-F499B9B75FE6"; +createNode groupId -n "mgear_curveCns200GroupId"; + rename -uid "2EF4A523-4174-F2B8-F0A7-C59F0B4A8E95"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns173GroupParts"; - rename -uid "B5362FAE-4218-DAC7-CC2D-15A36E34944A"; +createNode groupParts -n "mgear_curveCns200GroupParts"; + rename -uid "70F7F6C1-4FC6-FB9E-756E-528859E779CC"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet173"; - rename -uid "161BA580-4053-88F9-2CA7-EBA553CFEE4C"; +createNode objectSet -n "tweakSet200"; + rename -uid "124AF794-40D0-9137-C69B-FEA79CDEF9BE"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId346"; - rename -uid "89614773-45ED-2F1A-B812-2E85E26FD618"; +createNode groupId -n "groupId400"; + rename -uid "777C0B77-41E4-E081-732A-7B8387DC59EC"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts346"; - rename -uid "C4B03F32-494D-856E-34F4-769EE046E49E"; +createNode groupParts -n "groupParts400"; + rename -uid "BECCA4A3-432D-7553-75B7-33ADA4A71117"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns174"; - rename -uid "DE90DC18-478F-0942-06D7-07A62A0E41A1"; +createNode mgear_curveCns -n "mgear_curveCns201"; + rename -uid "C93EB88D-46F3-5D97-90BF-648DD5CE9566"; setAttr -s 3 ".inputs"; -createNode tweak -n "tweak174"; - rename -uid "DE0893B3-4B7C-2D55-E60B-8886CE785EDD"; -createNode objectSet -n "mgear_curveCns174Set"; - rename -uid "17061297-4176-68A9-CFE9-A682FB1E515E"; +createNode tweak -n "tweak201"; + rename -uid "E2C3C30F-4263-A620-3F1C-F8AFA38DB8D1"; +createNode objectSet -n "mgear_curveCns201Set"; + rename -uid "7E5A9F10-4B3B-A5BF-A449-DC8E0DAC91B0"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns174GroupId"; - rename -uid "311DBBFC-4C1F-44F4-D0CA-19B97A5D6D39"; +createNode groupId -n "mgear_curveCns201GroupId"; + rename -uid "17C29421-48B7-FA2F-F4E6-FA88463BB1C8"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns174GroupParts"; - rename -uid "9573D7E9-433E-C642-3955-93B7EF7C8E7E"; +createNode groupParts -n "mgear_curveCns201GroupParts"; + rename -uid "BF0FC7E0-43EC-2F7D-35A9-3D9F6473E0A9"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet174"; - rename -uid "C73AEF42-4B5B-9047-3A05-898D65C56076"; +createNode objectSet -n "tweakSet201"; + rename -uid "4969C409-42B6-1CA3-C6DD-CD85F1071D91"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId348"; - rename -uid "EFAC62EA-45E1-E0E2-2417-F4A8553C6B8E"; +createNode groupId -n "groupId402"; + rename -uid "6B9D457E-4DDA-671A-BF75-F383B57CDEDB"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts348"; - rename -uid "8F0C4CBF-4DD8-9CD6-6CA1-6ABF351437AD"; +createNode groupParts -n "groupParts402"; + rename -uid "98F76D13-4141-AE05-EB34-2F80034DEF0F"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns175"; - rename -uid "0EA85973-4584-52C9-4CBC-9D83F1DE5E93"; +createNode mgear_curveCns -n "mgear_curveCns202"; + rename -uid "8A38D017-4C1E-1722-A46A-B58A8411EFA0"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak175"; - rename -uid "1DEA8AF1-4CE3-F935-C6BA-01AADDBA407B"; -createNode objectSet -n "mgear_curveCns175Set"; - rename -uid "D48AECC8-47E7-5884-CF13-178DFFB5429C"; +createNode tweak -n "tweak202"; + rename -uid "6B0306D7-46D0-8760-E899-29B958429795"; +createNode objectSet -n "mgear_curveCns202Set"; + rename -uid "FDA6F2C3-45D8-18BE-4120-0ABC757D2D9B"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns175GroupId"; - rename -uid "2589CEA3-45FD-E9AC-1E5B-B6BCA5247BBF"; +createNode groupId -n "mgear_curveCns202GroupId"; + rename -uid "D2390497-4C11-7BBC-5FCB-8C807379D377"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns175GroupParts"; - rename -uid "2BFB05AF-4014-8145-6565-52B68427512D"; +createNode groupParts -n "mgear_curveCns202GroupParts"; + rename -uid "F0200884-4811-BD41-2945-9AB4020D925A"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet175"; - rename -uid "D145B439-43B2-B3B8-C9E0-63BC5009575A"; +createNode objectSet -n "tweakSet202"; + rename -uid "B74F179E-4301-F308-85F7-74A0BD95CCC9"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId350"; - rename -uid "49642724-4B58-8492-2C1F-469E48424326"; +createNode groupId -n "groupId404"; + rename -uid "FF40C057-41A6-F9DE-7301-A989619F3022"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts350"; - rename -uid "0E80CC64-40EF-FB06-14E8-27B7EB9DC7FF"; +createNode groupParts -n "groupParts404"; + rename -uid "16DCCB9C-49F6-AECE-9704-A6A67CC94F53"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; createNode animCurveUU -n "legBack_R0_root_st_profile1"; - rename -uid "9350AA38-4FFF-A411-5F18-42AE08F27D4C"; + rename -uid "AB613EC9-4EC5-C65C-C865-18B78AB7D01D"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 -1 1 0; createNode animCurveUU -n "legBack_R0_root_sq_profile1"; - rename -uid "E2B09E25-4A2C-CE4E-16D1-43ABB9EE683E"; + rename -uid "63D80007-4272-E7D5-463F-8980C0546355"; setAttr ".tan" 18; setAttr ".wgt" no; setAttr -s 3 ".ktv[0:2]" 0 0 0.5 1 1 0; -createNode mgear_curveCns -n "mgear_curveCns176"; - rename -uid "8320FC91-4B79-B89A-190B-E48CDDEB77B8"; +createNode mgear_curveCns -n "mgear_curveCns203"; + rename -uid "B5BD0D76-4CB8-73CE-23AE-F0B57234E7C3"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak176"; - rename -uid "E3239CF0-485C-0156-175A-6BAD6419ADCF"; -createNode objectSet -n "mgear_curveCns176Set"; - rename -uid "7E6CD5C8-4E3C-A65A-82A0-CDBF6DAB01A8"; +createNode tweak -n "tweak203"; + rename -uid "69B612D3-414A-73B2-FC72-E3AE37CBB476"; +createNode objectSet -n "mgear_curveCns203Set"; + rename -uid "CFDFC27B-4C6F-6AE1-C062-ECA30AF28EDF"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns176GroupId"; - rename -uid "9EF45AAF-4299-BAF0-A3F3-9CBA09D5E664"; +createNode groupId -n "mgear_curveCns203GroupId"; + rename -uid "858FCD7E-4821-3DB6-3737-7AA1D132890A"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns176GroupParts"; - rename -uid "CAFFF4A9-4D9A-B0BF-BB6D-AF92809F0FAE"; +createNode groupParts -n "mgear_curveCns203GroupParts"; + rename -uid "ACE3E8F7-435B-6E27-7D3E-D18EE454DC4D"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet176"; - rename -uid "DE4CB701-4FE4-EEFA-AA8D-C7B857E57AD5"; +createNode objectSet -n "tweakSet203"; + rename -uid "FD62A262-4B76-C1EA-DCF6-388EAA0ED048"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId352"; - rename -uid "DE3C9121-43D0-3DB0-BC43-0BAF18381F03"; +createNode groupId -n "groupId406"; + rename -uid "F89D4A34-43D9-1540-E284-9CBB96C3D770"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts352"; - rename -uid "F95FF5A7-4087-5860-701B-F3B6544AB376"; +createNode groupParts -n "groupParts406"; + rename -uid "C455165E-44C6-B92F-7685-59A40013735B"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns177"; - rename -uid "E3282429-4243-8464-26FB-FEA6038E630F"; +createNode mgear_curveCns -n "mgear_curveCns204"; + rename -uid "58CA756D-4320-370A-0C92-9EBDDFA9F960"; setAttr -s 3 ".inputs"; -createNode tweak -n "tweak177"; - rename -uid "238A466A-40BD-C7B2-510F-9CB0279C09E8"; -createNode objectSet -n "mgear_curveCns177Set"; - rename -uid "2B568F12-4799-A3E4-0CFB-CB85526BE39B"; +createNode tweak -n "tweak204"; + rename -uid "77B337D4-408A-9FC5-8078-3784AD709307"; +createNode objectSet -n "mgear_curveCns204Set"; + rename -uid "E43362B7-4844-3EB4-EE24-22915DCF8DDA"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns177GroupId"; - rename -uid "FAC01436-41B5-1610-2C93-BFB062691B23"; +createNode groupId -n "mgear_curveCns204GroupId"; + rename -uid "746C564D-4781-09D7-5A7C-589F6E46D923"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns177GroupParts"; - rename -uid "CB3AAA4B-4AF6-CA75-8377-61BD58F7EA09"; +createNode groupParts -n "mgear_curveCns204GroupParts"; + rename -uid "5E50172D-444A-DDA6-21F6-F7BF094D2155"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet177"; - rename -uid "B8467281-4606-8E73-B01A-4797C09D767A"; +createNode objectSet -n "tweakSet204"; + rename -uid "786B8472-4114-07E6-5D8D-90A5E6EF6218"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId354"; - rename -uid "39101786-4137-DB3E-4A00-D18E6E96FDDE"; +createNode groupId -n "groupId408"; + rename -uid "BCDDAF94-4BD2-14B3-BD9C-0084767D779C"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts354"; - rename -uid "D215140D-4872-0B23-F870-15A3E4A8DF04"; +createNode groupParts -n "groupParts408"; + rename -uid "5B6ABFB3-4743-44A7-C4A0-8BB645A3EBE8"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode mgear_curveCns -n "mgear_curveCns178"; - rename -uid "F0AD36CD-448D-681B-C621-89AEABEC6D8F"; +createNode mgear_curveCns -n "mgear_curveCns205"; + rename -uid "AE4CEC41-4FD6-6751-A7B4-A79EEFC27C1A"; setAttr -s 5 ".inputs"; -createNode tweak -n "tweak178"; - rename -uid "84FA6E59-45F1-FB67-94A1-DC831EF4EF69"; -createNode objectSet -n "mgear_curveCns178Set"; - rename -uid "FC4F9AE9-4426-A0D8-F8BC-75A9FFC5E890"; +createNode tweak -n "tweak205"; + rename -uid "67DC8234-449C-E2BC-98DA-B382B7E21F5D"; +createNode objectSet -n "mgear_curveCns205Set"; + rename -uid "09E0ADDE-4A50-AFBC-7F97-829EDAED0424"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "mgear_curveCns178GroupId"; - rename -uid "212E36F4-4420-94D9-8E9D-649B1559B9E0"; +createNode groupId -n "mgear_curveCns205GroupId"; + rename -uid "964C6F63-48E8-551E-53DA-8A826946B5D4"; setAttr ".ihi" 0; -createNode groupParts -n "mgear_curveCns178GroupParts"; - rename -uid "DDE83F2D-4DB2-898C-1E7E-F4B45C788885"; +createNode groupParts -n "mgear_curveCns205GroupParts"; + rename -uid "29EF41E9-44F2-5C80-A379-EBB087824CF0"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; -createNode objectSet -n "tweakSet178"; - rename -uid "A114E36F-436F-716D-8C40-E9899D48B8E1"; +createNode objectSet -n "tweakSet205"; + rename -uid "0D231BD4-4193-63AA-85C8-CB8D8F7EFF52"; setAttr ".ihi" 0; setAttr ".vo" yes; -createNode groupId -n "groupId356"; - rename -uid "505D23C4-4E30-CBD0-6CD4-88BAB06C02CA"; +createNode groupId -n "groupId410"; + rename -uid "12667403-4AFD-7524-9712-30A5BCC2D350"; setAttr ".ihi" 0; -createNode groupParts -n "groupParts356"; - rename -uid "3405FA4E-4586-77EB-5A22-E5892B6C26EB"; +createNode groupParts -n "groupParts410"; + rename -uid "D32F9A9F-4A55-0D37-50D1-47AAEE96DEB2"; setAttr ".ihi" 0; setAttr ".ic" -type "componentList" 1 "cv[*]"; createNode script -n "uiConfigurationScriptNode"; - rename -uid "9D260E86-4658-287B-6D80-20AC96BD2D1E"; + rename -uid "1F8008E2-497C-466B-5D53-D49D1586B774"; setAttr ".b" -type "string" ( "// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n" + " -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n" @@ -10023,24 +10037,24 @@ createNode script -n "uiConfigurationScriptNode"; + " -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `modelPanel -unParent -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n" + " -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n" + " -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n" - + " -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1135\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\t}\n\t} else {\n" + + " -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1300\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\t}\n\t} else {\n" + "\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n" + " -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n" - + " -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1135\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n" - + " -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n" - + " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n" - + " -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n" - + " -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n" - + " -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n" - + " -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n" - + " -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n" - + " outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n" - + " -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n" - + " -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n" - + "\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n" - + " -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n" - + " -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n" + + " -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1300\n -height 740\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n" + + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels `;\n\t\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n" + + " -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n" + + " -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 0\n -showAssignedMaterials 0\n -showReferenceNodes 1\n -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n" + + " -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n" + + " -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"graphEditor\" -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n" + + " -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n" + + " -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n" + + " -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n" + + "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n" + + " -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n" + + " animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n -constrainDrag 0\n -classicMode 1\n $editorName;\n\t\tif (!$useSceneConfig) {\n" + + "\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"dopeSheetPanel\" -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n" + + " -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n" + + " -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n" + "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n" + " -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n" + " dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"clipEditorPanel\" -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n" @@ -10066,15 +10080,15 @@ createNode script -n "uiConfigurationScriptNode"; + " $editorName;\n stereoCameraView -e -viewSelected 0 $editorName;\n stereoCameraView -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"hyperShadePanel\" -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels `;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"nodeEditorPanel\" (localizedPanelLabel(\"Node Editor\")) `;\n\tif (\"\" == $panelName) {\n\t\tif ($useSceneConfig) {\n\t\t\t$panelName = `scriptedPanel -unParent -type \"nodeEditorPanel\" -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels `;\n" + "\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -activeTab -1\n -editorMode \"default\" \n $editorName;\n\t\t}\n\t} else {\n\t\t$label = `panel -q -label $panelName`;\n" + "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -activeTab -1\n -editorMode \"default\" \n" - + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"left3\\\" -ps 1 78 78 -ps 2 22 100 -ps 3 78 22 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap true\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" - + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1135\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" - + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1135\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" - + "\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Outliner\")) \n\t\t\t\t\t\"outlinerPanel\"\n\t\t\t\t\t\"$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" - + "\t\t\t\t\t\"outlinerPanel -edit -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" + + " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n\t\t\t\t-defaultImage \"\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"left3\\\" -ps 1 80 78 -ps 2 20 100 -ps 3 80 22 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap true\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n" + + "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1300\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 1\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 0\\n -captureSequenceNumber -1\\n -width 1300\\n -height 740\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n" + + "\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Outliner\")) \n\t\t\t\t\t\"outlinerPanel\"\n\t\t\t\t\t\"$panelName = `outlinerPanel -unParent -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -docTag \\\"isolOutln_fromSeln\\\" \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" + + "\t\t\t\t\t\"outlinerPanel -edit -l (localizedPanelLabel(\\\"Outliner\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\noutlinerEditor -e \\n -docTag \\\"isolOutln_fromSeln\\\" \\n -showShapes 0\\n -showAssignedMaterials 0\\n -showReferenceNodes 1\\n -showReferenceMembers 1\\n -showAttributes 0\\n -showConnected 0\\n -showAnimCurvesOnly 0\\n -showMuteInfo 0\\n -organizeByLayer 1\\n -showAnimLayerWeight 1\\n -autoExpandLayers 1\\n -autoExpand 0\\n -showDagOnly 1\\n -showAssets 1\\n -showContainedOnly 1\\n -showPublishedAsConnected 0\\n -showContainerContents 1\\n -ignoreDagHierarchy 0\\n -expandConnections 0\\n -showUpstreamCurves 1\\n -showUnitlessCurves 1\\n -showCompounds 1\\n -showLeafs 1\\n -showNumericAttrsOnly 0\\n -highlightActive 1\\n -autoSelectNewObjects 0\\n -doNotSelectNewObjects 0\\n -dropIsParent 1\\n -transmitFilters 0\\n -setFilter \\\"defaultSetFilter\\\" \\n -showSetMembers 1\\n -allowMultiSelection 1\\n -alwaysToggleSelect 0\\n -directSelect 0\\n -isSet 0\\n -isSetMember 0\\n -displayMode \\\"DAG\\\" \\n -expandObjects 0\\n -setsIgnoreFilters 1\\n -containersIgnoreFilters 0\\n -editAttrName 0\\n -showAttrValues 0\\n -highlightSecondary 0\\n -showUVAttrsOnly 0\\n -showTextureNodesOnly 0\\n -attrAlphaOrder \\\"default\\\" \\n -animLayerFilterOptions \\\"allAffecting\\\" \\n -sortOrder \\\"none\\\" \\n -longNames 0\\n -niceNames 1\\n -showNamespace 1\\n -showPinIcons 0\\n -mapMotionTrails 0\\n -ignoreHiddenAttribute 0\\n -ignoreOutlinerColor 0\\n -renderFilterVisible 0\\n -renderFilterIndex 0\\n -selectionOrder \\\"chronological\\\" \\n -expandAttribute 0\\n $editorName\"\n" + "\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Script Editor\")) \n\t\t\t\t\t\"scriptedPanel\"\n\t\t\t\t\t\"$panelName = `scriptedPanel -unParent -type \\\"scriptEditorPanel\\\" -l (localizedPanelLabel(\\\"Script Editor\\\")) -mbv $menusOkayInPanels `\"\n\t\t\t\t\t\"scriptedPanel -edit -l (localizedPanelLabel(\\\"Script Editor\\\")) -mbv $menusOkayInPanels $panelName\"\n\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n setFocus `paneLayout -q -p1 $gMainPane`;\n sceneUIReplacement -deleteRemaining;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n"); setAttr ".st" 3; createNode script -n "sceneConfigurationScriptNode"; - rename -uid "24F57C12-43B1-FD41-6848-B79093A1ABF8"; + rename -uid "3E12F2DC-41AF-B7A5-408C-939B47AC531D"; setAttr ".b" -type "string" "playbackOptions -min 1 -max 120 -ast 1 -aet 200 "; setAttr ".st" 6; select -ne :time1; @@ -10085,6 +10099,7 @@ select -ne :hardwareRenderingGlobals; setAttr ".otfva" -type "Int32Array" 22 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ; + setAttr ".fprt" yes; select -ne :renderPartition; setAttr -s 2 ".st"; select -ne :renderGlobalsList1; @@ -10102,717 +10117,717 @@ select -ne :defaultResolution; select -ne :hardwareRenderGlobals; setAttr ".ctrs" 256; setAttr ".btrs" 512; -connectAttr "spine_C0_root_st_profile.o" "spine_C0_root.st_profile"; -connectAttr "spine_C0_root_sq_profile.o" "spine_C0_root.sq_profile"; -connectAttr "neck_C0_root_st_profile.o" "neck_C0_root.st_profile"; -connectAttr "neck_C0_root_sq_profile.o" "neck_C0_root.sq_profile"; -connectAttr "mgear_curveCns160.og[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.cr" - ; -connectAttr "tweak160.pl[0].cp[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.twl" - ; -connectAttr "mgear_curveCns160GroupId.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" - ; -connectAttr "mgear_curveCns160Set.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" - ; -connectAttr "groupId320.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" - ; -connectAttr "tweakSet160.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" - ; -connectAttr "mgear_curveCns161.og[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.cr" - ; -connectAttr "tweak161.pl[0].cp[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.twl" - ; -connectAttr "mgear_curveCns161GroupId.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" - ; -connectAttr "mgear_curveCns161Set.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" - ; -connectAttr "groupId322.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" - ; -connectAttr "tweakSet161.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" - ; -connectAttr "mgear_curveCns159.og[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.cr" - ; -connectAttr "tweak159.pl[0].cp[0]" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.twl" - ; -connectAttr "mgear_curveCns159GroupId.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" - ; -connectAttr "mgear_curveCns159Set.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" - ; -connectAttr "groupId318.id" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" - ; -connectAttr "tweakSet159.mwc" "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" - ; -connectAttr "mgear_curveCns162.og[0]" "mouth_C0_crv7Shape.cr"; -connectAttr "tweak162.pl[0].cp[0]" "mouth_C0_crv7Shape.twl"; -connectAttr "mgear_curveCns162GroupId.id" "mouth_C0_crv7Shape.iog.og[0].gid"; -connectAttr "mgear_curveCns162Set.mwc" "mouth_C0_crv7Shape.iog.og[0].gco"; -connectAttr "groupId324.id" "mouth_C0_crv7Shape.iog.og[1].gid"; -connectAttr "tweakSet162.mwc" "mouth_C0_crv7Shape.iog.og[1].gco"; -connectAttr "mgear_curveCns163.og[0]" "eye_L0_crvShape.cr"; -connectAttr "tweak163.pl[0].cp[0]" "eye_L0_crvShape.twl"; -connectAttr "mgear_curveCns163GroupId.id" "eye_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns163Set.mwc" "eye_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId326.id" "eye_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet163.mwc" "eye_L0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns164.og[0]" "eye_R0_crvShape.cr"; -connectAttr "tweak164.pl[0].cp[0]" "eye_R0_crvShape.twl"; -connectAttr "mgear_curveCns164GroupId.id" "eye_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns164Set.mwc" "eye_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId328.id" "eye_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet164.mwc" "eye_R0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns158.og[0]" "neck_C0_head_crvShape.cr"; -connectAttr "tweak158.pl[0].cp[0]" "neck_C0_head_crvShape.twl"; -connectAttr "mgear_curveCns158GroupId.id" "neck_C0_head_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns158Set.mwc" "neck_C0_head_crvShape.iog.og[0].gco"; -connectAttr "groupId316.id" "neck_C0_head_crvShape.iog.og[1].gid"; -connectAttr "tweakSet158.mwc" "neck_C0_head_crvShape.iog.og[1].gco"; -connectAttr "neck_C0_blade_pointConstraint7.ctx" "neck_C0_blade.tx" -l on; -connectAttr "neck_C0_blade_pointConstraint7.cty" "neck_C0_blade.ty" -l on; -connectAttr "neck_C0_blade_pointConstraint7.ctz" "neck_C0_blade.tz" -l on; -connectAttr "neck_C0_blade_aimConstraint7.crx" "neck_C0_blade.rx" -l on; -connectAttr "neck_C0_blade_aimConstraint7.cry" "neck_C0_blade.ry" -l on; -connectAttr "neck_C0_blade_aimConstraint7.crz" "neck_C0_blade.rz" -l on; -connectAttr "neck_C0_blade.pim" "neck_C0_blade_aimConstraint7.cpim"; -connectAttr "neck_C0_blade.t" "neck_C0_blade_aimConstraint7.ct"; -connectAttr "neck_C0_blade.rp" "neck_C0_blade_aimConstraint7.crp"; -connectAttr "neck_C0_blade.rpt" "neck_C0_blade_aimConstraint7.crt"; -connectAttr "neck_C0_blade.ro" "neck_C0_blade_aimConstraint7.cro"; -connectAttr "neck_C0_tan0.t" "neck_C0_blade_aimConstraint7.tg[0].tt"; -connectAttr "neck_C0_tan0.rp" "neck_C0_blade_aimConstraint7.tg[0].trp"; -connectAttr "neck_C0_tan0.rpt" "neck_C0_blade_aimConstraint7.tg[0].trt"; -connectAttr "neck_C0_tan0.pm" "neck_C0_blade_aimConstraint7.tg[0].tpm"; -connectAttr "neck_C0_blade_aimConstraint7.w0" "neck_C0_blade_aimConstraint7.tg[0].tw" - ; -connectAttr "neck_C0_root.wm" "neck_C0_blade_aimConstraint7.wum"; -connectAttr "unitConversion29.o" "neck_C0_blade_aimConstraint7.ox"; -connectAttr "neck_C0_blade.pim" "neck_C0_blade_pointConstraint7.cpim"; -connectAttr "neck_C0_blade.rp" "neck_C0_blade_pointConstraint7.crp"; -connectAttr "neck_C0_blade.rpt" "neck_C0_blade_pointConstraint7.crt"; -connectAttr "neck_C0_root.t" "neck_C0_blade_pointConstraint7.tg[0].tt"; -connectAttr "neck_C0_root.rp" "neck_C0_blade_pointConstraint7.tg[0].trp"; -connectAttr "neck_C0_root.rpt" "neck_C0_blade_pointConstraint7.tg[0].trt"; -connectAttr "neck_C0_root.pm" "neck_C0_blade_pointConstraint7.tg[0].tpm"; -connectAttr "neck_C0_blade_pointConstraint7.w0" "neck_C0_blade_pointConstraint7.tg[0].tw" - ; -connectAttr "mgear_curveCns157.og[0]" "neck_C0_neck_crvShape.cr"; -connectAttr "tweak157.pl[0].cp[0]" "neck_C0_neck_crvShape.twl"; -connectAttr "mgear_curveCns157GroupId.id" "neck_C0_neck_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns157Set.mwc" "neck_C0_neck_crvShape.iog.og[0].gco"; -connectAttr "groupId314.id" "neck_C0_neck_crvShape.iog.og[1].gid"; -connectAttr "tweakSet157.mwc" "neck_C0_neck_crvShape.iog.og[1].gco"; -connectAttr "legFront_L0_root_st_profile.o" "legFront_L0_root.st_profile"; -connectAttr "legFront_L0_root_sq_profile.o" "legFront_L0_root.sq_profile"; -connectAttr "mgear_curveCns167.og[0]" "footFront_L0_crvShape.cr"; -connectAttr "tweak167.pl[0].cp[0]" "footFront_L0_crvShape.twl"; -connectAttr "mgear_curveCns167GroupId.id" "footFront_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns167Set.mwc" "footFront_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId334.id" "footFront_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet167.mwc" "footFront_L0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns168.og[0]" "footFront_L0_Shape1.cr"; -connectAttr "tweak168.pl[0].cp[0]" "footFront_L0_Shape1.twl"; -connectAttr "mgear_curveCns168GroupId.id" "footFront_L0_Shape1.iog.og[0].gid"; -connectAttr "mgear_curveCns168Set.mwc" "footFront_L0_Shape1.iog.og[0].gco"; -connectAttr "groupId336.id" "footFront_L0_Shape1.iog.og[1].gid"; -connectAttr "tweakSet168.mwc" "footFront_L0_Shape1.iog.og[1].gco"; -connectAttr "mgear_curveCns166.og[0]" "legFront_L0_crvShape1.cr"; -connectAttr "tweak166.pl[0].cp[0]" "legFront_L0_crvShape1.twl"; -connectAttr "mgear_curveCns166GroupId.id" "legFront_L0_crvShape1.iog.og[0].gid"; -connectAttr "mgear_curveCns166Set.mwc" "legFront_L0_crvShape1.iog.og[0].gco"; -connectAttr "groupId332.id" "legFront_L0_crvShape1.iog.og[1].gid"; -connectAttr "tweakSet166.mwc" "legFront_L0_crvShape1.iog.og[1].gco"; -connectAttr "shoulder_L0_blade_pointConstraint7.ctx" "shoulder_L0_blade.tx" -l on - ; -connectAttr "shoulder_L0_blade_pointConstraint7.cty" "shoulder_L0_blade.ty" -l on - ; -connectAttr "shoulder_L0_blade_pointConstraint7.ctz" "shoulder_L0_blade.tz" -l on - ; -connectAttr "shoulder_L0_blade_aimConstraint7.crx" "shoulder_L0_blade.rx" -l on; -connectAttr "shoulder_L0_blade_aimConstraint7.cry" "shoulder_L0_blade.ry" -l on; -connectAttr "shoulder_L0_blade_aimConstraint7.crz" "shoulder_L0_blade.rz" -l on; -connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_aimConstraint7.cpim"; -connectAttr "shoulder_L0_blade.t" "shoulder_L0_blade_aimConstraint7.ct"; -connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_aimConstraint7.crp"; -connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_aimConstraint7.crt"; -connectAttr "shoulder_L0_blade.ro" "shoulder_L0_blade_aimConstraint7.cro"; -connectAttr "shoulder_L0_0_loc.t" "shoulder_L0_blade_aimConstraint7.tg[0].tt"; -connectAttr "shoulder_L0_0_loc.rp" "shoulder_L0_blade_aimConstraint7.tg[0].trp"; -connectAttr "shoulder_L0_0_loc.rpt" "shoulder_L0_blade_aimConstraint7.tg[0].trt" - ; -connectAttr "shoulder_L0_0_loc.pm" "shoulder_L0_blade_aimConstraint7.tg[0].tpm"; -connectAttr "shoulder_L0_blade_aimConstraint7.w0" "shoulder_L0_blade_aimConstraint7.tg[0].tw" - ; -connectAttr "shoulder_L0_root.wm" "shoulder_L0_blade_aimConstraint7.wum"; -connectAttr "unitConversion30.o" "shoulder_L0_blade_aimConstraint7.ox"; -connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_pointConstraint7.cpim"; -connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_pointConstraint7.crp"; -connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_pointConstraint7.crt"; -connectAttr "shoulder_L0_root.t" "shoulder_L0_blade_pointConstraint7.tg[0].tt"; -connectAttr "shoulder_L0_root.rp" "shoulder_L0_blade_pointConstraint7.tg[0].trp" - ; -connectAttr "shoulder_L0_root.rpt" "shoulder_L0_blade_pointConstraint7.tg[0].trt" - ; -connectAttr "shoulder_L0_root.pm" "shoulder_L0_blade_pointConstraint7.tg[0].tpm" - ; -connectAttr "shoulder_L0_blade_pointConstraint7.w0" "shoulder_L0_blade_pointConstraint7.tg[0].tw" - ; -connectAttr "mgear_curveCns165.og[0]" "shoulder_L0_crvShape.cr"; -connectAttr "tweak165.pl[0].cp[0]" "shoulder_L0_crvShape.twl"; -connectAttr "mgear_curveCns165GroupId.id" "shoulder_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns165Set.mwc" "shoulder_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId330.id" "shoulder_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet165.mwc" "shoulder_L0_crvShape.iog.og[1].gco"; +connectAttr "spine_C0_root_st_profile1.o" "spine_C0_root.st_profile"; +connectAttr "spine_C0_root_sq_profile1.o" "spine_C0_root.sq_profile"; +connectAttr "neck_C0_root_st_profile1.o" "neck_C0_root.st_profile"; +connectAttr "neck_C0_root_sq_profile1.o" "neck_C0_root.sq_profile"; +connectAttr "mgear_curveCns187.og[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.cr" + ; +connectAttr "tweak187.pl[0].cp[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.twl" + ; +connectAttr "mgear_curveCns187GroupId.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" + ; +connectAttr "mgear_curveCns187Set.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" + ; +connectAttr "groupId374.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" + ; +connectAttr "tweakSet187.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" + ; +connectAttr "mgear_curveCns188.og[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.cr" + ; +connectAttr "tweak188.pl[0].cp[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.twl" + ; +connectAttr "mgear_curveCns188GroupId.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" + ; +connectAttr "mgear_curveCns188Set.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" + ; +connectAttr "groupId376.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" + ; +connectAttr "tweakSet188.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" + ; +connectAttr "mgear_curveCns186.og[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.cr" + ; +connectAttr "tweak186.pl[0].cp[0]" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.twl" + ; +connectAttr "mgear_curveCns186GroupId.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gid" + ; +connectAttr "mgear_curveCns186Set.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0].gco" + ; +connectAttr "groupId372.id" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gid" + ; +connectAttr "tweakSet186.mwc" "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1].gco" + ; +connectAttr "mgear_curveCns189.og[0]" "mouth_C0_crv8Shape.cr"; +connectAttr "tweak189.pl[0].cp[0]" "mouth_C0_crv8Shape.twl"; +connectAttr "mgear_curveCns189GroupId.id" "mouth_C0_crv8Shape.iog.og[0].gid"; +connectAttr "mgear_curveCns189Set.mwc" "mouth_C0_crv8Shape.iog.og[0].gco"; +connectAttr "groupId378.id" "mouth_C0_crv8Shape.iog.og[1].gid"; +connectAttr "tweakSet189.mwc" "mouth_C0_crv8Shape.iog.og[1].gco"; +connectAttr "mgear_curveCns190.og[0]" "eye_L0_crvShape.cr"; +connectAttr "tweak190.pl[0].cp[0]" "eye_L0_crvShape.twl"; +connectAttr "mgear_curveCns190GroupId.id" "eye_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns190Set.mwc" "eye_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId380.id" "eye_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet190.mwc" "eye_L0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns191.og[0]" "eye_R0_crvShape.cr"; +connectAttr "tweak191.pl[0].cp[0]" "eye_R0_crvShape.twl"; +connectAttr "mgear_curveCns191GroupId.id" "eye_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns191Set.mwc" "eye_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId382.id" "eye_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet191.mwc" "eye_R0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns185.og[0]" "neck_C0_head_crvShape.cr"; +connectAttr "tweak185.pl[0].cp[0]" "neck_C0_head_crvShape.twl"; +connectAttr "mgear_curveCns185GroupId.id" "neck_C0_head_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns185Set.mwc" "neck_C0_head_crvShape.iog.og[0].gco"; +connectAttr "groupId370.id" "neck_C0_head_crvShape.iog.og[1].gid"; +connectAttr "tweakSet185.mwc" "neck_C0_head_crvShape.iog.og[1].gco"; +connectAttr "neck_C0_blade_pointConstraint8.ctx" "neck_C0_blade.tx" -l on; +connectAttr "neck_C0_blade_pointConstraint8.cty" "neck_C0_blade.ty" -l on; +connectAttr "neck_C0_blade_pointConstraint8.ctz" "neck_C0_blade.tz" -l on; +connectAttr "neck_C0_blade_aimConstraint8.crx" "neck_C0_blade.rx" -l on; +connectAttr "neck_C0_blade_aimConstraint8.cry" "neck_C0_blade.ry" -l on; +connectAttr "neck_C0_blade_aimConstraint8.crz" "neck_C0_blade.rz" -l on; +connectAttr "neck_C0_blade.pim" "neck_C0_blade_aimConstraint8.cpim"; +connectAttr "neck_C0_blade.t" "neck_C0_blade_aimConstraint8.ct"; +connectAttr "neck_C0_blade.rp" "neck_C0_blade_aimConstraint8.crp"; +connectAttr "neck_C0_blade.rpt" "neck_C0_blade_aimConstraint8.crt"; +connectAttr "neck_C0_blade.ro" "neck_C0_blade_aimConstraint8.cro"; +connectAttr "neck_C0_tan0.t" "neck_C0_blade_aimConstraint8.tg[0].tt"; +connectAttr "neck_C0_tan0.rp" "neck_C0_blade_aimConstraint8.tg[0].trp"; +connectAttr "neck_C0_tan0.rpt" "neck_C0_blade_aimConstraint8.tg[0].trt"; +connectAttr "neck_C0_tan0.pm" "neck_C0_blade_aimConstraint8.tg[0].tpm"; +connectAttr "neck_C0_blade_aimConstraint8.w0" "neck_C0_blade_aimConstraint8.tg[0].tw" + ; +connectAttr "neck_C0_root.wm" "neck_C0_blade_aimConstraint8.wum"; +connectAttr "unitConversion33.o" "neck_C0_blade_aimConstraint8.ox"; +connectAttr "neck_C0_blade.pim" "neck_C0_blade_pointConstraint8.cpim"; +connectAttr "neck_C0_blade.rp" "neck_C0_blade_pointConstraint8.crp"; +connectAttr "neck_C0_blade.rpt" "neck_C0_blade_pointConstraint8.crt"; +connectAttr "neck_C0_root.t" "neck_C0_blade_pointConstraint8.tg[0].tt"; +connectAttr "neck_C0_root.rp" "neck_C0_blade_pointConstraint8.tg[0].trp"; +connectAttr "neck_C0_root.rpt" "neck_C0_blade_pointConstraint8.tg[0].trt"; +connectAttr "neck_C0_root.pm" "neck_C0_blade_pointConstraint8.tg[0].tpm"; +connectAttr "neck_C0_blade_pointConstraint8.w0" "neck_C0_blade_pointConstraint8.tg[0].tw" + ; +connectAttr "mgear_curveCns184.og[0]" "neck_C0_neck_crvShape.cr"; +connectAttr "tweak184.pl[0].cp[0]" "neck_C0_neck_crvShape.twl"; +connectAttr "mgear_curveCns184GroupId.id" "neck_C0_neck_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns184Set.mwc" "neck_C0_neck_crvShape.iog.og[0].gco"; +connectAttr "groupId368.id" "neck_C0_neck_crvShape.iog.og[1].gid"; +connectAttr "tweakSet184.mwc" "neck_C0_neck_crvShape.iog.og[1].gco"; +connectAttr "legFront_L0_root_st_profile1.o" "legFront_L0_root.st_profile"; +connectAttr "legFront_L0_root_sq_profile1.o" "legFront_L0_root.sq_profile"; +connectAttr "mgear_curveCns194.og[0]" "footFront_L0_crvShape.cr"; +connectAttr "tweak194.pl[0].cp[0]" "footFront_L0_crvShape.twl"; +connectAttr "mgear_curveCns194GroupId.id" "footFront_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns194Set.mwc" "footFront_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId388.id" "footFront_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet194.mwc" "footFront_L0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns195.og[0]" "footFront_L0_Shape1.cr"; +connectAttr "tweak195.pl[0].cp[0]" "footFront_L0_Shape1.twl"; +connectAttr "mgear_curveCns195GroupId.id" "footFront_L0_Shape1.iog.og[0].gid"; +connectAttr "mgear_curveCns195Set.mwc" "footFront_L0_Shape1.iog.og[0].gco"; +connectAttr "groupId390.id" "footFront_L0_Shape1.iog.og[1].gid"; +connectAttr "tweakSet195.mwc" "footFront_L0_Shape1.iog.og[1].gco"; +connectAttr "mgear_curveCns193.og[0]" "legFront_L0_crvShape1.cr"; +connectAttr "tweak193.pl[0].cp[0]" "legFront_L0_crvShape1.twl"; +connectAttr "mgear_curveCns193GroupId.id" "legFront_L0_crvShape1.iog.og[0].gid"; +connectAttr "mgear_curveCns193Set.mwc" "legFront_L0_crvShape1.iog.og[0].gco"; +connectAttr "groupId386.id" "legFront_L0_crvShape1.iog.og[1].gid"; +connectAttr "tweakSet193.mwc" "legFront_L0_crvShape1.iog.og[1].gco"; +connectAttr "shoulder_L0_blade_pointConstraint8.ctx" "shoulder_L0_blade.tx" -l on + ; +connectAttr "shoulder_L0_blade_pointConstraint8.cty" "shoulder_L0_blade.ty" -l on + ; +connectAttr "shoulder_L0_blade_pointConstraint8.ctz" "shoulder_L0_blade.tz" -l on + ; +connectAttr "shoulder_L0_blade_aimConstraint8.crx" "shoulder_L0_blade.rx" -l on; +connectAttr "shoulder_L0_blade_aimConstraint8.cry" "shoulder_L0_blade.ry" -l on; +connectAttr "shoulder_L0_blade_aimConstraint8.crz" "shoulder_L0_blade.rz" -l on; +connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_aimConstraint8.cpim"; +connectAttr "shoulder_L0_blade.t" "shoulder_L0_blade_aimConstraint8.ct"; +connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_aimConstraint8.crp"; +connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_aimConstraint8.crt"; +connectAttr "shoulder_L0_blade.ro" "shoulder_L0_blade_aimConstraint8.cro"; +connectAttr "shoulder_L0_0_loc.t" "shoulder_L0_blade_aimConstraint8.tg[0].tt"; +connectAttr "shoulder_L0_0_loc.rp" "shoulder_L0_blade_aimConstraint8.tg[0].trp"; +connectAttr "shoulder_L0_0_loc.rpt" "shoulder_L0_blade_aimConstraint8.tg[0].trt" + ; +connectAttr "shoulder_L0_0_loc.pm" "shoulder_L0_blade_aimConstraint8.tg[0].tpm"; +connectAttr "shoulder_L0_blade_aimConstraint8.w0" "shoulder_L0_blade_aimConstraint8.tg[0].tw" + ; +connectAttr "shoulder_L0_root.wm" "shoulder_L0_blade_aimConstraint8.wum"; +connectAttr "unitConversion34.o" "shoulder_L0_blade_aimConstraint8.ox"; +connectAttr "shoulder_L0_blade.pim" "shoulder_L0_blade_pointConstraint8.cpim"; +connectAttr "shoulder_L0_blade.rp" "shoulder_L0_blade_pointConstraint8.crp"; +connectAttr "shoulder_L0_blade.rpt" "shoulder_L0_blade_pointConstraint8.crt"; +connectAttr "shoulder_L0_root.t" "shoulder_L0_blade_pointConstraint8.tg[0].tt"; +connectAttr "shoulder_L0_root.rp" "shoulder_L0_blade_pointConstraint8.tg[0].trp" + ; +connectAttr "shoulder_L0_root.rpt" "shoulder_L0_blade_pointConstraint8.tg[0].trt" + ; +connectAttr "shoulder_L0_root.pm" "shoulder_L0_blade_pointConstraint8.tg[0].tpm" + ; +connectAttr "shoulder_L0_blade_pointConstraint8.w0" "shoulder_L0_blade_pointConstraint8.tg[0].tw" + ; +connectAttr "mgear_curveCns192.og[0]" "shoulder_L0_crvShape.cr"; +connectAttr "tweak192.pl[0].cp[0]" "shoulder_L0_crvShape.twl"; +connectAttr "mgear_curveCns192GroupId.id" "shoulder_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns192Set.mwc" "shoulder_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId384.id" "shoulder_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet192.mwc" "shoulder_L0_crvShape.iog.og[1].gco"; connectAttr "legFront_R0_root_st_profile1.o" "legFront_R0_root.st_profile"; connectAttr "legFront_R0_root_sq_profile1.o" "legFront_R0_root.sq_profile"; -connectAttr "mgear_curveCns171.og[0]" "footFront_R0_crvShape.cr"; -connectAttr "tweak171.pl[0].cp[0]" "footFront_R0_crvShape.twl"; -connectAttr "mgear_curveCns171GroupId.id" "footFront_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns171Set.mwc" "footFront_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId342.id" "footFront_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet171.mwc" "footFront_R0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns172.og[0]" "footFront_R0_Shape1.cr"; -connectAttr "tweak172.pl[0].cp[0]" "footFront_R0_Shape1.twl"; -connectAttr "mgear_curveCns172GroupId.id" "footFront_R0_Shape1.iog.og[0].gid"; -connectAttr "mgear_curveCns172Set.mwc" "footFront_R0_Shape1.iog.og[0].gco"; -connectAttr "groupId344.id" "footFront_R0_Shape1.iog.og[1].gid"; -connectAttr "tweakSet172.mwc" "footFront_R0_Shape1.iog.og[1].gco"; -connectAttr "mgear_curveCns170.og[0]" "legFront_R0_crvShape1.cr"; -connectAttr "tweak170.pl[0].cp[0]" "legFront_R0_crvShape1.twl"; -connectAttr "mgear_curveCns170GroupId.id" "legFront_R0_crvShape1.iog.og[0].gid"; -connectAttr "mgear_curveCns170Set.mwc" "legFront_R0_crvShape1.iog.og[0].gco"; -connectAttr "groupId340.id" "legFront_R0_crvShape1.iog.og[1].gid"; -connectAttr "tweakSet170.mwc" "legFront_R0_crvShape1.iog.og[1].gco"; -connectAttr "shoulder_R0_blade_pointConstraint4.ctx" "shoulder_R0_blade.tx" -l on - ; -connectAttr "shoulder_R0_blade_pointConstraint4.cty" "shoulder_R0_blade.ty" -l on - ; -connectAttr "shoulder_R0_blade_pointConstraint4.ctz" "shoulder_R0_blade.tz" -l on - ; -connectAttr "shoulder_R0_blade_aimConstraint4.crx" "shoulder_R0_blade.rx" -l on; -connectAttr "shoulder_R0_blade_aimConstraint4.cry" "shoulder_R0_blade.ry" -l on; -connectAttr "shoulder_R0_blade_aimConstraint4.crz" "shoulder_R0_blade.rz" -l on; -connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_aimConstraint4.cpim"; -connectAttr "shoulder_R0_blade.t" "shoulder_R0_blade_aimConstraint4.ct"; -connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_aimConstraint4.crp"; -connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_aimConstraint4.crt"; -connectAttr "shoulder_R0_blade.ro" "shoulder_R0_blade_aimConstraint4.cro"; -connectAttr "shoulder_R0_0_loc.t" "shoulder_R0_blade_aimConstraint4.tg[0].tt"; -connectAttr "shoulder_R0_0_loc.rp" "shoulder_R0_blade_aimConstraint4.tg[0].trp"; -connectAttr "shoulder_R0_0_loc.rpt" "shoulder_R0_blade_aimConstraint4.tg[0].trt" - ; -connectAttr "shoulder_R0_0_loc.pm" "shoulder_R0_blade_aimConstraint4.tg[0].tpm"; -connectAttr "shoulder_R0_blade_aimConstraint4.w0" "shoulder_R0_blade_aimConstraint4.tg[0].tw" - ; -connectAttr "shoulder_R0_root.wm" "shoulder_R0_blade_aimConstraint4.wum"; -connectAttr "unitConversion31.o" "shoulder_R0_blade_aimConstraint4.ox"; -connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_pointConstraint4.cpim"; -connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_pointConstraint4.crp"; -connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_pointConstraint4.crt"; -connectAttr "shoulder_R0_root.t" "shoulder_R0_blade_pointConstraint4.tg[0].tt"; -connectAttr "shoulder_R0_root.rp" "shoulder_R0_blade_pointConstraint4.tg[0].trp" - ; -connectAttr "shoulder_R0_root.rpt" "shoulder_R0_blade_pointConstraint4.tg[0].trt" - ; -connectAttr "shoulder_R0_root.pm" "shoulder_R0_blade_pointConstraint4.tg[0].tpm" - ; -connectAttr "shoulder_R0_blade_pointConstraint4.w0" "shoulder_R0_blade_pointConstraint4.tg[0].tw" - ; -connectAttr "mgear_curveCns169.og[0]" "shoulder_R0_crvShape.cr"; -connectAttr "tweak169.pl[0].cp[0]" "shoulder_R0_crvShape.twl"; -connectAttr "mgear_curveCns169GroupId.id" "shoulder_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns169Set.mwc" "shoulder_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId338.id" "shoulder_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet169.mwc" "shoulder_R0_crvShape.iog.og[1].gco"; -connectAttr "spine_C0_blade_pointConstraint7.ctx" "spine_C0_blade.tx" -l on; -connectAttr "spine_C0_blade_pointConstraint7.cty" "spine_C0_blade.ty" -l on; -connectAttr "spine_C0_blade_pointConstraint7.ctz" "spine_C0_blade.tz" -l on; -connectAttr "spine_C0_blade_aimConstraint7.crx" "spine_C0_blade.rx" -l on; -connectAttr "spine_C0_blade_aimConstraint7.cry" "spine_C0_blade.ry" -l on; -connectAttr "spine_C0_blade_aimConstraint7.crz" "spine_C0_blade.rz" -l on; -connectAttr "spine_C0_blade.pim" "spine_C0_blade_aimConstraint7.cpim"; -connectAttr "spine_C0_blade.t" "spine_C0_blade_aimConstraint7.ct"; -connectAttr "spine_C0_blade.rp" "spine_C0_blade_aimConstraint7.crp"; -connectAttr "spine_C0_blade.rpt" "spine_C0_blade_aimConstraint7.crt"; -connectAttr "spine_C0_blade.ro" "spine_C0_blade_aimConstraint7.cro"; -connectAttr "spine_C0_eff.t" "spine_C0_blade_aimConstraint7.tg[0].tt"; -connectAttr "spine_C0_eff.rp" "spine_C0_blade_aimConstraint7.tg[0].trp"; -connectAttr "spine_C0_eff.rpt" "spine_C0_blade_aimConstraint7.tg[0].trt"; -connectAttr "spine_C0_eff.pm" "spine_C0_blade_aimConstraint7.tg[0].tpm"; -connectAttr "spine_C0_blade_aimConstraint7.w0" "spine_C0_blade_aimConstraint7.tg[0].tw" - ; -connectAttr "spine_C0_root.wm" "spine_C0_blade_aimConstraint7.wum"; -connectAttr "unitConversion28.o" "spine_C0_blade_aimConstraint7.ox"; -connectAttr "spine_C0_blade.pim" "spine_C0_blade_pointConstraint7.cpim"; -connectAttr "spine_C0_blade.rp" "spine_C0_blade_pointConstraint7.crp"; -connectAttr "spine_C0_blade.rpt" "spine_C0_blade_pointConstraint7.crt"; -connectAttr "spine_C0_root.t" "spine_C0_blade_pointConstraint7.tg[0].tt"; -connectAttr "spine_C0_root.rp" "spine_C0_blade_pointConstraint7.tg[0].trp"; -connectAttr "spine_C0_root.rpt" "spine_C0_blade_pointConstraint7.tg[0].trt"; -connectAttr "spine_C0_root.pm" "spine_C0_blade_pointConstraint7.tg[0].tpm"; -connectAttr "spine_C0_blade_pointConstraint7.w0" "spine_C0_blade_pointConstraint7.tg[0].tw" - ; -connectAttr "mgear_curveCns156.og[0]" "spine_C0_crvShape.cr"; -connectAttr "tweak156.pl[0].cp[0]" "spine_C0_crvShape.twl"; -connectAttr "mgear_curveCns156GroupId.id" "spine_C0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns156Set.mwc" "spine_C0_crvShape.iog.og[0].gco"; -connectAttr "groupId312.id" "spine_C0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet156.mwc" "spine_C0_crvShape.iog.og[1].gco"; -connectAttr "legBack_L0_root_st_profile.o" "legBack_L0_root.st_profile"; -connectAttr "legBack_L0_root_sq_profile.o" "legBack_L0_root.sq_profile"; -connectAttr "mgear_curveCns174.og[0]" "footBack_L0_crvShape.cr"; -connectAttr "tweak174.pl[0].cp[0]" "footBack_L0_crvShape.twl"; -connectAttr "mgear_curveCns174GroupId.id" "footBack_L0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns174Set.mwc" "footBack_L0_crvShape.iog.og[0].gco"; -connectAttr "groupId348.id" "footBack_L0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet174.mwc" "footBack_L0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns175.og[0]" "footBack_L0_Shape1.cr"; -connectAttr "tweak175.pl[0].cp[0]" "footBack_L0_Shape1.twl"; -connectAttr "mgear_curveCns175GroupId.id" "footBack_L0_Shape1.iog.og[0].gid"; -connectAttr "mgear_curveCns175Set.mwc" "footBack_L0_Shape1.iog.og[0].gco"; -connectAttr "groupId350.id" "footBack_L0_Shape1.iog.og[1].gid"; -connectAttr "tweakSet175.mwc" "footBack_L0_Shape1.iog.og[1].gco"; -connectAttr "mgear_curveCns173.og[0]" "legBack_L0_crvShape1.cr"; -connectAttr "tweak173.pl[0].cp[0]" "legBack_L0_crvShape1.twl"; -connectAttr "mgear_curveCns173GroupId.id" "legBack_L0_crvShape1.iog.og[0].gid"; -connectAttr "mgear_curveCns173Set.mwc" "legBack_L0_crvShape1.iog.og[0].gco"; -connectAttr "groupId346.id" "legBack_L0_crvShape1.iog.og[1].gid"; -connectAttr "tweakSet173.mwc" "legBack_L0_crvShape1.iog.og[1].gco"; +connectAttr "mgear_curveCns198.og[0]" "footFront_R0_crvShape.cr"; +connectAttr "tweak198.pl[0].cp[0]" "footFront_R0_crvShape.twl"; +connectAttr "mgear_curveCns198GroupId.id" "footFront_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns198Set.mwc" "footFront_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId396.id" "footFront_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet198.mwc" "footFront_R0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns199.og[0]" "footFront_R0_Shape1.cr"; +connectAttr "tweak199.pl[0].cp[0]" "footFront_R0_Shape1.twl"; +connectAttr "mgear_curveCns199GroupId.id" "footFront_R0_Shape1.iog.og[0].gid"; +connectAttr "mgear_curveCns199Set.mwc" "footFront_R0_Shape1.iog.og[0].gco"; +connectAttr "groupId398.id" "footFront_R0_Shape1.iog.og[1].gid"; +connectAttr "tweakSet199.mwc" "footFront_R0_Shape1.iog.og[1].gco"; +connectAttr "mgear_curveCns197.og[0]" "legFront_R0_crvShape1.cr"; +connectAttr "tweak197.pl[0].cp[0]" "legFront_R0_crvShape1.twl"; +connectAttr "mgear_curveCns197GroupId.id" "legFront_R0_crvShape1.iog.og[0].gid"; +connectAttr "mgear_curveCns197Set.mwc" "legFront_R0_crvShape1.iog.og[0].gco"; +connectAttr "groupId394.id" "legFront_R0_crvShape1.iog.og[1].gid"; +connectAttr "tweakSet197.mwc" "legFront_R0_crvShape1.iog.og[1].gco"; +connectAttr "shoulder_R0_blade_pointConstraint2.ctx" "shoulder_R0_blade.tx" -l on + ; +connectAttr "shoulder_R0_blade_pointConstraint2.cty" "shoulder_R0_blade.ty" -l on + ; +connectAttr "shoulder_R0_blade_pointConstraint2.ctz" "shoulder_R0_blade.tz" -l on + ; +connectAttr "shoulder_R0_blade_aimConstraint2.crx" "shoulder_R0_blade.rx" -l on; +connectAttr "shoulder_R0_blade_aimConstraint2.cry" "shoulder_R0_blade.ry" -l on; +connectAttr "shoulder_R0_blade_aimConstraint2.crz" "shoulder_R0_blade.rz" -l on; +connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_aimConstraint2.cpim"; +connectAttr "shoulder_R0_blade.t" "shoulder_R0_blade_aimConstraint2.ct"; +connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_aimConstraint2.crp"; +connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_aimConstraint2.crt"; +connectAttr "shoulder_R0_blade.ro" "shoulder_R0_blade_aimConstraint2.cro"; +connectAttr "shoulder_R0_0_loc.t" "shoulder_R0_blade_aimConstraint2.tg[0].tt"; +connectAttr "shoulder_R0_0_loc.rp" "shoulder_R0_blade_aimConstraint2.tg[0].trp"; +connectAttr "shoulder_R0_0_loc.rpt" "shoulder_R0_blade_aimConstraint2.tg[0].trt" + ; +connectAttr "shoulder_R0_0_loc.pm" "shoulder_R0_blade_aimConstraint2.tg[0].tpm"; +connectAttr "shoulder_R0_blade_aimConstraint2.w0" "shoulder_R0_blade_aimConstraint2.tg[0].tw" + ; +connectAttr "shoulder_R0_root.wm" "shoulder_R0_blade_aimConstraint2.wum"; +connectAttr "unitConversion35.o" "shoulder_R0_blade_aimConstraint2.ox"; +connectAttr "shoulder_R0_blade.pim" "shoulder_R0_blade_pointConstraint2.cpim"; +connectAttr "shoulder_R0_blade.rp" "shoulder_R0_blade_pointConstraint2.crp"; +connectAttr "shoulder_R0_blade.rpt" "shoulder_R0_blade_pointConstraint2.crt"; +connectAttr "shoulder_R0_root.t" "shoulder_R0_blade_pointConstraint2.tg[0].tt"; +connectAttr "shoulder_R0_root.rp" "shoulder_R0_blade_pointConstraint2.tg[0].trp" + ; +connectAttr "shoulder_R0_root.rpt" "shoulder_R0_blade_pointConstraint2.tg[0].trt" + ; +connectAttr "shoulder_R0_root.pm" "shoulder_R0_blade_pointConstraint2.tg[0].tpm" + ; +connectAttr "shoulder_R0_blade_pointConstraint2.w0" "shoulder_R0_blade_pointConstraint2.tg[0].tw" + ; +connectAttr "mgear_curveCns196.og[0]" "shoulder_R0_crvShape.cr"; +connectAttr "tweak196.pl[0].cp[0]" "shoulder_R0_crvShape.twl"; +connectAttr "mgear_curveCns196GroupId.id" "shoulder_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns196Set.mwc" "shoulder_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId392.id" "shoulder_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet196.mwc" "shoulder_R0_crvShape.iog.og[1].gco"; +connectAttr "spine_C0_blade_pointConstraint8.ctx" "spine_C0_blade.tx" -l on; +connectAttr "spine_C0_blade_pointConstraint8.cty" "spine_C0_blade.ty" -l on; +connectAttr "spine_C0_blade_pointConstraint8.ctz" "spine_C0_blade.tz" -l on; +connectAttr "spine_C0_blade_aimConstraint8.crx" "spine_C0_blade.rx" -l on; +connectAttr "spine_C0_blade_aimConstraint8.cry" "spine_C0_blade.ry" -l on; +connectAttr "spine_C0_blade_aimConstraint8.crz" "spine_C0_blade.rz" -l on; +connectAttr "spine_C0_blade.pim" "spine_C0_blade_aimConstraint8.cpim"; +connectAttr "spine_C0_blade.t" "spine_C0_blade_aimConstraint8.ct"; +connectAttr "spine_C0_blade.rp" "spine_C0_blade_aimConstraint8.crp"; +connectAttr "spine_C0_blade.rpt" "spine_C0_blade_aimConstraint8.crt"; +connectAttr "spine_C0_blade.ro" "spine_C0_blade_aimConstraint8.cro"; +connectAttr "spine_C0_eff.t" "spine_C0_blade_aimConstraint8.tg[0].tt"; +connectAttr "spine_C0_eff.rp" "spine_C0_blade_aimConstraint8.tg[0].trp"; +connectAttr "spine_C0_eff.rpt" "spine_C0_blade_aimConstraint8.tg[0].trt"; +connectAttr "spine_C0_eff.pm" "spine_C0_blade_aimConstraint8.tg[0].tpm"; +connectAttr "spine_C0_blade_aimConstraint8.w0" "spine_C0_blade_aimConstraint8.tg[0].tw" + ; +connectAttr "spine_C0_root.wm" "spine_C0_blade_aimConstraint8.wum"; +connectAttr "unitConversion32.o" "spine_C0_blade_aimConstraint8.ox"; +connectAttr "spine_C0_blade.pim" "spine_C0_blade_pointConstraint8.cpim"; +connectAttr "spine_C0_blade.rp" "spine_C0_blade_pointConstraint8.crp"; +connectAttr "spine_C0_blade.rpt" "spine_C0_blade_pointConstraint8.crt"; +connectAttr "spine_C0_root.t" "spine_C0_blade_pointConstraint8.tg[0].tt"; +connectAttr "spine_C0_root.rp" "spine_C0_blade_pointConstraint8.tg[0].trp"; +connectAttr "spine_C0_root.rpt" "spine_C0_blade_pointConstraint8.tg[0].trt"; +connectAttr "spine_C0_root.pm" "spine_C0_blade_pointConstraint8.tg[0].tpm"; +connectAttr "spine_C0_blade_pointConstraint8.w0" "spine_C0_blade_pointConstraint8.tg[0].tw" + ; +connectAttr "mgear_curveCns183.og[0]" "spine_C0_crvShape.cr"; +connectAttr "tweak183.pl[0].cp[0]" "spine_C0_crvShape.twl"; +connectAttr "mgear_curveCns183GroupId.id" "spine_C0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns183Set.mwc" "spine_C0_crvShape.iog.og[0].gco"; +connectAttr "groupId366.id" "spine_C0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet183.mwc" "spine_C0_crvShape.iog.og[1].gco"; +connectAttr "legBack_L0_root_st_profile1.o" "legBack_L0_root.st_profile"; +connectAttr "legBack_L0_root_sq_profile1.o" "legBack_L0_root.sq_profile"; +connectAttr "mgear_curveCns201.og[0]" "footBack_L0_crvShape.cr"; +connectAttr "tweak201.pl[0].cp[0]" "footBack_L0_crvShape.twl"; +connectAttr "mgear_curveCns201GroupId.id" "footBack_L0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns201Set.mwc" "footBack_L0_crvShape.iog.og[0].gco"; +connectAttr "groupId402.id" "footBack_L0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet201.mwc" "footBack_L0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns202.og[0]" "footBack_L0_Shape1.cr"; +connectAttr "tweak202.pl[0].cp[0]" "footBack_L0_Shape1.twl"; +connectAttr "mgear_curveCns202GroupId.id" "footBack_L0_Shape1.iog.og[0].gid"; +connectAttr "mgear_curveCns202Set.mwc" "footBack_L0_Shape1.iog.og[0].gco"; +connectAttr "groupId404.id" "footBack_L0_Shape1.iog.og[1].gid"; +connectAttr "tweakSet202.mwc" "footBack_L0_Shape1.iog.og[1].gco"; +connectAttr "mgear_curveCns200.og[0]" "legBack_L0_crvShape1.cr"; +connectAttr "tweak200.pl[0].cp[0]" "legBack_L0_crvShape1.twl"; +connectAttr "mgear_curveCns200GroupId.id" "legBack_L0_crvShape1.iog.og[0].gid"; +connectAttr "mgear_curveCns200Set.mwc" "legBack_L0_crvShape1.iog.og[0].gco"; +connectAttr "groupId400.id" "legBack_L0_crvShape1.iog.og[1].gid"; +connectAttr "tweakSet200.mwc" "legBack_L0_crvShape1.iog.og[1].gco"; connectAttr "legBack_R0_root_st_profile1.o" "legBack_R0_root.st_profile"; connectAttr "legBack_R0_root_sq_profile1.o" "legBack_R0_root.sq_profile"; -connectAttr "mgear_curveCns177.og[0]" "footBack_R0_crvShape.cr"; -connectAttr "tweak177.pl[0].cp[0]" "footBack_R0_crvShape.twl"; -connectAttr "mgear_curveCns177GroupId.id" "footBack_R0_crvShape.iog.og[0].gid"; -connectAttr "mgear_curveCns177Set.mwc" "footBack_R0_crvShape.iog.og[0].gco"; -connectAttr "groupId354.id" "footBack_R0_crvShape.iog.og[1].gid"; -connectAttr "tweakSet177.mwc" "footBack_R0_crvShape.iog.og[1].gco"; -connectAttr "mgear_curveCns178.og[0]" "footBack_R0_Shape1.cr"; -connectAttr "tweak178.pl[0].cp[0]" "footBack_R0_Shape1.twl"; -connectAttr "mgear_curveCns178GroupId.id" "footBack_R0_Shape1.iog.og[0].gid"; -connectAttr "mgear_curveCns178Set.mwc" "footBack_R0_Shape1.iog.og[0].gco"; -connectAttr "groupId356.id" "footBack_R0_Shape1.iog.og[1].gid"; -connectAttr "tweakSet178.mwc" "footBack_R0_Shape1.iog.og[1].gco"; -connectAttr "mgear_curveCns176.og[0]" "legBack_R0_crvShape1.cr"; -connectAttr "tweak176.pl[0].cp[0]" "legBack_R0_crvShape1.twl"; -connectAttr "mgear_curveCns176GroupId.id" "legBack_R0_crvShape1.iog.og[0].gid"; -connectAttr "mgear_curveCns176Set.mwc" "legBack_R0_crvShape1.iog.og[0].gco"; -connectAttr "groupId352.id" "legBack_R0_crvShape1.iog.og[1].gid"; -connectAttr "tweakSet176.mwc" "legBack_R0_crvShape1.iog.og[1].gco"; +connectAttr "mgear_curveCns204.og[0]" "footBack_R0_crvShape.cr"; +connectAttr "tweak204.pl[0].cp[0]" "footBack_R0_crvShape.twl"; +connectAttr "mgear_curveCns204GroupId.id" "footBack_R0_crvShape.iog.og[0].gid"; +connectAttr "mgear_curveCns204Set.mwc" "footBack_R0_crvShape.iog.og[0].gco"; +connectAttr "groupId408.id" "footBack_R0_crvShape.iog.og[1].gid"; +connectAttr "tweakSet204.mwc" "footBack_R0_crvShape.iog.og[1].gco"; +connectAttr "mgear_curveCns205.og[0]" "footBack_R0_Shape1.cr"; +connectAttr "tweak205.pl[0].cp[0]" "footBack_R0_Shape1.twl"; +connectAttr "mgear_curveCns205GroupId.id" "footBack_R0_Shape1.iog.og[0].gid"; +connectAttr "mgear_curveCns205Set.mwc" "footBack_R0_Shape1.iog.og[0].gco"; +connectAttr "groupId410.id" "footBack_R0_Shape1.iog.og[1].gid"; +connectAttr "tweakSet205.mwc" "footBack_R0_Shape1.iog.og[1].gco"; +connectAttr "mgear_curveCns203.og[0]" "legBack_R0_crvShape1.cr"; +connectAttr "tweak203.pl[0].cp[0]" "legBack_R0_crvShape1.twl"; +connectAttr "mgear_curveCns203GroupId.id" "legBack_R0_crvShape1.iog.og[0].gid"; +connectAttr "mgear_curveCns203Set.mwc" "legBack_R0_crvShape1.iog.og[0].gco"; +connectAttr "groupId406.id" "legBack_R0_crvShape1.iog.og[1].gid"; +connectAttr "tweakSet203.mwc" "legBack_R0_crvShape1.iog.og[1].gco"; relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message"; relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message"; connectAttr "layerManager.dli[0]" "defaultLayer.id"; connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid"; -connectAttr "spine_C0_blade.bladeRollOffset" "unitConversion28.i"; -connectAttr "mgear_curveCns156GroupParts.og" "mgear_curveCns156.ip[0].ig"; -connectAttr "mgear_curveCns156GroupId.id" "mgear_curveCns156.ip[0].gi"; -connectAttr "spine_C0_root.wm" "mgear_curveCns156.inputs[0]"; -connectAttr "spine_C0_eff.wm" "mgear_curveCns156.inputs[1]"; -connectAttr "groupParts312.og" "tweak156.ip[0].ig"; -connectAttr "groupId312.id" "tweak156.ip[0].gi"; -connectAttr "mgear_curveCns156GroupId.msg" "mgear_curveCns156Set.gn" -na; -connectAttr "spine_C0_crvShape.iog.og[0]" "mgear_curveCns156Set.dsm" -na; -connectAttr "mgear_curveCns156.msg" "mgear_curveCns156Set.ub[0]"; -connectAttr "tweak156.og[0]" "mgear_curveCns156GroupParts.ig"; -connectAttr "mgear_curveCns156GroupId.id" "mgear_curveCns156GroupParts.gi"; -connectAttr "groupId312.msg" "tweakSet156.gn" -na; -connectAttr "spine_C0_crvShape.iog.og[1]" "tweakSet156.dsm" -na; -connectAttr "tweak156.msg" "tweakSet156.ub[0]"; -connectAttr "spine_C0_crvShapeOrig.ws" "groupParts312.ig"; -connectAttr "groupId312.id" "groupParts312.gi"; -connectAttr "neck_C0_blade.bladeRollOffset" "unitConversion29.i"; -connectAttr "mgear_curveCns157GroupParts.og" "mgear_curveCns157.ip[0].ig"; -connectAttr "mgear_curveCns157GroupId.id" "mgear_curveCns157.ip[0].gi"; -connectAttr "neck_C0_root.wm" "mgear_curveCns157.inputs[0]"; -connectAttr "neck_C0_tan0.wm" "mgear_curveCns157.inputs[1]"; -connectAttr "neck_C0_tan1.wm" "mgear_curveCns157.inputs[2]"; -connectAttr "neck_C0_neck.wm" "mgear_curveCns157.inputs[3]"; -connectAttr "groupParts314.og" "tweak157.ip[0].ig"; -connectAttr "groupId314.id" "tweak157.ip[0].gi"; -connectAttr "mgear_curveCns157GroupId.msg" "mgear_curveCns157Set.gn" -na; -connectAttr "neck_C0_neck_crvShape.iog.og[0]" "mgear_curveCns157Set.dsm" -na; -connectAttr "mgear_curveCns157.msg" "mgear_curveCns157Set.ub[0]"; -connectAttr "tweak157.og[0]" "mgear_curveCns157GroupParts.ig"; -connectAttr "mgear_curveCns157GroupId.id" "mgear_curveCns157GroupParts.gi"; -connectAttr "groupId314.msg" "tweakSet157.gn" -na; -connectAttr "neck_C0_neck_crvShape.iog.og[1]" "tweakSet157.dsm" -na; -connectAttr "tweak157.msg" "tweakSet157.ub[0]"; -connectAttr "neck_C0_neck_crvShapeOrig.ws" "groupParts314.ig"; -connectAttr "groupId314.id" "groupParts314.gi"; -connectAttr "mgear_curveCns158GroupParts.og" "mgear_curveCns158.ip[0].ig"; -connectAttr "mgear_curveCns158GroupId.id" "mgear_curveCns158.ip[0].gi"; -connectAttr "neck_C0_neck.wm" "mgear_curveCns158.inputs[0]"; -connectAttr "neck_C0_head.wm" "mgear_curveCns158.inputs[1]"; -connectAttr "neck_C0_eff.wm" "mgear_curveCns158.inputs[2]"; -connectAttr "groupParts316.og" "tweak158.ip[0].ig"; -connectAttr "groupId316.id" "tweak158.ip[0].gi"; -connectAttr "mgear_curveCns158GroupId.msg" "mgear_curveCns158Set.gn" -na; -connectAttr "neck_C0_head_crvShape.iog.og[0]" "mgear_curveCns158Set.dsm" -na; -connectAttr "mgear_curveCns158.msg" "mgear_curveCns158Set.ub[0]"; -connectAttr "tweak158.og[0]" "mgear_curveCns158GroupParts.ig"; -connectAttr "mgear_curveCns158GroupId.id" "mgear_curveCns158GroupParts.gi"; -connectAttr "groupId316.msg" "tweakSet158.gn" -na; -connectAttr "neck_C0_head_crvShape.iog.og[1]" "tweakSet158.dsm" -na; -connectAttr "tweak158.msg" "tweakSet158.ub[0]"; -connectAttr "neck_C0_head_crvShapeOrig.ws" "groupParts316.ig"; -connectAttr "groupId316.id" "groupParts316.gi"; -connectAttr "mgear_curveCns159GroupParts.og" "mgear_curveCns159.ip[0].ig"; -connectAttr "mgear_curveCns159GroupId.id" "mgear_curveCns159.ip[0].gi"; -connectAttr "mouth_C0_root.wm" "mgear_curveCns159.inputs[0]"; -connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns159.inputs[1]"; -connectAttr "groupParts318.og" "tweak159.ip[0].ig"; -connectAttr "groupId318.id" "tweak159.ip[0].gi"; -connectAttr "mgear_curveCns159GroupId.msg" "mgear_curveCns159Set.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns159Set.dsm" +connectAttr "spine_C0_blade.bladeRollOffset" "unitConversion32.i"; +connectAttr "mgear_curveCns183GroupParts.og" "mgear_curveCns183.ip[0].ig"; +connectAttr "mgear_curveCns183GroupId.id" "mgear_curveCns183.ip[0].gi"; +connectAttr "spine_C0_root.wm" "mgear_curveCns183.inputs[0]"; +connectAttr "spine_C0_eff.wm" "mgear_curveCns183.inputs[1]"; +connectAttr "groupParts366.og" "tweak183.ip[0].ig"; +connectAttr "groupId366.id" "tweak183.ip[0].gi"; +connectAttr "mgear_curveCns183GroupId.msg" "mgear_curveCns183Set.gn" -na; +connectAttr "spine_C0_crvShape.iog.og[0]" "mgear_curveCns183Set.dsm" -na; +connectAttr "mgear_curveCns183.msg" "mgear_curveCns183Set.ub[0]"; +connectAttr "tweak183.og[0]" "mgear_curveCns183GroupParts.ig"; +connectAttr "mgear_curveCns183GroupId.id" "mgear_curveCns183GroupParts.gi"; +connectAttr "groupId366.msg" "tweakSet183.gn" -na; +connectAttr "spine_C0_crvShape.iog.og[1]" "tweakSet183.dsm" -na; +connectAttr "tweak183.msg" "tweakSet183.ub[0]"; +connectAttr "spine_C0_crvShapeOrig.ws" "groupParts366.ig"; +connectAttr "groupId366.id" "groupParts366.gi"; +connectAttr "neck_C0_blade.bladeRollOffset" "unitConversion33.i"; +connectAttr "mgear_curveCns184GroupParts.og" "mgear_curveCns184.ip[0].ig"; +connectAttr "mgear_curveCns184GroupId.id" "mgear_curveCns184.ip[0].gi"; +connectAttr "neck_C0_root.wm" "mgear_curveCns184.inputs[0]"; +connectAttr "neck_C0_tan0.wm" "mgear_curveCns184.inputs[1]"; +connectAttr "neck_C0_tan1.wm" "mgear_curveCns184.inputs[2]"; +connectAttr "neck_C0_neck.wm" "mgear_curveCns184.inputs[3]"; +connectAttr "groupParts368.og" "tweak184.ip[0].ig"; +connectAttr "groupId368.id" "tweak184.ip[0].gi"; +connectAttr "mgear_curveCns184GroupId.msg" "mgear_curveCns184Set.gn" -na; +connectAttr "neck_C0_neck_crvShape.iog.og[0]" "mgear_curveCns184Set.dsm" -na; +connectAttr "mgear_curveCns184.msg" "mgear_curveCns184Set.ub[0]"; +connectAttr "tweak184.og[0]" "mgear_curveCns184GroupParts.ig"; +connectAttr "mgear_curveCns184GroupId.id" "mgear_curveCns184GroupParts.gi"; +connectAttr "groupId368.msg" "tweakSet184.gn" -na; +connectAttr "neck_C0_neck_crvShape.iog.og[1]" "tweakSet184.dsm" -na; +connectAttr "tweak184.msg" "tweakSet184.ub[0]"; +connectAttr "neck_C0_neck_crvShapeOrig.ws" "groupParts368.ig"; +connectAttr "groupId368.id" "groupParts368.gi"; +connectAttr "mgear_curveCns185GroupParts.og" "mgear_curveCns185.ip[0].ig"; +connectAttr "mgear_curveCns185GroupId.id" "mgear_curveCns185.ip[0].gi"; +connectAttr "neck_C0_neck.wm" "mgear_curveCns185.inputs[0]"; +connectAttr "neck_C0_head.wm" "mgear_curveCns185.inputs[1]"; +connectAttr "neck_C0_eff.wm" "mgear_curveCns185.inputs[2]"; +connectAttr "groupParts370.og" "tweak185.ip[0].ig"; +connectAttr "groupId370.id" "tweak185.ip[0].gi"; +connectAttr "mgear_curveCns185GroupId.msg" "mgear_curveCns185Set.gn" -na; +connectAttr "neck_C0_head_crvShape.iog.og[0]" "mgear_curveCns185Set.dsm" -na; +connectAttr "mgear_curveCns185.msg" "mgear_curveCns185Set.ub[0]"; +connectAttr "tweak185.og[0]" "mgear_curveCns185GroupParts.ig"; +connectAttr "mgear_curveCns185GroupId.id" "mgear_curveCns185GroupParts.gi"; +connectAttr "groupId370.msg" "tweakSet185.gn" -na; +connectAttr "neck_C0_head_crvShape.iog.og[1]" "tweakSet185.dsm" -na; +connectAttr "tweak185.msg" "tweakSet185.ub[0]"; +connectAttr "neck_C0_head_crvShapeOrig.ws" "groupParts370.ig"; +connectAttr "groupId370.id" "groupParts370.gi"; +connectAttr "mgear_curveCns186GroupParts.og" "mgear_curveCns186.ip[0].ig"; +connectAttr "mgear_curveCns186GroupId.id" "mgear_curveCns186.ip[0].gi"; +connectAttr "mouth_C0_root.wm" "mgear_curveCns186.inputs[0]"; +connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns186.inputs[1]"; +connectAttr "groupParts372.og" "tweak186.ip[0].ig"; +connectAttr "groupId372.id" "tweak186.ip[0].gi"; +connectAttr "mgear_curveCns186GroupId.msg" "mgear_curveCns186Set.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns186Set.dsm" -na; -connectAttr "mgear_curveCns159.msg" "mgear_curveCns159Set.ub[0]"; -connectAttr "tweak159.og[0]" "mgear_curveCns159GroupParts.ig"; -connectAttr "mgear_curveCns159GroupId.id" "mgear_curveCns159GroupParts.gi"; -connectAttr "groupId318.msg" "tweakSet159.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet159.dsm" +connectAttr "mgear_curveCns186.msg" "mgear_curveCns186Set.ub[0]"; +connectAttr "tweak186.og[0]" "mgear_curveCns186GroupParts.ig"; +connectAttr "mgear_curveCns186GroupId.id" "mgear_curveCns186GroupParts.gi"; +connectAttr "groupId372.msg" "tweakSet186.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet186.dsm" -na; -connectAttr "tweak159.msg" "tweakSet159.ub[0]"; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts318.ig" - ; -connectAttr "groupId318.id" "groupParts318.gi"; -connectAttr "mgear_curveCns160GroupParts.og" "mgear_curveCns160.ip[0].ig"; -connectAttr "mgear_curveCns160GroupId.id" "mgear_curveCns160.ip[0].gi"; -connectAttr "mouth_C0_lipup.wm" "mgear_curveCns160.inputs[0]"; -connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns160.inputs[1]"; -connectAttr "groupParts320.og" "tweak160.ip[0].ig"; -connectAttr "groupId320.id" "tweak160.ip[0].gi"; -connectAttr "mgear_curveCns160GroupId.msg" "mgear_curveCns160Set.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns160Set.dsm" +connectAttr "tweak186.msg" "tweakSet186.ub[0]"; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts372.ig" + ; +connectAttr "groupId372.id" "groupParts372.gi"; +connectAttr "mgear_curveCns187GroupParts.og" "mgear_curveCns187.ip[0].ig"; +connectAttr "mgear_curveCns187GroupId.id" "mgear_curveCns187.ip[0].gi"; +connectAttr "mouth_C0_lipup.wm" "mgear_curveCns187.inputs[0]"; +connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns187.inputs[1]"; +connectAttr "groupParts374.og" "tweak187.ip[0].ig"; +connectAttr "groupId374.id" "tweak187.ip[0].gi"; +connectAttr "mgear_curveCns187GroupId.msg" "mgear_curveCns187Set.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns187Set.dsm" -na; -connectAttr "mgear_curveCns160.msg" "mgear_curveCns160Set.ub[0]"; -connectAttr "tweak160.og[0]" "mgear_curveCns160GroupParts.ig"; -connectAttr "mgear_curveCns160GroupId.id" "mgear_curveCns160GroupParts.gi"; -connectAttr "groupId320.msg" "tweakSet160.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet160.dsm" +connectAttr "mgear_curveCns187.msg" "mgear_curveCns187Set.ub[0]"; +connectAttr "tweak187.og[0]" "mgear_curveCns187GroupParts.ig"; +connectAttr "mgear_curveCns187GroupId.id" "mgear_curveCns187GroupParts.gi"; +connectAttr "groupId374.msg" "tweakSet187.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet187.dsm" -na; -connectAttr "tweak160.msg" "tweakSet160.ub[0]"; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts320.ig" - ; -connectAttr "groupId320.id" "groupParts320.gi"; -connectAttr "mgear_curveCns161GroupParts.og" "mgear_curveCns161.ip[0].ig"; -connectAttr "mgear_curveCns161GroupId.id" "mgear_curveCns161.ip[0].gi"; -connectAttr "mouth_C0_liplow.wm" "mgear_curveCns161.inputs[0]"; -connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns161.inputs[1]"; -connectAttr "groupParts322.og" "tweak161.ip[0].ig"; -connectAttr "groupId322.id" "tweak161.ip[0].gi"; -connectAttr "mgear_curveCns161GroupId.msg" "mgear_curveCns161Set.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns161Set.dsm" +connectAttr "tweak187.msg" "tweakSet187.ub[0]"; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_lipup|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts374.ig" + ; +connectAttr "groupId374.id" "groupParts374.gi"; +connectAttr "mgear_curveCns188GroupParts.og" "mgear_curveCns188.ip[0].ig"; +connectAttr "mgear_curveCns188GroupId.id" "mgear_curveCns188.ip[0].gi"; +connectAttr "mouth_C0_liplow.wm" "mgear_curveCns188.inputs[0]"; +connectAttr "mouth_C0_rotcenter.wm" "mgear_curveCns188.inputs[1]"; +connectAttr "groupParts376.og" "tweak188.ip[0].ig"; +connectAttr "groupId376.id" "tweak188.ip[0].gi"; +connectAttr "mgear_curveCns188GroupId.msg" "mgear_curveCns188Set.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[0]" "mgear_curveCns188Set.dsm" -na; -connectAttr "mgear_curveCns161.msg" "mgear_curveCns161Set.ub[0]"; -connectAttr "tweak161.og[0]" "mgear_curveCns161GroupParts.ig"; -connectAttr "mgear_curveCns161GroupId.id" "mgear_curveCns161GroupParts.gi"; -connectAttr "groupId322.msg" "tweakSet161.gn" -na; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet161.dsm" +connectAttr "mgear_curveCns188.msg" "mgear_curveCns188Set.ub[0]"; +connectAttr "tweak188.og[0]" "mgear_curveCns188GroupParts.ig"; +connectAttr "mgear_curveCns188GroupId.id" "mgear_curveCns188GroupParts.gi"; +connectAttr "groupId376.msg" "tweakSet188.gn" -na; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShape.iog.og[1]" "tweakSet188.dsm" -na; -connectAttr "tweak161.msg" "tweakSet161.ub[0]"; -connectAttr "|guide|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts322.ig" - ; -connectAttr "groupId322.id" "groupParts322.gi"; -connectAttr "mgear_curveCns162GroupParts.og" "mgear_curveCns162.ip[0].ig"; -connectAttr "mgear_curveCns162GroupId.id" "mgear_curveCns162.ip[0].gi"; -connectAttr "mouth_C0_root.wm" "mgear_curveCns162.inputs[0]"; -connectAttr "mouth_C0_jaw.wm" "mgear_curveCns162.inputs[1]"; -connectAttr "groupParts324.og" "tweak162.ip[0].ig"; -connectAttr "groupId324.id" "tweak162.ip[0].gi"; -connectAttr "mgear_curveCns162GroupId.msg" "mgear_curveCns162Set.gn" -na; -connectAttr "mouth_C0_crv7Shape.iog.og[0]" "mgear_curveCns162Set.dsm" -na; -connectAttr "mgear_curveCns162.msg" "mgear_curveCns162Set.ub[0]"; -connectAttr "tweak162.og[0]" "mgear_curveCns162GroupParts.ig"; -connectAttr "mgear_curveCns162GroupId.id" "mgear_curveCns162GroupParts.gi"; -connectAttr "groupId324.msg" "tweakSet162.gn" -na; -connectAttr "mouth_C0_crv7Shape.iog.og[1]" "tweakSet162.dsm" -na; -connectAttr "tweak162.msg" "tweakSet162.ub[0]"; -connectAttr "mouth_C0_crv7ShapeOrig.ws" "groupParts324.ig"; -connectAttr "groupId324.id" "groupParts324.gi"; -connectAttr "mgear_curveCns163GroupParts.og" "mgear_curveCns163.ip[0].ig"; -connectAttr "mgear_curveCns163GroupId.id" "mgear_curveCns163.ip[0].gi"; -connectAttr "eye_L0_root.wm" "mgear_curveCns163.inputs[0]"; -connectAttr "eye_L0_look.wm" "mgear_curveCns163.inputs[1]"; -connectAttr "groupParts326.og" "tweak163.ip[0].ig"; -connectAttr "groupId326.id" "tweak163.ip[0].gi"; -connectAttr "mgear_curveCns163GroupId.msg" "mgear_curveCns163Set.gn" -na; -connectAttr "eye_L0_crvShape.iog.og[0]" "mgear_curveCns163Set.dsm" -na; -connectAttr "mgear_curveCns163.msg" "mgear_curveCns163Set.ub[0]"; -connectAttr "tweak163.og[0]" "mgear_curveCns163GroupParts.ig"; -connectAttr "mgear_curveCns163GroupId.id" "mgear_curveCns163GroupParts.gi"; -connectAttr "groupId326.msg" "tweakSet163.gn" -na; -connectAttr "eye_L0_crvShape.iog.og[1]" "tweakSet163.dsm" -na; -connectAttr "tweak163.msg" "tweakSet163.ub[0]"; -connectAttr "eye_L0_crvShapeOrig.ws" "groupParts326.ig"; -connectAttr "groupId326.id" "groupParts326.gi"; -connectAttr "mgear_curveCns164GroupParts.og" "mgear_curveCns164.ip[0].ig"; -connectAttr "mgear_curveCns164GroupId.id" "mgear_curveCns164.ip[0].gi"; -connectAttr "eye_R0_root.wm" "mgear_curveCns164.inputs[0]"; -connectAttr "eye_R0_look.wm" "mgear_curveCns164.inputs[1]"; -connectAttr "groupParts328.og" "tweak164.ip[0].ig"; -connectAttr "groupId328.id" "tweak164.ip[0].gi"; -connectAttr "mgear_curveCns164GroupId.msg" "mgear_curveCns164Set.gn" -na; -connectAttr "eye_R0_crvShape.iog.og[0]" "mgear_curveCns164Set.dsm" -na; -connectAttr "mgear_curveCns164.msg" "mgear_curveCns164Set.ub[0]"; -connectAttr "tweak164.og[0]" "mgear_curveCns164GroupParts.ig"; -connectAttr "mgear_curveCns164GroupId.id" "mgear_curveCns164GroupParts.gi"; -connectAttr "groupId328.msg" "tweakSet164.gn" -na; -connectAttr "eye_R0_crvShape.iog.og[1]" "tweakSet164.dsm" -na; -connectAttr "tweak164.msg" "tweakSet164.ub[0]"; -connectAttr "eye_R0_crvShapeOrig.ws" "groupParts328.ig"; -connectAttr "groupId328.id" "groupParts328.gi"; -connectAttr "shoulder_L0_blade.bladeRollOffset" "unitConversion30.i"; -connectAttr "mgear_curveCns165GroupParts.og" "mgear_curveCns165.ip[0].ig"; -connectAttr "mgear_curveCns165GroupId.id" "mgear_curveCns165.ip[0].gi"; -connectAttr "shoulder_L0_root.wm" "mgear_curveCns165.inputs[0]"; -connectAttr "shoulder_L0_0_loc.wm" "mgear_curveCns165.inputs[1]"; -connectAttr "groupParts330.og" "tweak165.ip[0].ig"; -connectAttr "groupId330.id" "tweak165.ip[0].gi"; -connectAttr "mgear_curveCns165GroupId.msg" "mgear_curveCns165Set.gn" -na; -connectAttr "shoulder_L0_crvShape.iog.og[0]" "mgear_curveCns165Set.dsm" -na; -connectAttr "mgear_curveCns165.msg" "mgear_curveCns165Set.ub[0]"; -connectAttr "tweak165.og[0]" "mgear_curveCns165GroupParts.ig"; -connectAttr "mgear_curveCns165GroupId.id" "mgear_curveCns165GroupParts.gi"; -connectAttr "groupId330.msg" "tweakSet165.gn" -na; -connectAttr "shoulder_L0_crvShape.iog.og[1]" "tweakSet165.dsm" -na; -connectAttr "tweak165.msg" "tweakSet165.ub[0]"; -connectAttr "shoulder_L0_crvShapeOrig.ws" "groupParts330.ig"; -connectAttr "groupId330.id" "groupParts330.gi"; -connectAttr "mgear_curveCns166GroupParts.og" "mgear_curveCns166.ip[0].ig"; -connectAttr "mgear_curveCns166GroupId.id" "mgear_curveCns166.ip[0].gi"; -connectAttr "legFront_L0_root.wm" "mgear_curveCns166.inputs[0]"; -connectAttr "legFront_L0_knee.wm" "mgear_curveCns166.inputs[1]"; -connectAttr "legFront_L0_ankle.wm" "mgear_curveCns166.inputs[2]"; -connectAttr "legFront_L0_foot.wm" "mgear_curveCns166.inputs[3]"; -connectAttr "legFront_L0_eff.wm" "mgear_curveCns166.inputs[4]"; -connectAttr "groupParts332.og" "tweak166.ip[0].ig"; -connectAttr "groupId332.id" "tweak166.ip[0].gi"; -connectAttr "mgear_curveCns166GroupId.msg" "mgear_curveCns166Set.gn" -na; -connectAttr "legFront_L0_crvShape1.iog.og[0]" "mgear_curveCns166Set.dsm" -na; -connectAttr "mgear_curveCns166.msg" "mgear_curveCns166Set.ub[0]"; -connectAttr "tweak166.og[0]" "mgear_curveCns166GroupParts.ig"; -connectAttr "mgear_curveCns166GroupId.id" "mgear_curveCns166GroupParts.gi"; -connectAttr "groupId332.msg" "tweakSet166.gn" -na; -connectAttr "legFront_L0_crvShape1.iog.og[1]" "tweakSet166.dsm" -na; -connectAttr "tweak166.msg" "tweakSet166.ub[0]"; -connectAttr "legFront_L0_crvShape1Orig.ws" "groupParts332.ig"; -connectAttr "groupId332.id" "groupParts332.gi"; -connectAttr "mgear_curveCns167GroupParts.og" "mgear_curveCns167.ip[0].ig"; -connectAttr "mgear_curveCns167GroupId.id" "mgear_curveCns167.ip[0].gi"; -connectAttr "footFront_L0_root.wm" "mgear_curveCns167.inputs[0]"; -connectAttr "footFront_L0_0_loc.wm" "mgear_curveCns167.inputs[1]"; -connectAttr "footFront_L0_1_loc.wm" "mgear_curveCns167.inputs[2]"; -connectAttr "groupParts334.og" "tweak167.ip[0].ig"; -connectAttr "groupId334.id" "tweak167.ip[0].gi"; -connectAttr "mgear_curveCns167GroupId.msg" "mgear_curveCns167Set.gn" -na; -connectAttr "footFront_L0_crvShape.iog.og[0]" "mgear_curveCns167Set.dsm" -na; -connectAttr "mgear_curveCns167.msg" "mgear_curveCns167Set.ub[0]"; -connectAttr "tweak167.og[0]" "mgear_curveCns167GroupParts.ig"; -connectAttr "mgear_curveCns167GroupId.id" "mgear_curveCns167GroupParts.gi"; -connectAttr "groupId334.msg" "tweakSet167.gn" -na; -connectAttr "footFront_L0_crvShape.iog.og[1]" "tweakSet167.dsm" -na; -connectAttr "tweak167.msg" "tweakSet167.ub[0]"; -connectAttr "footFront_L0_crvShapeOrig.ws" "groupParts334.ig"; -connectAttr "groupId334.id" "groupParts334.gi"; -connectAttr "mgear_curveCns168GroupParts.og" "mgear_curveCns168.ip[0].ig"; -connectAttr "mgear_curveCns168GroupId.id" "mgear_curveCns168.ip[0].gi"; -connectAttr "footFront_L0_root.wm" "mgear_curveCns168.inputs[0]"; -connectAttr "footFront_L0_heel.wm" "mgear_curveCns168.inputs[1]"; -connectAttr "footFront_L0_outpivot.wm" "mgear_curveCns168.inputs[2]"; -connectAttr "footFront_L0_heel.wm" "mgear_curveCns168.inputs[3]"; -connectAttr "footFront_L0_inpivot.wm" "mgear_curveCns168.inputs[4]"; -connectAttr "groupParts336.og" "tweak168.ip[0].ig"; -connectAttr "groupId336.id" "tweak168.ip[0].gi"; -connectAttr "mgear_curveCns168GroupId.msg" "mgear_curveCns168Set.gn" -na; -connectAttr "footFront_L0_Shape1.iog.og[0]" "mgear_curveCns168Set.dsm" -na; -connectAttr "mgear_curveCns168.msg" "mgear_curveCns168Set.ub[0]"; -connectAttr "tweak168.og[0]" "mgear_curveCns168GroupParts.ig"; -connectAttr "mgear_curveCns168GroupId.id" "mgear_curveCns168GroupParts.gi"; -connectAttr "groupId336.msg" "tweakSet168.gn" -na; -connectAttr "footFront_L0_Shape1.iog.og[1]" "tweakSet168.dsm" -na; -connectAttr "tweak168.msg" "tweakSet168.ub[0]"; -connectAttr "footFront_L0_Shape1Orig.ws" "groupParts336.ig"; -connectAttr "groupId336.id" "groupParts336.gi"; -connectAttr "shoulder_R0_blade.bladeRollOffset" "unitConversion31.i"; -connectAttr "mgear_curveCns169GroupParts.og" "mgear_curveCns169.ip[0].ig"; -connectAttr "mgear_curveCns169GroupId.id" "mgear_curveCns169.ip[0].gi"; -connectAttr "shoulder_R0_root.wm" "mgear_curveCns169.inputs[0]"; -connectAttr "shoulder_R0_0_loc.wm" "mgear_curveCns169.inputs[1]"; -connectAttr "groupParts338.og" "tweak169.ip[0].ig"; -connectAttr "groupId338.id" "tweak169.ip[0].gi"; -connectAttr "mgear_curveCns169GroupId.msg" "mgear_curveCns169Set.gn" -na; -connectAttr "shoulder_R0_crvShape.iog.og[0]" "mgear_curveCns169Set.dsm" -na; -connectAttr "mgear_curveCns169.msg" "mgear_curveCns169Set.ub[0]"; -connectAttr "tweak169.og[0]" "mgear_curveCns169GroupParts.ig"; -connectAttr "mgear_curveCns169GroupId.id" "mgear_curveCns169GroupParts.gi"; -connectAttr "groupId338.msg" "tweakSet169.gn" -na; -connectAttr "shoulder_R0_crvShape.iog.og[1]" "tweakSet169.dsm" -na; -connectAttr "tweak169.msg" "tweakSet169.ub[0]"; -connectAttr "shoulder_R0_crvShapeOrig.ws" "groupParts338.ig"; -connectAttr "groupId338.id" "groupParts338.gi"; -connectAttr "mgear_curveCns170GroupParts.og" "mgear_curveCns170.ip[0].ig"; -connectAttr "mgear_curveCns170GroupId.id" "mgear_curveCns170.ip[0].gi"; -connectAttr "legFront_R0_root.wm" "mgear_curveCns170.inputs[0]"; -connectAttr "legFront_R0_knee.wm" "mgear_curveCns170.inputs[1]"; -connectAttr "legFront_R0_ankle.wm" "mgear_curveCns170.inputs[2]"; -connectAttr "legFront_R0_foot.wm" "mgear_curveCns170.inputs[3]"; -connectAttr "legFront_R0_eff.wm" "mgear_curveCns170.inputs[4]"; -connectAttr "groupParts340.og" "tweak170.ip[0].ig"; -connectAttr "groupId340.id" "tweak170.ip[0].gi"; -connectAttr "mgear_curveCns170GroupId.msg" "mgear_curveCns170Set.gn" -na; -connectAttr "legFront_R0_crvShape1.iog.og[0]" "mgear_curveCns170Set.dsm" -na; -connectAttr "mgear_curveCns170.msg" "mgear_curveCns170Set.ub[0]"; -connectAttr "tweak170.og[0]" "mgear_curveCns170GroupParts.ig"; -connectAttr "mgear_curveCns170GroupId.id" "mgear_curveCns170GroupParts.gi"; -connectAttr "groupId340.msg" "tweakSet170.gn" -na; -connectAttr "legFront_R0_crvShape1.iog.og[1]" "tweakSet170.dsm" -na; -connectAttr "tweak170.msg" "tweakSet170.ub[0]"; -connectAttr "legFront_R0_crvShape1Orig.ws" "groupParts340.ig"; -connectAttr "groupId340.id" "groupParts340.gi"; -connectAttr "mgear_curveCns171GroupParts.og" "mgear_curveCns171.ip[0].ig"; -connectAttr "mgear_curveCns171GroupId.id" "mgear_curveCns171.ip[0].gi"; -connectAttr "footFront_R0_root.wm" "mgear_curveCns171.inputs[0]"; -connectAttr "footFront_R0_0_loc.wm" "mgear_curveCns171.inputs[1]"; -connectAttr "footFront_R0_1_loc.wm" "mgear_curveCns171.inputs[2]"; -connectAttr "groupParts342.og" "tweak171.ip[0].ig"; -connectAttr "groupId342.id" "tweak171.ip[0].gi"; -connectAttr "mgear_curveCns171GroupId.msg" "mgear_curveCns171Set.gn" -na; -connectAttr "footFront_R0_crvShape.iog.og[0]" "mgear_curveCns171Set.dsm" -na; -connectAttr "mgear_curveCns171.msg" "mgear_curveCns171Set.ub[0]"; -connectAttr "tweak171.og[0]" "mgear_curveCns171GroupParts.ig"; -connectAttr "mgear_curveCns171GroupId.id" "mgear_curveCns171GroupParts.gi"; -connectAttr "groupId342.msg" "tweakSet171.gn" -na; -connectAttr "footFront_R0_crvShape.iog.og[1]" "tweakSet171.dsm" -na; -connectAttr "tweak171.msg" "tweakSet171.ub[0]"; -connectAttr "footFront_R0_crvShapeOrig.ws" "groupParts342.ig"; -connectAttr "groupId342.id" "groupParts342.gi"; -connectAttr "mgear_curveCns172GroupParts.og" "mgear_curveCns172.ip[0].ig"; -connectAttr "mgear_curveCns172GroupId.id" "mgear_curveCns172.ip[0].gi"; -connectAttr "footFront_R0_root.wm" "mgear_curveCns172.inputs[0]"; -connectAttr "footFront_R0_heel.wm" "mgear_curveCns172.inputs[1]"; -connectAttr "footFront_R0_outpivot.wm" "mgear_curveCns172.inputs[2]"; -connectAttr "footFront_R0_heel.wm" "mgear_curveCns172.inputs[3]"; -connectAttr "footFront_R0_inpivot.wm" "mgear_curveCns172.inputs[4]"; -connectAttr "groupParts344.og" "tweak172.ip[0].ig"; -connectAttr "groupId344.id" "tweak172.ip[0].gi"; -connectAttr "mgear_curveCns172GroupId.msg" "mgear_curveCns172Set.gn" -na; -connectAttr "footFront_R0_Shape1.iog.og[0]" "mgear_curveCns172Set.dsm" -na; -connectAttr "mgear_curveCns172.msg" "mgear_curveCns172Set.ub[0]"; -connectAttr "tweak172.og[0]" "mgear_curveCns172GroupParts.ig"; -connectAttr "mgear_curveCns172GroupId.id" "mgear_curveCns172GroupParts.gi"; -connectAttr "groupId344.msg" "tweakSet172.gn" -na; -connectAttr "footFront_R0_Shape1.iog.og[1]" "tweakSet172.dsm" -na; -connectAttr "tweak172.msg" "tweakSet172.ub[0]"; -connectAttr "footFront_R0_Shape1Orig.ws" "groupParts344.ig"; -connectAttr "groupId344.id" "groupParts344.gi"; -connectAttr "mgear_curveCns173GroupParts.og" "mgear_curveCns173.ip[0].ig"; -connectAttr "mgear_curveCns173GroupId.id" "mgear_curveCns173.ip[0].gi"; -connectAttr "legBack_L0_root.wm" "mgear_curveCns173.inputs[0]"; -connectAttr "legBack_L0_knee.wm" "mgear_curveCns173.inputs[1]"; -connectAttr "legBack_L0_ankle.wm" "mgear_curveCns173.inputs[2]"; -connectAttr "legBack_L0_foot.wm" "mgear_curveCns173.inputs[3]"; -connectAttr "legBack_L0_eff.wm" "mgear_curveCns173.inputs[4]"; -connectAttr "groupParts346.og" "tweak173.ip[0].ig"; -connectAttr "groupId346.id" "tweak173.ip[0].gi"; -connectAttr "mgear_curveCns173GroupId.msg" "mgear_curveCns173Set.gn" -na; -connectAttr "legBack_L0_crvShape1.iog.og[0]" "mgear_curveCns173Set.dsm" -na; -connectAttr "mgear_curveCns173.msg" "mgear_curveCns173Set.ub[0]"; -connectAttr "tweak173.og[0]" "mgear_curveCns173GroupParts.ig"; -connectAttr "mgear_curveCns173GroupId.id" "mgear_curveCns173GroupParts.gi"; -connectAttr "groupId346.msg" "tweakSet173.gn" -na; -connectAttr "legBack_L0_crvShape1.iog.og[1]" "tweakSet173.dsm" -na; -connectAttr "tweak173.msg" "tweakSet173.ub[0]"; -connectAttr "legBack_L0_crvShape1Orig.ws" "groupParts346.ig"; -connectAttr "groupId346.id" "groupParts346.gi"; -connectAttr "mgear_curveCns174GroupParts.og" "mgear_curveCns174.ip[0].ig"; -connectAttr "mgear_curveCns174GroupId.id" "mgear_curveCns174.ip[0].gi"; -connectAttr "footBack_L0_root.wm" "mgear_curveCns174.inputs[0]"; -connectAttr "footBack_L0_0_loc.wm" "mgear_curveCns174.inputs[1]"; -connectAttr "footBack_L0_1_loc.wm" "mgear_curveCns174.inputs[2]"; -connectAttr "groupParts348.og" "tweak174.ip[0].ig"; -connectAttr "groupId348.id" "tweak174.ip[0].gi"; -connectAttr "mgear_curveCns174GroupId.msg" "mgear_curveCns174Set.gn" -na; -connectAttr "footBack_L0_crvShape.iog.og[0]" "mgear_curveCns174Set.dsm" -na; -connectAttr "mgear_curveCns174.msg" "mgear_curveCns174Set.ub[0]"; -connectAttr "tweak174.og[0]" "mgear_curveCns174GroupParts.ig"; -connectAttr "mgear_curveCns174GroupId.id" "mgear_curveCns174GroupParts.gi"; -connectAttr "groupId348.msg" "tweakSet174.gn" -na; -connectAttr "footBack_L0_crvShape.iog.og[1]" "tweakSet174.dsm" -na; -connectAttr "tweak174.msg" "tweakSet174.ub[0]"; -connectAttr "footBack_L0_crvShapeOrig.ws" "groupParts348.ig"; -connectAttr "groupId348.id" "groupParts348.gi"; -connectAttr "mgear_curveCns175GroupParts.og" "mgear_curveCns175.ip[0].ig"; -connectAttr "mgear_curveCns175GroupId.id" "mgear_curveCns175.ip[0].gi"; -connectAttr "footBack_L0_root.wm" "mgear_curveCns175.inputs[0]"; -connectAttr "footBack_L0_heel.wm" "mgear_curveCns175.inputs[1]"; -connectAttr "footBack_L0_outpivot.wm" "mgear_curveCns175.inputs[2]"; -connectAttr "footBack_L0_heel.wm" "mgear_curveCns175.inputs[3]"; -connectAttr "footBack_L0_inpivot.wm" "mgear_curveCns175.inputs[4]"; -connectAttr "groupParts350.og" "tweak175.ip[0].ig"; -connectAttr "groupId350.id" "tweak175.ip[0].gi"; -connectAttr "mgear_curveCns175GroupId.msg" "mgear_curveCns175Set.gn" -na; -connectAttr "footBack_L0_Shape1.iog.og[0]" "mgear_curveCns175Set.dsm" -na; -connectAttr "mgear_curveCns175.msg" "mgear_curveCns175Set.ub[0]"; -connectAttr "tweak175.og[0]" "mgear_curveCns175GroupParts.ig"; -connectAttr "mgear_curveCns175GroupId.id" "mgear_curveCns175GroupParts.gi"; -connectAttr "groupId350.msg" "tweakSet175.gn" -na; -connectAttr "footBack_L0_Shape1.iog.og[1]" "tweakSet175.dsm" -na; -connectAttr "tweak175.msg" "tweakSet175.ub[0]"; -connectAttr "footBack_L0_Shape1Orig.ws" "groupParts350.ig"; -connectAttr "groupId350.id" "groupParts350.gi"; -connectAttr "mgear_curveCns176GroupParts.og" "mgear_curveCns176.ip[0].ig"; -connectAttr "mgear_curveCns176GroupId.id" "mgear_curveCns176.ip[0].gi"; -connectAttr "legBack_R0_root.wm" "mgear_curveCns176.inputs[0]"; -connectAttr "legBack_R0_knee.wm" "mgear_curveCns176.inputs[1]"; -connectAttr "legBack_R0_ankle.wm" "mgear_curveCns176.inputs[2]"; -connectAttr "legBack_R0_foot.wm" "mgear_curveCns176.inputs[3]"; -connectAttr "legBack_R0_eff.wm" "mgear_curveCns176.inputs[4]"; -connectAttr "groupParts352.og" "tweak176.ip[0].ig"; -connectAttr "groupId352.id" "tweak176.ip[0].gi"; -connectAttr "mgear_curveCns176GroupId.msg" "mgear_curveCns176Set.gn" -na; -connectAttr "legBack_R0_crvShape1.iog.og[0]" "mgear_curveCns176Set.dsm" -na; -connectAttr "mgear_curveCns176.msg" "mgear_curveCns176Set.ub[0]"; -connectAttr "tweak176.og[0]" "mgear_curveCns176GroupParts.ig"; -connectAttr "mgear_curveCns176GroupId.id" "mgear_curveCns176GroupParts.gi"; -connectAttr "groupId352.msg" "tweakSet176.gn" -na; -connectAttr "legBack_R0_crvShape1.iog.og[1]" "tweakSet176.dsm" -na; -connectAttr "tweak176.msg" "tweakSet176.ub[0]"; -connectAttr "legBack_R0_crvShape1Orig.ws" "groupParts352.ig"; -connectAttr "groupId352.id" "groupParts352.gi"; -connectAttr "mgear_curveCns177GroupParts.og" "mgear_curveCns177.ip[0].ig"; -connectAttr "mgear_curveCns177GroupId.id" "mgear_curveCns177.ip[0].gi"; -connectAttr "footBack_R0_root.wm" "mgear_curveCns177.inputs[0]"; -connectAttr "footBack_R0_0_loc.wm" "mgear_curveCns177.inputs[1]"; -connectAttr "footBack_R0_1_loc.wm" "mgear_curveCns177.inputs[2]"; -connectAttr "groupParts354.og" "tweak177.ip[0].ig"; -connectAttr "groupId354.id" "tweak177.ip[0].gi"; -connectAttr "mgear_curveCns177GroupId.msg" "mgear_curveCns177Set.gn" -na; -connectAttr "footBack_R0_crvShape.iog.og[0]" "mgear_curveCns177Set.dsm" -na; -connectAttr "mgear_curveCns177.msg" "mgear_curveCns177Set.ub[0]"; -connectAttr "tweak177.og[0]" "mgear_curveCns177GroupParts.ig"; -connectAttr "mgear_curveCns177GroupId.id" "mgear_curveCns177GroupParts.gi"; -connectAttr "groupId354.msg" "tweakSet177.gn" -na; -connectAttr "footBack_R0_crvShape.iog.og[1]" "tweakSet177.dsm" -na; -connectAttr "tweak177.msg" "tweakSet177.ub[0]"; -connectAttr "footBack_R0_crvShapeOrig.ws" "groupParts354.ig"; -connectAttr "groupId354.id" "groupParts354.gi"; -connectAttr "mgear_curveCns178GroupParts.og" "mgear_curveCns178.ip[0].ig"; -connectAttr "mgear_curveCns178GroupId.id" "mgear_curveCns178.ip[0].gi"; -connectAttr "footBack_R0_root.wm" "mgear_curveCns178.inputs[0]"; -connectAttr "footBack_R0_heel.wm" "mgear_curveCns178.inputs[1]"; -connectAttr "footBack_R0_outpivot.wm" "mgear_curveCns178.inputs[2]"; -connectAttr "footBack_R0_heel.wm" "mgear_curveCns178.inputs[3]"; -connectAttr "footBack_R0_inpivot.wm" "mgear_curveCns178.inputs[4]"; -connectAttr "groupParts356.og" "tweak178.ip[0].ig"; -connectAttr "groupId356.id" "tweak178.ip[0].gi"; -connectAttr "mgear_curveCns178GroupId.msg" "mgear_curveCns178Set.gn" -na; -connectAttr "footBack_R0_Shape1.iog.og[0]" "mgear_curveCns178Set.dsm" -na; -connectAttr "mgear_curveCns178.msg" "mgear_curveCns178Set.ub[0]"; -connectAttr "tweak178.og[0]" "mgear_curveCns178GroupParts.ig"; -connectAttr "mgear_curveCns178GroupId.id" "mgear_curveCns178GroupParts.gi"; -connectAttr "groupId356.msg" "tweakSet178.gn" -na; -connectAttr "footBack_R0_Shape1.iog.og[1]" "tweakSet178.dsm" -na; -connectAttr "tweak178.msg" "tweakSet178.ub[0]"; -connectAttr "footBack_R0_Shape1Orig.ws" "groupParts356.ig"; -connectAttr "groupId356.id" "groupParts356.gi"; +connectAttr "tweak188.msg" "tweakSet188.ub[0]"; +connectAttr "|guide|global_C0_root|local_C0_root|body_C0_root|spine_C0_root|spine_C0_eff|neck_C0_root|neck_C0_neck|neck_C0_head|mouth_C0_root|mouth_C0_rotcenter|mouth_C0_liplow|mouth_C0_crv|mouth_C0_crvShapeOrig.ws" "groupParts376.ig" + ; +connectAttr "groupId376.id" "groupParts376.gi"; +connectAttr "mgear_curveCns189GroupParts.og" "mgear_curveCns189.ip[0].ig"; +connectAttr "mgear_curveCns189GroupId.id" "mgear_curveCns189.ip[0].gi"; +connectAttr "mouth_C0_root.wm" "mgear_curveCns189.inputs[0]"; +connectAttr "mouth_C0_jaw.wm" "mgear_curveCns189.inputs[1]"; +connectAttr "groupParts378.og" "tweak189.ip[0].ig"; +connectAttr "groupId378.id" "tweak189.ip[0].gi"; +connectAttr "mgear_curveCns189GroupId.msg" "mgear_curveCns189Set.gn" -na; +connectAttr "mouth_C0_crv8Shape.iog.og[0]" "mgear_curveCns189Set.dsm" -na; +connectAttr "mgear_curveCns189.msg" "mgear_curveCns189Set.ub[0]"; +connectAttr "tweak189.og[0]" "mgear_curveCns189GroupParts.ig"; +connectAttr "mgear_curveCns189GroupId.id" "mgear_curveCns189GroupParts.gi"; +connectAttr "groupId378.msg" "tweakSet189.gn" -na; +connectAttr "mouth_C0_crv8Shape.iog.og[1]" "tweakSet189.dsm" -na; +connectAttr "tweak189.msg" "tweakSet189.ub[0]"; +connectAttr "mouth_C0_crv8ShapeOrig.ws" "groupParts378.ig"; +connectAttr "groupId378.id" "groupParts378.gi"; +connectAttr "mgear_curveCns190GroupParts.og" "mgear_curveCns190.ip[0].ig"; +connectAttr "mgear_curveCns190GroupId.id" "mgear_curveCns190.ip[0].gi"; +connectAttr "eye_L0_root.wm" "mgear_curveCns190.inputs[0]"; +connectAttr "eye_L0_look.wm" "mgear_curveCns190.inputs[1]"; +connectAttr "groupParts380.og" "tweak190.ip[0].ig"; +connectAttr "groupId380.id" "tweak190.ip[0].gi"; +connectAttr "mgear_curveCns190GroupId.msg" "mgear_curveCns190Set.gn" -na; +connectAttr "eye_L0_crvShape.iog.og[0]" "mgear_curveCns190Set.dsm" -na; +connectAttr "mgear_curveCns190.msg" "mgear_curveCns190Set.ub[0]"; +connectAttr "tweak190.og[0]" "mgear_curveCns190GroupParts.ig"; +connectAttr "mgear_curveCns190GroupId.id" "mgear_curveCns190GroupParts.gi"; +connectAttr "groupId380.msg" "tweakSet190.gn" -na; +connectAttr "eye_L0_crvShape.iog.og[1]" "tweakSet190.dsm" -na; +connectAttr "tweak190.msg" "tweakSet190.ub[0]"; +connectAttr "eye_L0_crvShapeOrig.ws" "groupParts380.ig"; +connectAttr "groupId380.id" "groupParts380.gi"; +connectAttr "mgear_curveCns191GroupParts.og" "mgear_curveCns191.ip[0].ig"; +connectAttr "mgear_curveCns191GroupId.id" "mgear_curveCns191.ip[0].gi"; +connectAttr "eye_R0_root.wm" "mgear_curveCns191.inputs[0]"; +connectAttr "eye_R0_look.wm" "mgear_curveCns191.inputs[1]"; +connectAttr "groupParts382.og" "tweak191.ip[0].ig"; +connectAttr "groupId382.id" "tweak191.ip[0].gi"; +connectAttr "mgear_curveCns191GroupId.msg" "mgear_curveCns191Set.gn" -na; +connectAttr "eye_R0_crvShape.iog.og[0]" "mgear_curveCns191Set.dsm" -na; +connectAttr "mgear_curveCns191.msg" "mgear_curveCns191Set.ub[0]"; +connectAttr "tweak191.og[0]" "mgear_curveCns191GroupParts.ig"; +connectAttr "mgear_curveCns191GroupId.id" "mgear_curveCns191GroupParts.gi"; +connectAttr "groupId382.msg" "tweakSet191.gn" -na; +connectAttr "eye_R0_crvShape.iog.og[1]" "tweakSet191.dsm" -na; +connectAttr "tweak191.msg" "tweakSet191.ub[0]"; +connectAttr "eye_R0_crvShapeOrig.ws" "groupParts382.ig"; +connectAttr "groupId382.id" "groupParts382.gi"; +connectAttr "shoulder_L0_blade.bladeRollOffset" "unitConversion34.i"; +connectAttr "mgear_curveCns192GroupParts.og" "mgear_curveCns192.ip[0].ig"; +connectAttr "mgear_curveCns192GroupId.id" "mgear_curveCns192.ip[0].gi"; +connectAttr "shoulder_L0_root.wm" "mgear_curveCns192.inputs[0]"; +connectAttr "shoulder_L0_0_loc.wm" "mgear_curveCns192.inputs[1]"; +connectAttr "groupParts384.og" "tweak192.ip[0].ig"; +connectAttr "groupId384.id" "tweak192.ip[0].gi"; +connectAttr "mgear_curveCns192GroupId.msg" "mgear_curveCns192Set.gn" -na; +connectAttr "shoulder_L0_crvShape.iog.og[0]" "mgear_curveCns192Set.dsm" -na; +connectAttr "mgear_curveCns192.msg" "mgear_curveCns192Set.ub[0]"; +connectAttr "tweak192.og[0]" "mgear_curveCns192GroupParts.ig"; +connectAttr "mgear_curveCns192GroupId.id" "mgear_curveCns192GroupParts.gi"; +connectAttr "groupId384.msg" "tweakSet192.gn" -na; +connectAttr "shoulder_L0_crvShape.iog.og[1]" "tweakSet192.dsm" -na; +connectAttr "tweak192.msg" "tweakSet192.ub[0]"; +connectAttr "shoulder_L0_crvShapeOrig.ws" "groupParts384.ig"; +connectAttr "groupId384.id" "groupParts384.gi"; +connectAttr "mgear_curveCns193GroupParts.og" "mgear_curveCns193.ip[0].ig"; +connectAttr "mgear_curveCns193GroupId.id" "mgear_curveCns193.ip[0].gi"; +connectAttr "legFront_L0_root.wm" "mgear_curveCns193.inputs[0]"; +connectAttr "legFront_L0_knee.wm" "mgear_curveCns193.inputs[1]"; +connectAttr "legFront_L0_ankle.wm" "mgear_curveCns193.inputs[2]"; +connectAttr "legFront_L0_foot.wm" "mgear_curveCns193.inputs[3]"; +connectAttr "legFront_L0_eff.wm" "mgear_curveCns193.inputs[4]"; +connectAttr "groupParts386.og" "tweak193.ip[0].ig"; +connectAttr "groupId386.id" "tweak193.ip[0].gi"; +connectAttr "mgear_curveCns193GroupId.msg" "mgear_curveCns193Set.gn" -na; +connectAttr "legFront_L0_crvShape1.iog.og[0]" "mgear_curveCns193Set.dsm" -na; +connectAttr "mgear_curveCns193.msg" "mgear_curveCns193Set.ub[0]"; +connectAttr "tweak193.og[0]" "mgear_curveCns193GroupParts.ig"; +connectAttr "mgear_curveCns193GroupId.id" "mgear_curveCns193GroupParts.gi"; +connectAttr "groupId386.msg" "tweakSet193.gn" -na; +connectAttr "legFront_L0_crvShape1.iog.og[1]" "tweakSet193.dsm" -na; +connectAttr "tweak193.msg" "tweakSet193.ub[0]"; +connectAttr "legFront_L0_crvShape1Orig.ws" "groupParts386.ig"; +connectAttr "groupId386.id" "groupParts386.gi"; +connectAttr "mgear_curveCns194GroupParts.og" "mgear_curveCns194.ip[0].ig"; +connectAttr "mgear_curveCns194GroupId.id" "mgear_curveCns194.ip[0].gi"; +connectAttr "footFront_L0_root.wm" "mgear_curveCns194.inputs[0]"; +connectAttr "footFront_L0_0_loc.wm" "mgear_curveCns194.inputs[1]"; +connectAttr "footFront_L0_1_loc.wm" "mgear_curveCns194.inputs[2]"; +connectAttr "groupParts388.og" "tweak194.ip[0].ig"; +connectAttr "groupId388.id" "tweak194.ip[0].gi"; +connectAttr "mgear_curveCns194GroupId.msg" "mgear_curveCns194Set.gn" -na; +connectAttr "footFront_L0_crvShape.iog.og[0]" "mgear_curveCns194Set.dsm" -na; +connectAttr "mgear_curveCns194.msg" "mgear_curveCns194Set.ub[0]"; +connectAttr "tweak194.og[0]" "mgear_curveCns194GroupParts.ig"; +connectAttr "mgear_curveCns194GroupId.id" "mgear_curveCns194GroupParts.gi"; +connectAttr "groupId388.msg" "tweakSet194.gn" -na; +connectAttr "footFront_L0_crvShape.iog.og[1]" "tweakSet194.dsm" -na; +connectAttr "tweak194.msg" "tweakSet194.ub[0]"; +connectAttr "footFront_L0_crvShapeOrig.ws" "groupParts388.ig"; +connectAttr "groupId388.id" "groupParts388.gi"; +connectAttr "mgear_curveCns195GroupParts.og" "mgear_curveCns195.ip[0].ig"; +connectAttr "mgear_curveCns195GroupId.id" "mgear_curveCns195.ip[0].gi"; +connectAttr "footFront_L0_root.wm" "mgear_curveCns195.inputs[0]"; +connectAttr "footFront_L0_heel.wm" "mgear_curveCns195.inputs[1]"; +connectAttr "footFront_L0_outpivot.wm" "mgear_curveCns195.inputs[2]"; +connectAttr "footFront_L0_heel.wm" "mgear_curveCns195.inputs[3]"; +connectAttr "footFront_L0_inpivot.wm" "mgear_curveCns195.inputs[4]"; +connectAttr "groupParts390.og" "tweak195.ip[0].ig"; +connectAttr "groupId390.id" "tweak195.ip[0].gi"; +connectAttr "mgear_curveCns195GroupId.msg" "mgear_curveCns195Set.gn" -na; +connectAttr "footFront_L0_Shape1.iog.og[0]" "mgear_curveCns195Set.dsm" -na; +connectAttr "mgear_curveCns195.msg" "mgear_curveCns195Set.ub[0]"; +connectAttr "tweak195.og[0]" "mgear_curveCns195GroupParts.ig"; +connectAttr "mgear_curveCns195GroupId.id" "mgear_curveCns195GroupParts.gi"; +connectAttr "groupId390.msg" "tweakSet195.gn" -na; +connectAttr "footFront_L0_Shape1.iog.og[1]" "tweakSet195.dsm" -na; +connectAttr "tweak195.msg" "tweakSet195.ub[0]"; +connectAttr "footFront_L0_Shape1Orig.ws" "groupParts390.ig"; +connectAttr "groupId390.id" "groupParts390.gi"; +connectAttr "shoulder_R0_blade.bladeRollOffset" "unitConversion35.i"; +connectAttr "mgear_curveCns196GroupParts.og" "mgear_curveCns196.ip[0].ig"; +connectAttr "mgear_curveCns196GroupId.id" "mgear_curveCns196.ip[0].gi"; +connectAttr "shoulder_R0_root.wm" "mgear_curveCns196.inputs[0]"; +connectAttr "shoulder_R0_0_loc.wm" "mgear_curveCns196.inputs[1]"; +connectAttr "groupParts392.og" "tweak196.ip[0].ig"; +connectAttr "groupId392.id" "tweak196.ip[0].gi"; +connectAttr "mgear_curveCns196GroupId.msg" "mgear_curveCns196Set.gn" -na; +connectAttr "shoulder_R0_crvShape.iog.og[0]" "mgear_curveCns196Set.dsm" -na; +connectAttr "mgear_curveCns196.msg" "mgear_curveCns196Set.ub[0]"; +connectAttr "tweak196.og[0]" "mgear_curveCns196GroupParts.ig"; +connectAttr "mgear_curveCns196GroupId.id" "mgear_curveCns196GroupParts.gi"; +connectAttr "groupId392.msg" "tweakSet196.gn" -na; +connectAttr "shoulder_R0_crvShape.iog.og[1]" "tweakSet196.dsm" -na; +connectAttr "tweak196.msg" "tweakSet196.ub[0]"; +connectAttr "shoulder_R0_crvShapeOrig.ws" "groupParts392.ig"; +connectAttr "groupId392.id" "groupParts392.gi"; +connectAttr "mgear_curveCns197GroupParts.og" "mgear_curveCns197.ip[0].ig"; +connectAttr "mgear_curveCns197GroupId.id" "mgear_curveCns197.ip[0].gi"; +connectAttr "legFront_R0_root.wm" "mgear_curveCns197.inputs[0]"; +connectAttr "legFront_R0_knee.wm" "mgear_curveCns197.inputs[1]"; +connectAttr "legFront_R0_ankle.wm" "mgear_curveCns197.inputs[2]"; +connectAttr "legFront_R0_foot.wm" "mgear_curveCns197.inputs[3]"; +connectAttr "legFront_R0_eff.wm" "mgear_curveCns197.inputs[4]"; +connectAttr "groupParts394.og" "tweak197.ip[0].ig"; +connectAttr "groupId394.id" "tweak197.ip[0].gi"; +connectAttr "mgear_curveCns197GroupId.msg" "mgear_curveCns197Set.gn" -na; +connectAttr "legFront_R0_crvShape1.iog.og[0]" "mgear_curveCns197Set.dsm" -na; +connectAttr "mgear_curveCns197.msg" "mgear_curveCns197Set.ub[0]"; +connectAttr "tweak197.og[0]" "mgear_curveCns197GroupParts.ig"; +connectAttr "mgear_curveCns197GroupId.id" "mgear_curveCns197GroupParts.gi"; +connectAttr "groupId394.msg" "tweakSet197.gn" -na; +connectAttr "legFront_R0_crvShape1.iog.og[1]" "tweakSet197.dsm" -na; +connectAttr "tweak197.msg" "tweakSet197.ub[0]"; +connectAttr "legFront_R0_crvShape1Orig.ws" "groupParts394.ig"; +connectAttr "groupId394.id" "groupParts394.gi"; +connectAttr "mgear_curveCns198GroupParts.og" "mgear_curveCns198.ip[0].ig"; +connectAttr "mgear_curveCns198GroupId.id" "mgear_curveCns198.ip[0].gi"; +connectAttr "footFront_R0_root.wm" "mgear_curveCns198.inputs[0]"; +connectAttr "footFront_R0_0_loc.wm" "mgear_curveCns198.inputs[1]"; +connectAttr "footFront_R0_1_loc.wm" "mgear_curveCns198.inputs[2]"; +connectAttr "groupParts396.og" "tweak198.ip[0].ig"; +connectAttr "groupId396.id" "tweak198.ip[0].gi"; +connectAttr "mgear_curveCns198GroupId.msg" "mgear_curveCns198Set.gn" -na; +connectAttr "footFront_R0_crvShape.iog.og[0]" "mgear_curveCns198Set.dsm" -na; +connectAttr "mgear_curveCns198.msg" "mgear_curveCns198Set.ub[0]"; +connectAttr "tweak198.og[0]" "mgear_curveCns198GroupParts.ig"; +connectAttr "mgear_curveCns198GroupId.id" "mgear_curveCns198GroupParts.gi"; +connectAttr "groupId396.msg" "tweakSet198.gn" -na; +connectAttr "footFront_R0_crvShape.iog.og[1]" "tweakSet198.dsm" -na; +connectAttr "tweak198.msg" "tweakSet198.ub[0]"; +connectAttr "footFront_R0_crvShapeOrig.ws" "groupParts396.ig"; +connectAttr "groupId396.id" "groupParts396.gi"; +connectAttr "mgear_curveCns199GroupParts.og" "mgear_curveCns199.ip[0].ig"; +connectAttr "mgear_curveCns199GroupId.id" "mgear_curveCns199.ip[0].gi"; +connectAttr "footFront_R0_root.wm" "mgear_curveCns199.inputs[0]"; +connectAttr "footFront_R0_heel.wm" "mgear_curveCns199.inputs[1]"; +connectAttr "footFront_R0_outpivot.wm" "mgear_curveCns199.inputs[2]"; +connectAttr "footFront_R0_heel.wm" "mgear_curveCns199.inputs[3]"; +connectAttr "footFront_R0_inpivot.wm" "mgear_curveCns199.inputs[4]"; +connectAttr "groupParts398.og" "tweak199.ip[0].ig"; +connectAttr "groupId398.id" "tweak199.ip[0].gi"; +connectAttr "mgear_curveCns199GroupId.msg" "mgear_curveCns199Set.gn" -na; +connectAttr "footFront_R0_Shape1.iog.og[0]" "mgear_curveCns199Set.dsm" -na; +connectAttr "mgear_curveCns199.msg" "mgear_curveCns199Set.ub[0]"; +connectAttr "tweak199.og[0]" "mgear_curveCns199GroupParts.ig"; +connectAttr "mgear_curveCns199GroupId.id" "mgear_curveCns199GroupParts.gi"; +connectAttr "groupId398.msg" "tweakSet199.gn" -na; +connectAttr "footFront_R0_Shape1.iog.og[1]" "tweakSet199.dsm" -na; +connectAttr "tweak199.msg" "tweakSet199.ub[0]"; +connectAttr "footFront_R0_Shape1Orig.ws" "groupParts398.ig"; +connectAttr "groupId398.id" "groupParts398.gi"; +connectAttr "mgear_curveCns200GroupParts.og" "mgear_curveCns200.ip[0].ig"; +connectAttr "mgear_curveCns200GroupId.id" "mgear_curveCns200.ip[0].gi"; +connectAttr "legBack_L0_root.wm" "mgear_curveCns200.inputs[0]"; +connectAttr "legBack_L0_knee.wm" "mgear_curveCns200.inputs[1]"; +connectAttr "legBack_L0_ankle.wm" "mgear_curveCns200.inputs[2]"; +connectAttr "legBack_L0_foot.wm" "mgear_curveCns200.inputs[3]"; +connectAttr "legBack_L0_eff.wm" "mgear_curveCns200.inputs[4]"; +connectAttr "groupParts400.og" "tweak200.ip[0].ig"; +connectAttr "groupId400.id" "tweak200.ip[0].gi"; +connectAttr "mgear_curveCns200GroupId.msg" "mgear_curveCns200Set.gn" -na; +connectAttr "legBack_L0_crvShape1.iog.og[0]" "mgear_curveCns200Set.dsm" -na; +connectAttr "mgear_curveCns200.msg" "mgear_curveCns200Set.ub[0]"; +connectAttr "tweak200.og[0]" "mgear_curveCns200GroupParts.ig"; +connectAttr "mgear_curveCns200GroupId.id" "mgear_curveCns200GroupParts.gi"; +connectAttr "groupId400.msg" "tweakSet200.gn" -na; +connectAttr "legBack_L0_crvShape1.iog.og[1]" "tweakSet200.dsm" -na; +connectAttr "tweak200.msg" "tweakSet200.ub[0]"; +connectAttr "legBack_L0_crvShape1Orig.ws" "groupParts400.ig"; +connectAttr "groupId400.id" "groupParts400.gi"; +connectAttr "mgear_curveCns201GroupParts.og" "mgear_curveCns201.ip[0].ig"; +connectAttr "mgear_curveCns201GroupId.id" "mgear_curveCns201.ip[0].gi"; +connectAttr "footBack_L0_root.wm" "mgear_curveCns201.inputs[0]"; +connectAttr "footBack_L0_0_loc.wm" "mgear_curveCns201.inputs[1]"; +connectAttr "footBack_L0_1_loc.wm" "mgear_curveCns201.inputs[2]"; +connectAttr "groupParts402.og" "tweak201.ip[0].ig"; +connectAttr "groupId402.id" "tweak201.ip[0].gi"; +connectAttr "mgear_curveCns201GroupId.msg" "mgear_curveCns201Set.gn" -na; +connectAttr "footBack_L0_crvShape.iog.og[0]" "mgear_curveCns201Set.dsm" -na; +connectAttr "mgear_curveCns201.msg" "mgear_curveCns201Set.ub[0]"; +connectAttr "tweak201.og[0]" "mgear_curveCns201GroupParts.ig"; +connectAttr "mgear_curveCns201GroupId.id" "mgear_curveCns201GroupParts.gi"; +connectAttr "groupId402.msg" "tweakSet201.gn" -na; +connectAttr "footBack_L0_crvShape.iog.og[1]" "tweakSet201.dsm" -na; +connectAttr "tweak201.msg" "tweakSet201.ub[0]"; +connectAttr "footBack_L0_crvShapeOrig.ws" "groupParts402.ig"; +connectAttr "groupId402.id" "groupParts402.gi"; +connectAttr "mgear_curveCns202GroupParts.og" "mgear_curveCns202.ip[0].ig"; +connectAttr "mgear_curveCns202GroupId.id" "mgear_curveCns202.ip[0].gi"; +connectAttr "footBack_L0_root.wm" "mgear_curveCns202.inputs[0]"; +connectAttr "footBack_L0_heel.wm" "mgear_curveCns202.inputs[1]"; +connectAttr "footBack_L0_outpivot.wm" "mgear_curveCns202.inputs[2]"; +connectAttr "footBack_L0_heel.wm" "mgear_curveCns202.inputs[3]"; +connectAttr "footBack_L0_inpivot.wm" "mgear_curveCns202.inputs[4]"; +connectAttr "groupParts404.og" "tweak202.ip[0].ig"; +connectAttr "groupId404.id" "tweak202.ip[0].gi"; +connectAttr "mgear_curveCns202GroupId.msg" "mgear_curveCns202Set.gn" -na; +connectAttr "footBack_L0_Shape1.iog.og[0]" "mgear_curveCns202Set.dsm" -na; +connectAttr "mgear_curveCns202.msg" "mgear_curveCns202Set.ub[0]"; +connectAttr "tweak202.og[0]" "mgear_curveCns202GroupParts.ig"; +connectAttr "mgear_curveCns202GroupId.id" "mgear_curveCns202GroupParts.gi"; +connectAttr "groupId404.msg" "tweakSet202.gn" -na; +connectAttr "footBack_L0_Shape1.iog.og[1]" "tweakSet202.dsm" -na; +connectAttr "tweak202.msg" "tweakSet202.ub[0]"; +connectAttr "footBack_L0_Shape1Orig.ws" "groupParts404.ig"; +connectAttr "groupId404.id" "groupParts404.gi"; +connectAttr "mgear_curveCns203GroupParts.og" "mgear_curveCns203.ip[0].ig"; +connectAttr "mgear_curveCns203GroupId.id" "mgear_curveCns203.ip[0].gi"; +connectAttr "legBack_R0_root.wm" "mgear_curveCns203.inputs[0]"; +connectAttr "legBack_R0_knee.wm" "mgear_curveCns203.inputs[1]"; +connectAttr "legBack_R0_ankle.wm" "mgear_curveCns203.inputs[2]"; +connectAttr "legBack_R0_foot.wm" "mgear_curveCns203.inputs[3]"; +connectAttr "legBack_R0_eff.wm" "mgear_curveCns203.inputs[4]"; +connectAttr "groupParts406.og" "tweak203.ip[0].ig"; +connectAttr "groupId406.id" "tweak203.ip[0].gi"; +connectAttr "mgear_curveCns203GroupId.msg" "mgear_curveCns203Set.gn" -na; +connectAttr "legBack_R0_crvShape1.iog.og[0]" "mgear_curveCns203Set.dsm" -na; +connectAttr "mgear_curveCns203.msg" "mgear_curveCns203Set.ub[0]"; +connectAttr "tweak203.og[0]" "mgear_curveCns203GroupParts.ig"; +connectAttr "mgear_curveCns203GroupId.id" "mgear_curveCns203GroupParts.gi"; +connectAttr "groupId406.msg" "tweakSet203.gn" -na; +connectAttr "legBack_R0_crvShape1.iog.og[1]" "tweakSet203.dsm" -na; +connectAttr "tweak203.msg" "tweakSet203.ub[0]"; +connectAttr "legBack_R0_crvShape1Orig.ws" "groupParts406.ig"; +connectAttr "groupId406.id" "groupParts406.gi"; +connectAttr "mgear_curveCns204GroupParts.og" "mgear_curveCns204.ip[0].ig"; +connectAttr "mgear_curveCns204GroupId.id" "mgear_curveCns204.ip[0].gi"; +connectAttr "footBack_R0_root.wm" "mgear_curveCns204.inputs[0]"; +connectAttr "footBack_R0_0_loc.wm" "mgear_curveCns204.inputs[1]"; +connectAttr "footBack_R0_1_loc.wm" "mgear_curveCns204.inputs[2]"; +connectAttr "groupParts408.og" "tweak204.ip[0].ig"; +connectAttr "groupId408.id" "tweak204.ip[0].gi"; +connectAttr "mgear_curveCns204GroupId.msg" "mgear_curveCns204Set.gn" -na; +connectAttr "footBack_R0_crvShape.iog.og[0]" "mgear_curveCns204Set.dsm" -na; +connectAttr "mgear_curveCns204.msg" "mgear_curveCns204Set.ub[0]"; +connectAttr "tweak204.og[0]" "mgear_curveCns204GroupParts.ig"; +connectAttr "mgear_curveCns204GroupId.id" "mgear_curveCns204GroupParts.gi"; +connectAttr "groupId408.msg" "tweakSet204.gn" -na; +connectAttr "footBack_R0_crvShape.iog.og[1]" "tweakSet204.dsm" -na; +connectAttr "tweak204.msg" "tweakSet204.ub[0]"; +connectAttr "footBack_R0_crvShapeOrig.ws" "groupParts408.ig"; +connectAttr "groupId408.id" "groupParts408.gi"; +connectAttr "mgear_curveCns205GroupParts.og" "mgear_curveCns205.ip[0].ig"; +connectAttr "mgear_curveCns205GroupId.id" "mgear_curveCns205.ip[0].gi"; +connectAttr "footBack_R0_root.wm" "mgear_curveCns205.inputs[0]"; +connectAttr "footBack_R0_heel.wm" "mgear_curveCns205.inputs[1]"; +connectAttr "footBack_R0_outpivot.wm" "mgear_curveCns205.inputs[2]"; +connectAttr "footBack_R0_heel.wm" "mgear_curveCns205.inputs[3]"; +connectAttr "footBack_R0_inpivot.wm" "mgear_curveCns205.inputs[4]"; +connectAttr "groupParts410.og" "tweak205.ip[0].ig"; +connectAttr "groupId410.id" "tweak205.ip[0].gi"; +connectAttr "mgear_curveCns205GroupId.msg" "mgear_curveCns205Set.gn" -na; +connectAttr "footBack_R0_Shape1.iog.og[0]" "mgear_curveCns205Set.dsm" -na; +connectAttr "mgear_curveCns205.msg" "mgear_curveCns205Set.ub[0]"; +connectAttr "tweak205.og[0]" "mgear_curveCns205GroupParts.ig"; +connectAttr "mgear_curveCns205GroupId.id" "mgear_curveCns205GroupParts.gi"; +connectAttr "groupId410.msg" "tweakSet205.gn" -na; +connectAttr "footBack_R0_Shape1.iog.og[1]" "tweakSet205.dsm" -na; +connectAttr "tweak205.msg" "tweakSet205.ub[0]"; +connectAttr "footBack_R0_Shape1Orig.ws" "groupParts410.ig"; +connectAttr "groupId410.id" "groupParts410.gi"; connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na; // End of quadruped.ma diff --git a/scripts/mgear/maya/shifter/component/arm_2jnt_01/__init__.py b/scripts/mgear/maya/shifter/component/arm_2jnt_01/__init__.py index 4392a48..82d12f1 100644 --- a/scripts/mgear/maya/shifter/component/arm_2jnt_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/arm_2jnt_01/__init__.py @@ -1,305 +1,575 @@ -# MGEAR is under the terms of the MIT License +"""Component Arm 2 joints 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# -# Maya import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes +from mgear.maya.shifter import component -# mgear -from mgear.maya.shifter.component import MainComponent - -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec -import mgear.maya.applyop as aop -import mgear.maya.fcurve as fcu +from mgear.maya import node, fcurve, applyop, vector +from mgear.maya import attribute, transform, primitive ############################################# # COMPONENT ############################################# -class Component(MainComponent): - def addObjects(self): - """ +class Component(component.Main): + """Shifter component Class""" + + # ===================================================== + # OBJECTS + # ===================================================== + def addObjects(self): + """Add all the objects needed to create the component.""" - """ self.WIP = self.options["mode"] self.normal = self.getNormalFromPos(self.guide.apos) self.binormal = self.getBiNormalFromPos(self.guide.apos) - self.length0 = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) - self.length1 = vec.getDistance(self.guide.apos[1], self.guide.apos[2]) - self.length2 = vec.getDistance(self.guide.apos[2], self.guide.apos[3]) + self.length0 = vector.getDistance(self.guide.apos[0], + self.guide.apos[1]) + self.length1 = vector.getDistance(self.guide.apos[1], + self.guide.apos[2]) + self.length2 = vector.getDistance(self.guide.apos[2], + self.guide.apos[3]) # 1 bone chain for upv ref - self.armChainUpvRef = pri.add2DChain(self.root, self.getName("armUpvRef%s_jnt"), [self.guide.apos[0],self.guide.apos[2]], self.normal, False, self.WIP) - self.armChainUpvRef[1].setAttr("jointOrientZ", self.armChainUpvRef[1].getAttr("jointOrientZ")*-1) - - # FK Controlers ----------------------------------- - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.normal, "xz", self.negate) - self.fk0_npo = pri.addTransform(self.root, self.getName("fk0_npo"), t) - self.fk0_ctl = self.addCtl(self.fk0_npo, "fk0_ctl", t, self.color_fk, "cube", w=self.length0, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length0*self.n_factor,0,0),tp=self.parentCtlTag) - att.setKeyableAttributes(self.fk0_ctl, ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) + self.armChainUpvRef = primitive.add2DChain( + self.root, + self.getName("armUpvRef%s_jnt"), + [self.guide.apos[0], self.guide.apos[2]], + self.normal, False, self.WIP) - t = tra.getTransformLookingAt(self.guide.apos[1], self.guide.apos[2], self.normal, "xz", self.negate) - self.fk1_npo = pri.addTransform(self.fk0_ctl, self.getName("fk1_npo"), t) - self.fk1_ctl = self.addCtl(self.fk1_npo, "fk1_ctl", t, self.color_fk, "cube", w=self.length1, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length1*self.n_factor,0,0),tp=self.fk0_ctl ) - att.setKeyableAttributes(self.fk1_ctl, ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) + negateOri = self.armChainUpvRef[1].getAttr("jointOrientZ") * -1 + self.armChainUpvRef[1].setAttr("jointOrientZ", negateOri) - t = tra.getTransformLookingAt(self.guide.apos[2], self.guide.apos[3], self.normal, "xz", self.negate) - self.fk2_npo = pri.addTransform(self.fk1_ctl, self.getName("fk2_npo"), t) - self.fk2_ctl = self.addCtl(self.fk2_npo, "fk2_ctl", t, self.color_fk, "cube", w=self.length2, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length2*self.n_factor,0,0), tp=self.fk1_ctl) - att.setKeyableAttributes(self.fk2_ctl) + # FK Controlers ----------------------------------- + t = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.normal, "xz", + self.negate) + + self.fk0_npo = primitive.addTransform(self.root, + self.getName("fk0_npo"), + t) + + vec_po = datatypes.Vector(.5 * self.length0 * self.n_factor, 0, 0) + self.fk0_ctl = self.addCtl(self.fk0_npo, + "fk0_ctl", + t, + self.color_fk, + "cube", + w=self.length0, + h=self.size * .1, + d=self.size * .1, + po=vec_po, + tp=self.parentCtlTag) + + attribute.setKeyableAttributes( + self.fk0_ctl, + ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) + + t = transform.getTransformLookingAt(self.guide.apos[1], + self.guide.apos[2], + self.normal, + "xz", + self.negate) + + self.fk1_npo = primitive.addTransform(self.fk0_ctl, + self.getName("fk1_npo"), + t) + vec_po = datatypes.Vector(.5 * self.length1 * self.n_factor, 0, 0) + self.fk1_ctl = self.addCtl(self.fk1_npo, + "fk1_ctl", + t, + self.color_fk, + "cube", + w=self.length1, + h=self.size * .1, + d=self.size * .1, + po=vec_po, + tp=self.fk0_ctl) + + attribute.setKeyableAttributes( + self.fk1_ctl, + ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) + + t = transform.getTransformLookingAt(self.guide.apos[2], + self.guide.apos[3], + self.normal, + "xz", + self.negate) + + self.fk2_npo = primitive.addTransform(self.fk1_ctl, + self.getName("fk2_npo"), + t) + + vec_po = datatypes.Vector(.5 * self.length2 * self.n_factor, 0, 0) + self.fk2_ctl = self.addCtl(self.fk2_npo, + "fk2_ctl", + t, + self.color_fk, + "cube", + w=self.length2, + h=self.size * .1, + d=self.size * .1, + po=vec_po, + tp=self.fk1_ctl) + + attribute.setKeyableAttributes(self.fk2_ctl) self.fk_ctl = [self.fk0_ctl, self.fk1_ctl, self.fk2_ctl] - for x in self.fk_ctl: - att.setInvertMirror(x, ["tx", "ty", "tz"]) - + for x in self.fk_ctl: + attribute.setInvertMirror(x, ["tx", "ty", "tz"]) # IK Controlers ----------------------------------- - self.ik_cns = pri.addTransformFromPos(self.root, self.getName("ik_cns"), self.guide.pos["wrist"]) + self.ik_cns = primitive.addTransformFromPos( + self.root, self.getName("ik_cns"), self.guide.pos["wrist"]) + + t = transform.getTransformFromPos(self.guide.pos["wrist"]) + self.ikcns_ctl = self.addCtl(self.ik_cns, + "ikcns_ctl", + t, + self.color_ik, + "null", + w=self.size * .12, + tp=self.parentCtlTag) - self.ikcns_ctl = self.addCtl(self.ik_cns, "ikcns_ctl", tra.getTransformFromPos(self.guide.pos["wrist"]), self.color_ik, "null", w=self.size*.12, tp=self.parentCtlTag) - att.setInvertMirror(self.ikcns_ctl, ["tx", "ty", "tz"]) + attribute.setInvertMirror(self.ikcns_ctl, ["tx", "ty", "tz"]) if self.negate: - m = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "x-y", True) + m = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "x-y", + True) else: - m = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "xy", False) - self.ik_ctl = self.addCtl(self.ikcns_ctl, "ik_ctl", m, self.color_ik, "cube", w=self.size*.12, h=self.size*.12, d=self.size*.12, tp=self.ikcns_ctl) + m = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "xy", + False) + + self.ik_ctl = self.addCtl(self.ikcns_ctl, + "ik_ctl", + m, + self.color_ik, + "cube", + w=self.size * .12, + h=self.size * .12, + d=self.size * .12, + tp=self.ikcns_ctl) + if self.settings["mirrorIK"]: if self.negate: self.ik_cns.sx.set(-1) - self.ik_ctl.rz.set(self.ik_ctl.rz.get()*-1) + self.ik_ctl.rz.set(self.ik_ctl.rz.get() * -1) else: - att.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) - att.setKeyableAttributes(self.ik_ctl) - self.ik_ctl_ref = pri.addTransform(self.ik_ctl, self.getName("ikCtl_ref"), m) + attribute.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) + attribute.setKeyableAttributes(self.ik_ctl) + self.ik_ctl_ref = primitive.addTransform(self.ik_ctl, + self.getName("ikCtl_ref"), + m) # upv v = self.guide.apos[2] - self.guide.apos[0] v = self.normal ^ v v.normalize() - v *= self.size*.5 + v *= self.size * .5 v += self.guide.apos[1] - self.upv_cns = pri.addTransformFromPos(self.root, self.getName("upv_cns"), v) + self.upv_cns = primitive.addTransformFromPos(self.root, + self.getName("upv_cns"), + v) + + self.upv_ctl = self.addCtl(self.upv_cns, + "upv_ctl", + transform.getTransform(self.upv_cns), + self.color_ik, + "diamond", + w=self.size * .12, + tp=self.parentCtlTag) - self.upv_ctl = self.addCtl(self.upv_cns, "upv_ctl", tra.getTransform(self.upv_cns), self.color_ik, "diamond", w=self.size*.12, tp=self.parentCtlTag) if self.settings["mirrorMid"]: if self.negate: self.upv_cns.rz.set(180) self.upv_cns.sy.set(-1) else: - att.setInvertMirror(self.upv_ctl, ["tx"]) - att.setKeyableAttributes(self.upv_ctl, self.t_params) + attribute.setInvertMirror(self.upv_ctl, ["tx"]) + attribute.setKeyableAttributes(self.upv_ctl, self.t_params) - #IK rotation controls + # IK rotation controls if self.settings["ikTR"]: - self.ikRot_npo = pri.addTransform(self.root, self.getName("ikRot_npo"), m) - self.ikRot_cns = pri.addTransform(self.ikRot_npo, self.getName("ikRot_cns"), m) - self.ikRot_ctl = self.addCtl(self.ikRot_cns, "ikRot_ctl", m, self.color_ik, "sphere", w=self.size*.12, tp=self.ik_ctl) - att.setKeyableAttributes(self.ikRot_ctl, self.r_params) - - + self.ikRot_npo = primitive.addTransform(self.root, + self.getName("ikRot_npo"), + m) + self.ikRot_cns = primitive.addTransform(self.ikRot_npo, + self.getName("ikRot_cns"), + m) + self.ikRot_ctl = self.addCtl(self.ikRot_cns, + "ikRot_ctl", + m, + self.color_ik, + "sphere", + w=self.size * .12, + tp=self.ik_ctl) + + attribute.setKeyableAttributes(self.ikRot_ctl, self.r_params) # References -------------------------------------- # Calculate again the transfor for the IK ref. This way align with FK - trnIK_ref = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "xz", self.negate) - self.ik_ref = pri.addTransform(self.ik_ctl_ref, self.getName("ik_ref"), trnIK_ref) - self.fk_ref = pri.addTransform(self.fk_ctl[2], self.getName("fk_ref"), trnIK_ref) + trnIK_ref = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "xz", + self.negate) + self.ik_ref = primitive.addTransform(self.ik_ctl_ref, + self.getName("ik_ref"), + trnIK_ref) + self.fk_ref = primitive.addTransform(self.fk_ctl[2], + self.getName("fk_ref"), + trnIK_ref) # Chain -------------------------------------------- # The outputs of the ikfk2bone solver - self.bone0 = pri.addLocator(self.root, self.getName("0_bone"), tra.getTransform(self.fk_ctl[0])) + self.bone0 = primitive.addLocator( + self.root, + self.getName("0_bone"), + transform.getTransform(self.fk_ctl[0])) self.bone0_shp = self.bone0.getShape() - self.bone0_shp.setAttr("localPositionX", self.n_factor*.5) + self.bone0_shp.setAttr("localPositionX", self.n_factor * .5) self.bone0_shp.setAttr("localScale", .5, 0, 0) self.bone0.setAttr("sx", self.length0) self.bone0.setAttr("visibility", False) - self.bone1 = pri.addLocator(self.root, self.getName("1_bone"), tra.getTransform(self.fk_ctl[1])) + self.bone1 = primitive.addLocator( + self.root, + self.getName("1_bone"), + transform.getTransform(self.fk_ctl[1])) self.bone1_shp = self.bone1.getShape() - self.bone1_shp.setAttr("localPositionX", self.n_factor*.5) + self.bone1_shp.setAttr("localPositionX", self.n_factor * .5) self.bone1_shp.setAttr("localScale", .5, 0, 0) self.bone1.setAttr("sx", self.length1) self.bone1.setAttr("visibility", False) - self.ctrn_loc = pri.addTransformFromPos(self.root, self.getName("ctrn_loc"), self.guide.apos[1]) - self.eff_loc = pri.addTransformFromPos(self.root, self.getName("eff_loc"), self.guide.apos[2]) + self.ctrn_loc = primitive.addTransformFromPos(self.root, + self.getName("ctrn_loc"), + self.guide.apos[1]) + self.eff_loc = primitive.addTransformFromPos(self.root, + self.getName("eff_loc"), + self.guide.apos[2]) # Mid Controler ------------------------------------ - t = tra.getTransform(self.ctrn_loc) - self.mid_cns = pri.addTransform(self.ctrn_loc, self.getName("mid_cns"), t) - self.mid_ctl = self.addCtl(self.mid_cns, "mid_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.parentCtlTag) + t = transform.getTransform(self.ctrn_loc) + + self.mid_cns = primitive.addTransform(self.ctrn_loc, + self.getName("mid_cns"), + t) + + self.mid_ctl = self.addCtl(self.mid_cns, + "mid_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.parentCtlTag) if self.settings["mirrorMid"]: if self.negate: self.mid_cns.rz.set(180) self.mid_cns.sz.set(-1) - self.mid_ctl_twst_npo = pri.addTransform(self.mid_ctl, self.getName("mid_twst_npo"), t) - self.mid_ctl_twst_ref = pri.addTransform(self.mid_ctl_twst_npo, self.getName("mid_twst_ref"), t) + self.mid_ctl_twst_npo = primitive.addTransform( + self.mid_ctl, + self.getName("mid_twst_npo"), + t) + self.mid_ctl_twst_ref = primitive.addTransform( + self.mid_ctl_twst_npo, + self.getName("mid_twst_ref"), + t) else: self.mid_ctl_twst_ref = self.mid_ctl - att.setInvertMirror(self.mid_ctl, ["tx", "ty", "tz"]) - + attribute.setInvertMirror(self.mid_ctl, ["tx", "ty", "tz"]) - #Roll join ref - self.rollRef = pri.add2DChain(self.root, self.getName("rollChain"), self.guide.apos[:2], self.normal, self.negate) + # Roll join ref + self.rollRef = primitive.add2DChain(self.root, self.getName( + "rollChain"), self.guide.apos[:2], self.normal, self.negate) for x in self.rollRef: x.setAttr("visibility", False) - self.tws0_loc = pri.addTransform(self.rollRef[0], self.getName("tws0_loc"), tra.getTransform(self.fk_ctl[0])) - self.tws0_rot = pri.addTransform(self.tws0_loc, self.getName("tws0_rot"), tra.getTransform(self.fk_ctl[0])) - - self.tws1_npo = pri.addTransform(self.ctrn_loc, self.getName("tws1_npo"), tra.getTransform(self.ctrn_loc)) - self.tws1_loc = pri.addTransform(self.tws1_npo, self.getName("tws1_loc"), tra.getTransform(self.ctrn_loc)) - self.tws1_rot = pri.addTransform(self.tws1_loc, self.getName("tws1_rot"), tra.getTransform(self.ctrn_loc)) - - self.tws2_npo = pri.addTransform(self.root, self.getName("tws2_npo"), tra.getTransform(self.fk_ctl[2])) - self.tws2_loc = pri.addTransform(self.tws2_npo, self.getName("tws2_loc"), tra.getTransform(self.fk_ctl[2])) - self.tws2_rot = pri.addTransform(self.tws2_loc, self.getName("tws2_rot"), tra.getTransform(self.fk_ctl[2])) + self.tws0_loc = primitive.addTransform( + self.rollRef[0], + self.getName("tws0_loc"), + transform.getTransform(self.fk_ctl[0])) + self.tws0_rot = primitive.addTransform( + self.tws0_loc, + self.getName("tws0_rot"), + transform.getTransform(self.fk_ctl[0])) + + self.tws1_npo = primitive.addTransform( + self.ctrn_loc, + self.getName("tws1_npo"), + transform.getTransform(self.ctrn_loc)) + self.tws1_loc = primitive.addTransform( + self.tws1_npo, + self.getName("tws1_loc"), + transform.getTransform(self.ctrn_loc)) + self.tws1_rot = primitive.addTransform( + self.tws1_loc, + self.getName("tws1_rot"), + transform.getTransform(self.ctrn_loc)) + + self.tws2_npo = primitive.addTransform( + self.root, + self.getName("tws2_npo"), + transform.getTransform(self.fk_ctl[2])) + self.tws2_loc = primitive.addTransform( + self.tws2_npo, + self.getName("tws2_loc"), + transform.getTransform(self.fk_ctl[2])) + self.tws2_rot = primitive.addTransform( + self.tws2_loc, + self.getName("tws2_rot"), + transform.getTransform(self.fk_ctl[2])) # Divisions ---------------------------------------- - # We have at least one division at the start, the end and one for the elbow. + 2 for elbow angle control + # We have at least one division at the start, the end and one for the + # elbow. + 2 for elbow angle control self.divisions = self.settings["div0"] + self.settings["div1"] + 3 + 2 self.div_cns = [] for i in range(self.divisions): - div_cns = pri.addTransform(self.root, self.getName("div%s_loc" % i)) + div_cns = primitive.addTransform(self.root, + self.getName("div%s_loc" % i)) self.div_cns.append(div_cns) self.jnt_pos.append([div_cns, i]) - # End reference ------------------------------------ # To help the deformation on the wrist self.jnt_pos.append([self.eff_loc, 'end']) - #match IK FK references - self.match_fk0_off = pri.addTransform(self.root, self.getName("matchFk0_npo"), tra.getTransform(self.fk_ctl[1])) - self.match_fk0 = pri.addTransform(self.match_fk0_off, self.getName("fk0_mth"), tra.getTransform(self.fk_ctl[0])) - self.match_fk1_off = pri.addTransform(self.root, self.getName("matchFk1_npo"), tra.getTransform(self.fk_ctl[2])) - self.match_fk1 = pri.addTransform(self.match_fk1_off, self.getName("fk1_mth"), tra.getTransform(self.fk_ctl[1])) + # match IK FK references + self.match_fk0_off = primitive.addTransform( + self.root, + self.getName("matchFk0_npo"), + transform.getTransform(self.fk_ctl[1])) + self.match_fk0 = primitive.addTransform( + self.match_fk0_off, + self.getName("fk0_mth"), + transform.getTransform(self.fk_ctl[0])) + self.match_fk1_off = primitive.addTransform( + self.root, self.getName( + "matchFk1_npo"), transform.getTransform(self.fk_ctl[2])) + self.match_fk1 = primitive.addTransform( + self.match_fk1_off, + self.getName("fk1_mth"), + transform.getTransform(self.fk_ctl[1])) if self.settings["ikTR"]: reference = self.ikRot_ctl - self.match_ikRot = pri.addTransform(self.fk2_ctl, self.getName("ikRot_mth"), tra.getTransform(self.ikRot_ctl)) + self.match_ikRot = primitive.addTransform( + self.fk2_ctl, + self.getName("ikRot_mth"), + transform.getTransform(self.ikRot_ctl)) else: reference = self.ik_ctl - self.match_fk2 = pri.addTransform(reference, self.getName("fk2_mth"), tra.getTransform(self.fk_ctl[2])) + self.match_fk2 = primitive.addTransform( + reference, + self.getName("fk2_mth"), + transform.getTransform(self.fk_ctl[2])) - self.match_ik = pri.addTransform(self.fk2_ctl, self.getName("ik_mth"), tra.getTransform(self.ik_ctl)) - self.match_ikUpv = pri.addTransform(self.fk0_ctl, self.getName("upv_mth"), tra.getTransform(self.upv_ctl)) + self.match_ik = primitive.addTransform( + self.fk2_ctl, + self.getName("ik_mth"), + transform.getTransform(self.ik_ctl)) + self.match_ikUpv = primitive.addTransform( + self.fk0_ctl, + self.getName("upv_mth"), + transform.getTransform(self.upv_ctl)) + # ===================================================== + # ATTRIBUTES + # ===================================================== def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- - self.blend_att = self.addAnimParam("blend", "Fk/Ik Blend", "double", self.settings["blend"], 0, 1) - self.roll_att = self.addAnimParam("roll", "Roll", "double", 0, -180, 180) - self.armpit_roll_att = self.addAnimParam("aproll", "Armpit Roll", "double", 0, -360, 360) - - self.scale_att = self.addAnimParam("ikscale", "Scale", "double", 1, .001, 99) - self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1, 99) - self.slide_att = self.addAnimParam("slide", "Slide", "double", .5, 0, 1) - self.softness_att = self.addAnimParam("softness", "Softness", "double", 0, 0, 1) - self.reverse_att = self.addAnimParam("reverse", "Reverse", "double", 0, 0, 1) - self.roundness_att = self.addAnimParam("roundness", "Roundness", "double", 0, 0, self.size) - self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) + self.blend_att = self.addAnimParam("blend", + "Fk/Ik Blend", + "double", + self.settings["blend"], + 0, + 1) + self.roll_att = self.addAnimParam("roll", + "Roll", + "double", + 0, + -180, + 180) + self.armpit_roll_att = self.addAnimParam("aproll", + "Armpit Roll", + "double", + 0, + -360, + 360) + + self.scale_att = self.addAnimParam("ikscale", + "Scale", + "double", + 1, + .001, + 99) + self.maxstretch_att = self.addAnimParam("maxstretch", + "Max Stretch", + "double", + self.settings["maxstretch"], + 1, + 99) + self.slide_att = self.addAnimParam("slide", + "Slide", + "double", + .5, + 0, + 1) + self.softness_att = self.addAnimParam("softness", + "Softness", + "double", + 0, + 0, + 1) + self.reverse_att = self.addAnimParam("reverse", + "Reverse", + "double", + 0, + 0, + 1) + self.roundness_att = self.addAnimParam("roundness", + "Roundness", + "double", + 0, + 0, + self.size) + self.volume_att = self.addAnimParam("volume", + "Volume", + "double", + 1, + 0, + 1) # Ref if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) if self.settings["ikTR"]: ref_names = ["Auto", "ik_ctl"] if self.settings["ikrefarray"]: ref_names = ref_names + self.settings["ikrefarray"].split(",") - self.ikRotRef_att = self.addAnimEnumParam("ikRotRef", "Ik Rot Ref", 0, ref_names) - - + self.ikRotRef_att = self.addAnimEnumParam("ikRotRef", + "Ik Rot Ref", + 0, + ref_names) if self.settings["upvrefarray"]: ref_names = self.settings["upvrefarray"].split(",") ref_names = ["Auto"] + ref_names if len(ref_names) > 1: - self.upvref_att = self.addAnimEnumParam("upvref", "UpV Ref", 0, ref_names) + self.upvref_att = self.addAnimEnumParam("upvref", + "UpV Ref", + 0, ref_names) if self.settings["pinrefarray"]: - ref_names = self.settings["pinrefarray" ].split(",") + ref_names = self.settings["pinrefarray"].split(",") ref_names = ["Auto"] + ref_names if len(ref_names) > 1: - self.pin_att = self.addAnimEnumParam("elbowref", "Elbow Ref", 0, ref_names) + self.pin_att = self.addAnimEnumParam("elbowref", + "Elbow Ref", + 0, + ref_names) if self.validProxyChannels: - att.addProxyAttribute([self.blend_att, self.roundness_att], [self.fk0_ctl, self.fk1_ctl, self.fk2_ctl, self.ik_ctl, self.upv_ctl]) - att.addProxyAttribute(self.roll_att, [self.ik_ctl, self.upv_ctl]) - - + attribute.addProxyAttribute( + [self.blend_att, self.roundness_att], + [self.fk0_ctl, + self.fk1_ctl, + self.fk2_ctl, + self.ik_ctl, + self.upv_ctl]) + attribute.addProxyAttribute(self.roll_att, + [self.ik_ctl, self.upv_ctl]) # Setup ------------------------------------------ # Eval Fcurve - self.st_value = fcu.getFCurveValues(self.settings["st_profile"], self.divisions) - self.sq_value = fcu.getFCurveValues(self.settings["sq_profile"], self.divisions) - - self.st_att = [ self.addSetupParam("stretch_%s"%i, "Stretch %s"%i, "double", self.st_value[i], -1, 0) for i in range(self.divisions) ] - self.sq_att = [ self.addSetupParam("squash_%s"%i, "Squash %s"%i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions) ] - - self.resample_att = self.addSetupParam("resample", "Resample", "bool", True) - self.absolute_att = self.addSetupParam("absolute", "Absolute", "bool", False) + self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], + self.divisions) + self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], + self.divisions) + + self.st_att = [self.addSetupParam("stretch_%s" % i, + "Stretch %s" % i, + "double", self.st_value[i], + -1, + 0) + for i in range(self.divisions)] + + self.sq_att = [self.addSetupParam("squash_%s" % i, + "Squash %s" % i, + "double", + self.sq_value[i], + 0, + 1) + for i in range(self.divisions)] + + self.resample_att = self.addSetupParam("resample", + "Resample", + "bool", + True) + self.absolute_att = self.addSetupParam("absolute", + "Absolute", + "bool", + False) + # ===================================================== + # OPERATORS + # ===================================================== def addOperators(self): + """Create operators and set the relations for the component rig - # 1 bone chain Upv ref ===================================================================================== - self.ikHandleUpvRef = pri.addIkHandle(self.root, self.getName("ikHandleLegChainUpvRef"), self.armChainUpvRef, "ikSCsolver") - pm.pointConstraint(self.ik_ctl, self.ikHandleUpvRef) - pm.parentConstraint( self.armChainUpvRef[0], self.upv_cns, mo=True) + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ + # 1 bone chain Upv ref ============================================== + self.ikHandleUpvRef = primitive.addIkHandle( + self.root, + self.getName("ikHandleArmChainUpvRef"), + self.armChainUpvRef, + "ikSCsolver") + pm.pointConstraint(self.ik_ctl, + self.ikHandleUpvRef) + pm.parentConstraint(self.armChainUpvRef[0], + self.upv_cns, + mo=True) # Visibilities ------------------------------------- # fk - fkvis_node = nod.createReverseNode(self.blend_att) + fkvis_node = node.createReverseNode(self.blend_att) for shp in self.fk0_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) for shp in self.fk1_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) for shp in self.fk2_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) # ik for shp in self.upv_ctl.getShapes(): @@ -312,152 +582,183 @@ def addOperators(self): for shp in self.ikRot_ctl.getShapes(): pm.connectAttr(self.blend_att, shp.attr("visibility")) - # Controls ROT order ----------------------------------- - att.setRotOrder(self.fk0_ctl, "XZY") - att.setRotOrder(self.fk1_ctl, "XYZ") - att.setRotOrder(self.fk2_ctl, "YZX") - # att.setRotOrder(self.ik_ctl, "ZYX") - att.setRotOrder(self.ik_ctl, "XYZ") - + attribute.setRotOrder(self.fk0_ctl, "XZY") + attribute.setRotOrder(self.fk1_ctl, "XYZ") + attribute.setRotOrder(self.fk2_ctl, "YZX") + attribute.setRotOrder(self.ik_ctl, "XYZ") # IK Solver ----------------------------------------- out = [self.bone0, self.bone1, self.ctrn_loc, self.eff_loc] - node = aop.gear_ikfk2bone_op(out, self.root, self.ik_ref, self.upv_ctl, self.fk_ctl[0], self.fk_ctl[1], self.fk_ref, self.length0, self.length1, self.negate) + o_node = applyop.gear_ikfk2bone_op(out, + self.root, + self.ik_ref, + self.upv_ctl, + self.fk_ctl[0], + self.fk_ctl[1], + self.fk_ref, + self.length0, + self.length1, + self.negate) if self.settings["ikTR"]: - #connect the control inputs - outEff_dm = node.listConnections(c=True)[-1][1] + # connect the control inputs + outEff_dm = o_node.listConnections(c=True)[-1][1] + + inAttr = self.ikRot_npo.attr("translate") + outEff_dm.attr("outputTranslate") >> inAttr - outEff_dm.attr("outputTranslate") >> self.ikRot_npo.attr("translate") outEff_dm.attr("outputScale") >> self.ikRot_npo.attr("scale") - dm_node = nod.createDecomposeMatrixNode(node.attr("outB")) + dm_node = node.createDecomposeMatrixNode(o_node.attr("outB")) dm_node.attr("outputRotate") >> self.ikRot_npo.attr("rotate") - #rotation - - mulM_node = aop.gear_mulmatrix_op(self.ikRot_ctl.attr("worldMatrix"), self.eff_loc.attr("parentInverseMatrix")) - intM_node = aop.gear_intmatrix_op(node.attr("outEff"), mulM_node.attr("output"), node.attr("blend")) - dm_node = nod.createDecomposeMatrixNode(intM_node.attr("output")) + # rotation + mulM_node = applyop.gear_mulmatrix_op( + self.ikRot_ctl.attr("worldMatrix"), + self.eff_loc.attr("parentInverseMatrix")) + intM_node = applyop.gear_intmatrix_op(o_node.attr("outEff"), + mulM_node.attr("output"), + o_node.attr("blend")) + dm_node = node.createDecomposeMatrixNode(intM_node.attr("output")) dm_node.attr("outputRotate") >> self.eff_loc.attr("rotate") - tra.matchWorldTransform(self.fk2_ctl, self.ikRot_cns) - - #scale: this fix the scalin popping issue - intM_node = aop.gear_intmatrix_op(self.fk2_ctl.attr("worldMatrix"), self.ik_ctl_ref.attr("worldMatrix"), node.attr("blend")) - mulM_node = aop.gear_mulmatrix_op(intM_node.attr("output"), self.eff_loc.attr("parentInverseMatrix")) - dm_node = nod.createDecomposeMatrixNode(mulM_node.attr("output")) + transform.matchWorldTransform(self.fk2_ctl, self.ikRot_cns) + + # scale: this fix the scalin popping issue + intM_node = applyop.gear_intmatrix_op( + self.fk2_ctl.attr("worldMatrix"), + self.ik_ctl_ref.attr("worldMatrix"), + o_node.attr("blend")) + mulM_node = applyop.gear_mulmatrix_op( + intM_node.attr("output"), + self.eff_loc.attr("parentInverseMatrix")) + dm_node = node.createDecomposeMatrixNode(mulM_node.attr("output")) dm_node.attr("outputScale") >> self.eff_loc.attr("scale") - - pm.connectAttr(self.blend_att, node+".blend") + pm.connectAttr(self.blend_att, o_node + ".blend") if self.negate: mulVal = -1 else: mulVal = 1 - nod.createMulNode(self.roll_att, mulVal, node+".roll") - pm.connectAttr(self.scale_att, node+".scaleA") - pm.connectAttr(self.scale_att, node+".scaleB") - pm.connectAttr(self.maxstretch_att, node+".maxstretch") - pm.connectAttr(self.slide_att, node+".slide") - pm.connectAttr(self.softness_att, node+".softness") - pm.connectAttr(self.reverse_att, node+".reverse") + node.createMulNode(self.roll_att, mulVal, o_node + ".roll") + pm.connectAttr(self.scale_att, o_node + ".scaleA") + pm.connectAttr(self.scale_att, o_node + ".scaleB") + pm.connectAttr(self.maxstretch_att, o_node + ".maxstretch") + pm.connectAttr(self.slide_att, o_node + ".slide") + pm.connectAttr(self.softness_att, o_node + ".softness") + pm.connectAttr(self.reverse_att, o_node + ".reverse") # Twist references --------------------------------- - pm.pointConstraint(self.mid_ctl_twst_ref, self.tws1_npo, maintainOffset=False) - pm.scaleConstraint(self.mid_ctl_twst_ref, self.tws1_npo, maintainOffset=False) - pm.orientConstraint(self.mid_ctl_twst_ref, self.tws1_npo, maintainOffset=False) + pm.pointConstraint(self.mid_ctl_twst_ref, + self.tws1_npo, maintainOffset=False) + pm.scaleConstraint(self.mid_ctl_twst_ref, + self.tws1_npo, maintainOffset=False) + pm.orientConstraint(self.mid_ctl_twst_ref, + self.tws1_npo, maintainOffset=False) - node = aop.gear_mulmatrix_op(self.eff_loc.attr("worldMatrix"), self.root.attr("worldInverseMatrix")) + o_node = applyop.gear_mulmatrix_op(self.eff_loc.attr( + "worldMatrix"), self.root.attr("worldInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputTranslate", self.tws2_npo.attr("translate")) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputTranslate", + self.tws2_npo.attr("translate")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputRotate", self.tws2_npo.attr("rotate")) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputRotate", self.tws2_npo.attr("rotate")) - node = aop.gear_mulmatrix_op(self.eff_loc.attr("worldMatrix"), self.tws2_rot.attr("parentInverseMatrix")) + o_node = applyop.gear_mulmatrix_op( + self.eff_loc.attr("worldMatrix"), + self.tws2_rot.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - att.setRotOrder(self.tws2_rot, "XYZ") - pm.connectAttr(dm_node+".outputRotate", self.tws2_rot+".rotate") + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + attribute.setRotOrder(self.tws2_rot, "XYZ") + pm.connectAttr(dm_node + ".outputRotate", self.tws2_rot + ".rotate") self.tws0_rot.setAttr("sx", .001) self.tws2_rot.setAttr("sx", .001) - add_node = nod.createAddNode(self.roundness_att, .001) - pm.connectAttr(add_node+".output", self.tws1_rot.attr("sx")) - - pm.connectAttr(self.armpit_roll_att, self.tws0_rot+".rotateX") - - #Roll Shoulder - aop.splineIK(self.getName("rollRef"), self.rollRef, parent=self.root, cParent=self.bone0 ) + add_node = node.createAddNode(self.roundness_att, .001) + pm.connectAttr(add_node + ".output", self.tws1_rot.attr("sx")) + pm.connectAttr(self.armpit_roll_att, self.tws0_rot + ".rotateX") + # Roll Shoulder + applyop.splineIK(self.getName("rollRef"), self.rollRef, + parent=self.root, cParent=self.bone0) # Volume ------------------------------------------- - distA_node = nod.createDistNode(self.tws0_loc, self.tws1_loc) - distB_node = nod.createDistNode(self.tws1_loc, self.tws2_loc) - add_node = nod.createAddNode(distA_node+".distance", distB_node+".distance") - div_node = nod.createDivNode(add_node+".output", self.root.attr("sx")) + distA_node = node.createDistNode(self.tws0_loc, self.tws1_loc) + distB_node = node.createDistNode(self.tws1_loc, self.tws2_loc) + add_node = node.createAddNode(distA_node + ".distance", + distB_node + ".distance") + div_node = node.createDivNode(add_node + ".output", + self.root.attr("sx")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(self.root.attr("worldMatrix"), dm_node+".inputMatrix") + pm.connectAttr(self.root.attr("worldMatrix"), dm_node + ".inputMatrix") - div_node2 = nod.createDivNode(div_node+".outputX", dm_node+".outputScaleX") - self.volDriver_att = div_node2+".outputX" + div_node2 = node.createDivNode(div_node + ".outputX", + dm_node + ".outputScaleX") + self.volDriver_att = div_node2 + ".outputX" # Divisions ---------------------------------------- - # at 0 or 1 the division will follow exactly the rotation of the controler.. and we wont have this nice tangent + roll + # at 0 or 1 the division will follow exactly the rotation of the + # controler.. and we wont have this nice tangent + roll for i, div_cns in enumerate(self.div_cns): - if i < (self.settings["div0"]+1): - perc = i*.5 / (self.settings["div0"]+1.0) + if i < (self.settings["div0"] + 1): + perc = i * .5 / (self.settings["div0"] + 1.0) elif i < (self.settings["div0"] + 2): perc = .49 - elif i < (self.settings["div0"] + 3 ): + elif i < (self.settings["div0"] + 3): perc = .50 - elif i < (self.settings["div0"] + 4 ): + elif i < (self.settings["div0"] + 4): perc = .51 else: - perc = .5 + (i-self.settings["div0"]-3.0)*.5 / (self.settings["div1"]+1.0) + perc = .5 + \ + (i - self.settings["div0"] - 3.0) * .5 / \ + (self.settings["div1"] + 1.0) perc = max(.001, min(.990, perc)) # Roll if self.negate: - node = aop.gear_rollsplinekine_op(div_cns, [self.tws2_rot, self.tws1_rot, self.tws0_rot], 1-perc, 40) + o_node = applyop.gear_rollsplinekine_op( + div_cns, [self.tws2_rot, self.tws1_rot, self.tws0_rot], + 1 - perc, 40) else: - node = aop.gear_rollsplinekine_op(div_cns, [self.tws0_rot, self.tws1_rot, self.tws2_rot], perc, 40) + o_node = applyop.gear_rollsplinekine_op( + div_cns, [self.tws0_rot, self.tws1_rot, self.tws2_rot], + perc, 40) - pm.connectAttr(self.resample_att, node+".resample") - pm.connectAttr(self.absolute_att, node+".absolute") + pm.connectAttr(self.resample_att, o_node + ".resample") + pm.connectAttr(self.absolute_att, o_node + ".absolute") # Squash n Stretch - node = aop.gear_squashstretch2_op(div_cns, None, pm.getAttr(self.volDriver_att), "x") - pm.connectAttr(self.volume_att, node+".blend") - pm.connectAttr(self.volDriver_att, node+".driver") - pm.connectAttr(self.st_att[i], node+".stretch") - pm.connectAttr(self.sq_att[i], node+".squash") + o_node = applyop.gear_squashstretch2_op( + div_cns, None, pm.getAttr(self.volDriver_att), "x") + pm.connectAttr(self.volume_att, o_node + ".blend") + pm.connectAttr(self.volDriver_att, o_node + ".driver") + pm.connectAttr(self.st_att[i], o_node + ".stretch") + pm.connectAttr(self.sq_att[i], o_node + ".squash") # match IK/FK ref pm.parentConstraint(self.bone0, self.match_fk0_off, mo=True) pm.parentConstraint(self.bone1, self.match_fk1_off, mo=True) if self.settings["ikTR"]: - tra.matchWorldTransform(self.ikRot_ctl,self.match_ikRot ) - tra.matchWorldTransform(self.fk_ctl[2], self.match_fk2 ) + transform.matchWorldTransform(self.ikRot_ctl, self.match_ikRot) + transform.matchWorldTransform(self.fk_ctl[2], self.match_fk2) return # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self - # TODO: replace bone0 and control objects by loc connections def setRelation(self): + """Set the relation beetween object from guide to rig""" + self.relatives["root"] = self.div_cns[0] self.relatives["elbow"] = self.div_cns[self.settings["div0"] + 2] self.relatives["wrist"] = self.div_cns[-1] @@ -465,7 +766,7 @@ def setRelation(self): self.jointRelatives["root"] = 0 self.jointRelatives["elbow"] = self.settings["div0"] + 2 - self.jointRelatives["wrist"] = len(self.div_cns)-1 + self.jointRelatives["wrist"] = len(self.div_cns) - 1 self.jointRelatives["eff"] = -1 self.controlRelatives["root"] = self.fk0_ctl @@ -473,13 +774,13 @@ def setRelation(self): self.controlRelatives["wrist"] = self.fk2_ctl self.controlRelatives["eff"] = self.fk2_ctl - ## Add more connection definition to the set. - # @param self def addConnection(self): + """Add more connection definition to the set""" + self.connections["shoulder_01"] = self.connect_shoulder_01 - ## standard connection definition. - # @param self + def connect_standard(self): + """standard connection definition for the component""" if self.settings["ikTR"]: self.parent.addChild(self.root) @@ -487,16 +788,24 @@ def connect_standard(self): self.connectRef(self.settings["upvrefarray"], self.upv_cns, True) if self.settings["ikrefarray"]: - ikRotRefArray = "Auto,ik_ctl,"+self.settings["ikrefarray"] + ikRotRefArray = "Auto,ik_ctl," + self.settings["ikrefarray"] else: ikRotRefArray = "Auto,ik_ctl" - self.connectRef2(ikRotRefArray, self.ikRot_cns, self.ikRotRef_att, [self.ikRot_npo, self.ik_ctl], True) + self.connectRef2(ikRotRefArray, + self.ikRot_cns, + self.ikRotRef_att, + [self.ikRot_npo, self.ik_ctl], True) else: self.connect_standardWithIkRef() if self.settings["pinrefarray"]: - self.connectRef2("Auto,"+ self.settings["pinrefarray"], self.mid_cns, self.pin_att, [self.ctrn_loc], False) + self.connectRef2( + "Auto," + self.settings["pinrefarray"], self.mid_cns, + self.pin_att, [self.ctrn_loc], False) def connect_shoulder_01(self): + """ Custom connection to be use with shoulder 01 component""" self.connect_standard() - pm.parent(self.rollRef[0],self.parent_comp.ctl) + pm.parent(self.rollRef[0], + self.ikHandleUpvRef, + self.parent_comp.ctl) diff --git a/scripts/mgear/maya/shifter/component/arm_2jnt_01/guide.py b/scripts/mgear/maya/shifter/component/arm_2jnt_01/guide.py index 77ac378..83403ac 100644 --- a/scripts/mgear/maya/shifter/component/arm_2jnt_01/guide.py +++ b/scripts/mgear/maya/shifter/component/arm_2jnt_01/guide.py @@ -1,52 +1,22 @@ -# MGEAR is under the terms of the MIT License +"""Guide Arm 2 joints 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## from functools import partial import pymel.core as pm -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,3,0] +VERSION = [1, 3, 0] TYPE = "arm_2jnt_01" NAME = "arm" DESCRIPTION = "2 bones arm with Maya nodes for roll bones. With elbow Pin" @@ -54,7 +24,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -67,40 +40,37 @@ class Guide(ComponentGuide): connectors = ["shoulder_01"] - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" + self.save_transform = ["root", "elbow", "wrist", "eff"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [3,0,-.01]) + vTemp = transform.getOffsetPosition(self.root, [3, 0, -.01]) self.elbow = self.addLoc("elbow", self.root, vTemp) - vTemp = tra.getOffsetPosition( self.root, [6,0,0]) + vTemp = transform.getOffsetPosition(self.root, [6, 0, 0]) self.wrist = self.addLoc("wrist", self.elbow, vTemp) - vTemp = tra.getOffsetPosition( self.root, [7,0,0]) + vTemp = transform.getOffsetPosition(self.root, [7, 0, 0]) self.eff = self.addLoc("eff", self.wrist, vTemp) - self.dispcrv = self.addDispCurve("crv", [self.root, self.elbow, self.wrist, self.eff]) + self.dispcrv = self.addDispCurve( + "crv", + [self.root, self.elbow, self.wrist, self.eff]) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" # Default Values - self.pBlend = self.addParam("blend", "double", 1, 0, 1) - self.pIkRefArray = self.addParam("ikrefarray", "string", "") + self.pBlend = self.addParam("blend", "double", 1, 0, 1) + self.pIkRefArray = self.addParam("ikrefarray", "string", "") self.pUpvRefArray = self.addParam("upvrefarray", "string", "") self.pUpvRefArray = self.addParam("pinrefarray", "string", "") - self.pMaxStretch = self.addParam("maxstretch", "double", 1.5 , 1, None) - self.pIKTR = self.addParam("ikTR", "bool", False) + self.pMaxStretch = self.addParam("maxstretch", "double", 1.5, 1, None) + self.pIKTR = self.addParam("ikTR", "bool", False) self.pMirrorMid = self.addParam("mirrorMid", "bool", False) self.pMirrorIK = self.addParam("mirrorIK", "bool", False) @@ -109,12 +79,17 @@ def addParameters(self): self.pDiv1 = self.addParam("div1", "long", 2, 1, None) # FCurves - self.pSt_profile = self.addFCurveParam("st_profile", [[0,0],[.5,-.5],[1,0]]) - self.pSq_profile = self.addFCurveParam("sq_profile", [[0,0],[.5,.5],[1,0]]) - - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pSt_profile = self.addFCurveParam("st_profile", + [[0, 0], [.5, -.5], [1, 0]]) + self.pSq_profile = self.addFCurveParam("sq_profile", + [[0, 0], [.5, .5], [1, 0]]) + self.pUseIndex = self.addParam("useIndex", "bool", False) + self.pParentJointIndex = self.addParam("parentJointIndex", + "long", + -1, + None, + None) ########################################################## @@ -122,23 +97,24 @@ def addParameters(self): ########################################################## class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -146,7 +122,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -156,47 +132,57 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate Controls + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - self.settingsTab.ikfk_slider.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.ikfk_spinBox.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.maxStretch_spinBox.setValue(self.root.attr("maxstretch").get()) + # populate component settings + self.settingsTab.ikfk_slider.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.ikfk_spinBox.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.maxStretch_spinBox.setValue( + self.root.attr("maxstretch").get()) self.populateCheck(self.settingsTab.ikTR_checkBox, "ikTR") self.populateCheck(self.settingsTab.mirrorMid_checkBox, "mirrorMid") self.populateCheck(self.settingsTab.mirrorIK_checkBox, "mirrorIK") self.settingsTab.div0_spinBox.setValue(self.root.attr("div0").get()) self.settingsTab.div1_spinBox.setValue(self.root.attr("div1").get()) ikRefArrayItems = self.root.attr("ikrefarray").get().split(",") + for item in ikRefArrayItems: self.settingsTab.ikRefArray_listWidget.addItem(item) + upvRefArrayItems = self.root.attr("upvrefarray").get().split(",") for item in upvRefArrayItems: self.settingsTab.upvRefArray_listWidget.addItem(item) + pinRefArrayItems = self.root.attr("pinrefarray").get().split(",") for item in pinRefArrayItems: self.settingsTab.pinRefArray_listWidget.addItem(item) - #populate connections in main settings + # populate connections in main settings + self.c_box = self.mainSettingsTab.connector_comboBox for cnx in Guide.connectors: - self.mainSettingsTab.connector_comboBox.addItem(cnx) - self.connector_items = [ self.mainSettingsTab.connector_comboBox.itemText(i) for i in range( self.mainSettingsTab.connector_comboBox.count())] + self.c_box.addItem(cnx) + self.connector_items = [self.c_box.itemText(i) for i in + range(self.c_box.count())] + currentConnector = self.root.attr("connector").get() if currentConnector not in self.connector_items: - self.mainSettingsTab.connector_comboBox.addItem(currentConnector) + self.c_box.addItem(currentConnector) self.connector_items.append(currentConnector) - pm.displayWarning("The current connector: %s, is not a valid connector for this component. Build will Fail!!") + pm.displayWarning( + "The current connector: %s, is not a valid connector for this" + " component. Build will Fail!!") comboIndex = self.connector_items.index(currentConnector) - self.mainSettingsTab.connector_comboBox.setCurrentIndex(comboIndex) - - + self.c_box.setCurrentIndex(comboIndex) def create_componentLayout(self): @@ -208,31 +194,96 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.ikfk_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) - self.settingsTab.ikfk_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) - self.settingsTab.maxStretch_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxStretch_spinBox, "maxstretch")) - self.settingsTab.div0_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.div0_spinBox, "div0")) - self.settingsTab.div1_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.div1_spinBox, "div1")) - self.settingsTab.squashStretchProfile_pushButton.clicked.connect(self.setProfile) - self.settingsTab.ikTR_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.ikTR_checkBox, "ikTR")) - self.settingsTab.mirrorMid_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.mirrorMid_checkBox, "mirrorMid")) - self.settingsTab.mirrorIK_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.mirrorIK_checkBox, "mirrorIK")) - - self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.upvRefArray_listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) + self.settingsTab.ikfk_slider.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) + + self.settingsTab.ikfk_spinBox.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) + + self.settingsTab.maxStretch_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxStretch_spinBox, "maxstretch")) + + self.settingsTab.div0_spinBox.valueChanged.connect( + partial(self.updateSpinBox, self.settingsTab.div0_spinBox, "div0")) + + self.settingsTab.div1_spinBox.valueChanged.connect( + partial(self.updateSpinBox, self.settingsTab.div1_spinBox, "div1")) + + self.settingsTab.squashStretchProfile_pushButton.clicked.connect( + self.setProfile) + + self.settingsTab.ikTR_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.ikTR_checkBox, "ikTR")) + + self.settingsTab.mirrorMid_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.mirrorMid_checkBox, "mirrorMid")) + + self.settingsTab.mirrorIK_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.mirrorIK_checkBox, + "mirrorIK")) + + self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + + self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + + self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.upvRefArray_listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + self.settingsTab.ikRefArray_listWidget.installEventFilter(self) - self.settingsTab.upvRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) - self.settingsTab.upvRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) - self.settingsTab.upvRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.ikRefArray_listWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) + self.settingsTab.upvRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) + + self.settingsTab.upvRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) + + self.settingsTab.upvRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.ikRefArray_listWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) + self.settingsTab.upvRefArray_listWidget.installEventFilter(self) - self.settingsTab.pinRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.pinRefArray_listWidget, "pinrefarray")) - self.settingsTab.pinRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.pinRefArray_listWidget, "pinrefarray")) - self.settingsTab.pinRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.ikRefArray_listWidget, self.settingsTab.pinRefArray_listWidget, "pinrefarray")) + self.settingsTab.pinRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.pinRefArray_listWidget, + "pinrefarray")) + + self.settingsTab.pinRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.pinRefArray_listWidget, + "pinrefarray")) + + self.settingsTab.pinRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.ikRefArray_listWidget, + self.settingsTab.pinRefArray_listWidget, + "pinrefarray")) + self.settingsTab.pinRefArray_listWidget.installEventFilter(self) + self.mainSettingsTab.connector_comboBox.currentIndexChanged.connect( + partial(self.updateConnector, + self.mainSettingsTab.connector_comboBox, + self.connector_items)) + def eventFilter(self, sender, event): if event.type() == QtCore.QEvent.ChildRemoved: if sender == self.settingsTab.ikRefArray_listWidget: @@ -245,7 +296,5 @@ def eventFilter(self, sender, event): else: return QtWidgets.QDialog.eventFilter(self, sender, event) - - def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/__init__.py b/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/__init__.py index 372d5be..4ea5d1e 100644 --- a/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/__init__.py @@ -1,263 +1,471 @@ -# MGEAR is under the terms of the MIT License +"""Component Arm 2 joints 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# -# Maya import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes +from mgear.maya.shifter import component -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya import node, fcurve, applyop, vector +from mgear.maya import attribute, transform, primitive -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec -import mgear.maya.applyop as aop -import mgear.maya.fcurve as fcu ############################################# # COMPONENT ############################################# -class Component(MainComponent): - def addObjects(self): +class Component(component.Main): + """Shifter component Class""" + # ===================================================== + # OBJECTS + # ===================================================== + def addObjects(self): + """Add all the objects needed to create the component.""" self.WIP = self.options["mode"] - self.normal = self.getNormalFromPos(self.guide.apos) self.binormal = self.getBiNormalFromPos(self.guide.apos) - self.length0 = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) - self.length1 = vec.getDistance(self.guide.apos[1], self.guide.apos[2]) - self.length2 = vec.getDistance(self.guide.apos[2], self.guide.apos[3]) + self.length0 = vector.getDistance(self.guide.apos[0], + self.guide.apos[1]) + self.length1 = vector.getDistance(self.guide.apos[1], + self.guide.apos[2]) + self.length2 = vector.getDistance(self.guide.apos[2], + self.guide.apos[3]) # 1 bone chain for upv ref - self.armChainUpvRef= pri.add2DChain(self.root, self.getName("armUpvRef%s_jnt"), [self.guide.apos[0],self.guide.apos[2]], self.normal, False, self.WIP) - self.armChainUpvRef[1].setAttr("jointOrientZ", self.armChainUpvRef[1].getAttr("jointOrientZ")*-1) + self.armChainUpvRef = primitive.add2DChain( + self.root, + self.getName("armUpvRef%s_jnt"), + [self.guide.apos[0], self.guide.apos[2]], + self.normal, False, self.WIP) - # FK Controlers ----------------------------------- - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.normal, "xz", self.negate) - self.fk0_npo = pri.addTransform(self.root, self.getName("fk0_npo"), t) - self.fk0_ctl = self.addCtl(self.fk0_npo, "fk0_ctl", t, self.color_fk, "cube", w=self.length0, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length0*self.n_factor,0,0), tp=self.parentCtlTag) - att.setKeyableAttributes(self.fk0_ctl, ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) + self.armChainUpvRef[1].setAttr( + "jointOrientZ", + self.armChainUpvRef[1].getAttr("jointOrientZ") * -1) - t = tra.getTransformLookingAt(self.guide.apos[1], self.guide.apos[2], self.normal, "xz", self.negate) - self.fk1_npo = pri.addTransform(self.fk0_ctl, self.getName("fk1_npo"), t) - self.fk1_ctl = self.addCtl(self.fk1_npo, "fk1_ctl", t, self.color_fk, "cube", w=self.length1, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length1*self.n_factor,0,0), tp=self.fk0_ctl) - att.setKeyableAttributes(self.fk1_ctl, ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) - - t = tra.getTransformLookingAt(self.guide.apos[2], self.guide.apos[3], self.normal, "xz", self.negate) - self.fk2_npo = pri.addTransform(self.fk1_ctl, self.getName("fk2_npo"), t) - self.fk2_ctl = self.addCtl(self.fk2_npo, "fk2_ctl", t, self.color_fk, "cube", w=self.length2, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length2*self.n_factor,0,0), tp=self.fk1_ctl) - att.setKeyableAttributes(self.fk2_ctl) + # FK Controlers ----------------------------------- + t = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.normal, + "xz", + self.negate) + self.fk0_npo = primitive.addTransform(self.root, + self.getName("fk0_npo"), + t) + + po_vec = datatypes.Vector(.5 * self.length0 * self.n_factor, 0, 0) + self.fk0_ctl = self.addCtl(self.fk0_npo, + "fk0_ctl", + t, + self.color_fk, + "cube", + w=self.length0, + h=self.size * .1, + d=self.size * .1, + po=po_vec, + tp=self.parentCtlTag) + + attribute.setKeyableAttributes( + self.fk0_ctl, + ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) + + t = transform.getTransformLookingAt(self.guide.apos[1], + self.guide.apos[2], + self.normal, + "xz", + self.negate) + self.fk1_npo = primitive.addTransform(self.fk0_ctl, + self.getName("fk1_npo"), + t) + + po_vec = datatypes.Vector(.5 * self.length1 * self.n_factor, 0, 0) + self.fk1_ctl = self.addCtl(self.fk1_npo, + "fk1_ctl", + t, + self.color_fk, + "cube", + w=self.length1, + h=self.size * .1, + d=self.size * .1, + po=po_vec, + tp=self.fk0_ctl) + + attribute.setKeyableAttributes( + self.fk1_ctl, + ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx"]) + + t = transform.getTransformLookingAt(self.guide.apos[2], + self.guide.apos[3], + self.normal, + "xz", + self.negate) + self.fk2_npo = primitive.addTransform(self.fk1_ctl, + self.getName("fk2_npo"), + t) + + po_vec = datatypes.Vector(.5 * self.length2 * self.n_factor, 0, 0) + self.fk2_ctl = self.addCtl(self.fk2_npo, + "fk2_ctl", + t, + self.color_fk, + "cube", + w=self.length2, + h=self.size * .1, + d=self.size * .1, + po=po_vec, + tp=self.fk1_ctl) + + attribute.setKeyableAttributes(self.fk2_ctl) self.fk_ctl = [self.fk0_ctl, self.fk1_ctl, self.fk2_ctl] - for x in self.fk_ctl: - att.setInvertMirror(x, ["tx", "ty", "tz"]) - + for x in self.fk_ctl: + attribute.setInvertMirror(x, ["tx", "ty", "tz"]) # IK Controlers ----------------------------------- - self.ik_cns = pri.addTransformFromPos(self.root, self.getName("ik_cns"), self.guide.pos["wrist"]) + self.ik_cns = primitive.addTransformFromPos(self.root, + self.getName("ik_cns"), + self.guide.pos["wrist"]) + + t = transform.getTransformFromPos(self.guide.pos["wrist"]) + self.ikcns_ctl = self.addCtl(self.ik_cns, + "ikcns_ctl", + t, + self.color_ik, + "null", + w=self.size * .12, + tp=self.parentCtlTag) - self.ikcns_ctl = self.addCtl(self.ik_cns, "ikcns_ctl", tra.getTransformFromPos(self.guide.pos["wrist"]), self.color_ik, "null", w=self.size*.12, tp=self.parentCtlTag) - att.setInvertMirror(self.ikcns_ctl, ["tx", "ty", "tz"]) + attribute.setInvertMirror(self.ikcns_ctl, ["tx", "ty", "tz"]) if self.negate: - m = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "x-y", True) + m = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "x-y", + True) else: - m = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "xy", False) - self.ik_ctl = self.addCtl(self.ikcns_ctl, "ik_ctl", m, self.color_ik, "cube", w=self.size*.12, h=self.size*.12, d=self.size*.12, tp=self.ikcns_ctl) + m = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "xy", + False) + self.ik_ctl = self.addCtl(self.ikcns_ctl, + "ik_ctl", + m, + self.color_ik, + "cube", + w=self.size * .12, + h=self.size * .12, + d=self.size * .12, + tp=self.ikcns_ctl) if self.settings["mirrorIK"]: if self.negate: self.ik_cns.sx.set(-1) - self.ik_ctl.rz.set(self.ik_ctl.rz.get()*-1) + self.ik_ctl.rz.set(self.ik_ctl.rz.get() * -1) else: - att.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) - att.setKeyableAttributes(self.ik_ctl) - self.ik_ctl_ref = pri.addTransform(self.ik_ctl, self.getName("ikCtl_ref"), m) + attribute.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) + attribute.setKeyableAttributes(self.ik_ctl) + self.ik_ctl_ref = primitive.addTransform(self.ik_ctl, + self.getName("ikCtl_ref"), + m) # upv v = self.guide.apos[2] - self.guide.apos[0] v = self.normal ^ v v.normalize() - v *= self.size*.5 + v *= self.size * .5 v += self.guide.apos[1] - self.upv_cns = pri.addTransformFromPos(self.root, self.getName("upv_cns"), v) + self.upv_cns = primitive.addTransformFromPos(self.root, + self.getName("upv_cns"), + v) - self.upv_ctl = self.addCtl(self.upv_cns, "upv_ctl", tra.getTransform(self.upv_cns), self.color_ik, "diamond", w=self.size*.12, tp=self.parentCtlTag) + self.upv_ctl = self.addCtl(self.upv_cns, + "upv_ctl", + transform.getTransform(self.upv_cns), + self.color_ik, + "diamond", + w=self.size * .12, + tp=self.parentCtlTag) if self.settings["mirrorMid"]: if self.negate: self.upv_cns.rz.set(180) self.upv_cns.sy.set(-1) else: - att.setInvertMirror(self.upv_ctl, ["tx"]) - att.setKeyableAttributes(self.upv_ctl, self.t_params) + attribute.setInvertMirror(self.upv_ctl, ["tx"]) + attribute.setKeyableAttributes(self.upv_ctl, self.t_params) - #IK rotation controls + # IK rotation controls if self.settings["ikTR"]: - self.ikRot_npo = pri.addTransform(self.root, self.getName("ikRot_npo"), m) - self.ikRot_cns = pri.addTransform(self.ikRot_npo, self.getName("ikRot_cns"), m) - self.ikRot_ctl = self.addCtl(self.ikRot_cns, "ikRot_ctl", m, self.color_ik, "sphere", w=self.size*.12, tp=self.ik_ctl) - att.setKeyableAttributes(self.ikRot_ctl, self.r_params) + self.ikRot_npo = primitive.addTransform(self.root, + self.getName("ikRot_npo"), + m) + self.ikRot_cns = primitive.addTransform(self.ikRot_npo, + self.getName("ikRot_cns"), + m) + self.ikRot_ctl = self.addCtl(self.ikRot_cns, + "ikRot_ctl", + m, + self.color_ik, + "sphere", + w=self.size * .12, + tp=self.ik_ctl) + attribute.setKeyableAttributes(self.ikRot_ctl, self.r_params) # References -------------------------------------- # Calculate again the transfor for the IK ref. This way align with FK - trnIK_ref = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "xz", self.negate) - self.ik_ref = pri.addTransform(self.ik_ctl_ref, self.getName("ik_ref"), trnIK_ref) - self.fk_ref = pri.addTransform(self.fk_ctl[2], self.getName("fk_ref"), trnIK_ref) + trnIK_ref = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "xz", + self.negate) + self.ik_ref = primitive.addTransform(self.ik_ctl_ref, + self.getName("ik_ref"), + trnIK_ref) + self.fk_ref = primitive.addTransform(self.fk_ctl[2], + self.getName("fk_ref"), + trnIK_ref) # Chain -------------------------------------------- # The outputs of the ikfk2bone solver - self.bone0 = pri.addLocator(self.root, self.getName("0_bone"), tra.getTransform(self.fk_ctl[0])) + self.bone0 = primitive.addLocator( + self.root, + self.getName("0_bone"), + transform.getTransform(self.fk_ctl[0])) + self.bone0_shp = self.bone0.getShape() - self.bone0_shp.setAttr("localPositionX", self.n_factor*.5) + self.bone0_shp.setAttr("localPositionX", self.n_factor * .5) self.bone0_shp.setAttr("localScale", .5, 0, 0) self.bone0.setAttr("sx", self.length0) bShape = self.bone0.getShape() bShape.setAttr("visibility", False) - self.bone1 = pri.addLocator(self.root, self.getName("1_bone"), tra.getTransform(self.fk_ctl[1])) + t = transform.getTransform(self.fk_ctl[1]) + self.bone1 = primitive.addLocator(self.root, + self.getName("1_bone"), + t) + self.bone1_shp = self.bone1.getShape() - self.bone1_shp.setAttr("localPositionX", self.n_factor*.5) + self.bone1_shp.setAttr("localPositionX", self.n_factor * .5) self.bone1_shp.setAttr("localScale", .5, 0, 0) self.bone1.setAttr("sx", self.length1) bShape = self.bone1.getShape() bShape.setAttr("visibility", False) - #Elbow control - - tA = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.normal, "xz", self.negate) - tA = tra.setMatrixPosition(tA, self.guide.apos[1]) - tB = tra.getTransformLookingAt(self.guide.apos[1], self.guide.apos[2], self.normal, "xz", self.negate) - t = tra.getInterpolateTransformMatrix(tA, tB) - self.ctrn_loc = pri.addTransform(self.root, self.getName("ctrn_loc"), t) - - #match IK FK references - self.match_fk0_off = pri.addTransform(self.root, self.getName("matchFk0_npo"), tra.getTransform(self.fk_ctl[1])) - self.match_fk0 = pri.addTransform(self.match_fk0_off, self.getName("fk0_mth"), tra.getTransform(self.fk_ctl[0])) - self.match_fk1_off = pri.addTransform(self.root, self.getName("matchFk1_npo"), tra.getTransform(self.fk_ctl[2])) - self.match_fk1 = pri.addTransform(self.match_fk1_off, self.getName("fk1_mth"), tra.getTransform(self.fk_ctl[1])) - self.match_fk2 = pri.addTransform(self.ik_ctl, self.getName("fk2_mth"), tra.getTransform(self.fk_ctl[2])) - - self.match_ik = pri.addTransform(self.fk2_ctl, self.getName("ik_mth"), tra.getTransform(self.ik_ctl)) - self.match_ikUpv = pri.addTransform(self.fk0_ctl, self.getName("upv_mth"), tra.getTransform(self.upv_ctl)) - - + # Elbow control + + tA = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.normal, + "xz", + self.negate) + tA = transform.setMatrixPosition(tA, self.guide.apos[1]) + tB = transform.getTransformLookingAt(self.guide.apos[1], + self.guide.apos[2], + self.normal, + "xz", + self.negate) + + t = transform.getInterpolateTransformMatrix(tA, tB) + self.ctrn_loc = primitive.addTransform(self.root, + self.getName("ctrn_loc"), + t) + + # match IK FK references + self.match_fk0_off = primitive.addTransform( + self.root, self.getName("matchFk0_npo"), + transform.getTransform(self.fk_ctl[1])) + + self.match_fk0 = primitive.addTransform( + self.match_fk0_off, self.getName("fk0_mth"), + transform.getTransform(self.fk_ctl[0])) + + self.match_fk1_off = primitive.addTransform( + self.root, + self.getName("matchFk1_npo"), + transform.getTransform(self.fk_ctl[2])) + + self.match_fk1 = primitive.addTransform( + self.match_fk1_off, + self.getName("fk1_mth"), + transform.getTransform(self.fk_ctl[1])) + + self.match_fk2 = primitive.addTransform( + self.ik_ctl, + self.getName("fk2_mth"), + transform.getTransform(self.fk_ctl[2])) + + self.match_ik = primitive.addTransform( + self.fk2_ctl, + self.getName("ik_mth"), + transform.getTransform(self.ik_ctl)) + + self.match_ikUpv = primitive.addTransform( + self.fk0_ctl, + self.getName("upv_mth"), + transform.getTransform(self.upv_ctl)) # Eff locator - self.eff_loc = pri.addTransformFromPos(self.root, self.getName("eff_loc"), self.guide.apos[2]) + self.eff_loc = primitive.addTransformFromPos( + self.root, + self.getName("eff_loc"), + self.guide.apos[2]) # Mid Controler ------------------------------------ - t = tra.getTransform(self.ctrn_loc) - self.mid_cns = pri.addTransform(self.ctrn_loc, self.getName("mid_cns"), t) - self.mid_ctl = self.addCtl(self.mid_cns, "mid_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.parentCtlTag) + t = transform.getTransform(self.ctrn_loc) + self.mid_cns = primitive.addTransform(self.ctrn_loc, + self.getName("mid_cns"), + t) + self.mid_ctl = self.addCtl(self.mid_cns, + "mid_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.parentCtlTag) + if self.settings["mirrorMid"]: if self.negate: self.mid_cns.rz.set(180) self.mid_cns.sz.set(-1) else: - att.setInvertMirror(self.mid_ctl, ["tx", "ty", "tz"]) - att.setKeyableAttributes(self.mid_ctl, self.t_params) - - #Roll join ref--------------------------------- - self.tws0_loc = pri.addTransform(self.root, self.getName("tws0_loc"), tra.getTransform(self.fk_ctl[0])) - - self.tws1_npo = pri.addTransform(self.ctrn_loc, self.getName("tws1_npo"), tra.getTransform(self.ctrn_loc)) - self.tws1_loc = pri.addTransform(self.tws1_npo, self.getName("tws1_loc"), tra.getTransform(self.ctrn_loc)) - - self.tws1A_npo = pri.addTransform(self.mid_ctl, self.getName("tws1A_npo"), tA) - self.tws1A_loc = pri.addTransform(self.tws1A_npo, self.getName("tws1A_loc"), tA) - self.tws1B_npo = pri.addTransform(self.mid_ctl, self.getName("tws1B_npo"), tB) - self.tws1B_loc = pri.addTransform(self.tws1B_npo, self.getName("tws1B_loc"), tB) - - - self.tws2_npo = pri.addTransform(self.root, self.getName("tws2_npo"), tra.getTransform(self.fk_ctl[2])) - self.tws2_loc = pri.addTransform(self.tws2_npo, self.getName("tws2_loc"), tra.getTransform(self.fk_ctl[2])) + attribute.setInvertMirror(self.mid_ctl, ["tx", "ty", "tz"]) + attribute.setKeyableAttributes(self.mid_ctl, self.t_params) + + # Roll join ref--------------------------------- + self.tws0_loc = primitive.addTransform( + self.root, + self.getName("tws0_loc"), + transform.getTransform(self.fk_ctl[0])) + + self.tws1_npo = primitive.addTransform( + self.ctrn_loc, + self.getName("tws1_npo"), + transform.getTransform(self.ctrn_loc)) + + self.tws1_loc = primitive.addTransform( + self.tws1_npo, + self.getName("tws1_loc"), + transform.getTransform(self.ctrn_loc)) + + self.tws1A_npo = primitive.addTransform(self.mid_ctl, + self.getName("tws1A_npo"), + tA) + self.tws1A_loc = primitive.addTransform(self.tws1A_npo, + self.getName("tws1A_loc"), + tA) + self.tws1B_npo = primitive.addTransform(self.mid_ctl, + self.getName("tws1B_npo"), + tB) + self.tws1B_loc = primitive.addTransform(self.tws1B_npo, + self.getName("tws1B_loc"), + tB) + + self.tws2_npo = primitive.addTransform( + self.root, + self.getName("tws2_npo"), + transform.getTransform(self.fk_ctl[2])) + + self.tws2_loc = primitive.addTransform( + self.tws2_npo, + self.getName("tws2_loc"), + transform.getTransform(self.fk_ctl[2])) # Roll twist chain --------------------------------- - #Arm + # Arm self.armChainPos = [] - ii = 1.0/(self.settings["div0"]+1) + ii = 1.0 / (self.settings["div0"] + 1) i = 0.0 - for p in range(self.settings["div0"]+2): - self.armChainPos.append(vec.linearlyInterpolate(self.guide.pos["root"], self.guide.pos["elbow"], blend=i)) - i=i+ii - - self.armTwistChain= pri.add2DChain(self.root, self.getName("armTwist%s_jnt"), self.armChainPos, self.normal, False, self.WIP) - - #Forearm + for p in range(self.settings["div0"] + 2): + p_vec = vector.linearlyInterpolate(self.guide.pos["root"], + self.guide.pos["elbow"], + blend=i) + self.armChainPos.append(p_vec) + i = i + ii + + self.armTwistChain = primitive.add2DChain( + self.root, + self.getName("armTwist%s_jnt"), + self.armChainPos, + self.normal, + False, + self.WIP) + + # Forearm self.forearmChainPos = [] - ii = 1.0/(self.settings["div1"]+1) + ii = 1.0 / (self.settings["div1"] + 1) i = 0.0 - for p in range(self.settings["div1"]+2): - self.forearmChainPos.append(vec.linearlyInterpolate(self.guide.pos["elbow"], self.guide.pos["wrist"], blend=i)) - i=i+ii - - self.forearmTwistChain= pri.add2DChain(self.root, self.getName("forearmTwist%s_jnt"), self.forearmChainPos, self.normal, False, self.WIP) + for p in range(self.settings["div1"] + 2): + p_vec = vector.linearlyInterpolate(self.guide.pos["elbow"], + self.guide.pos["wrist"], + blend=i) + self.forearmChainPos.append(p_vec) + i = i + ii + + self.forearmTwistChain = primitive.add2DChain( + self.root, + self.getName("forearmTwist%s_jnt"), + self.forearmChainPos, + self.normal, False, + self.WIP) pm.parent(self.forearmTwistChain[0], self.mid_ctl) - #Hand Aux chain and nonroll + # Hand Aux chain and nonroll self.auxChainPos = [] ii = .5 i = 0.0 for p in range(3): - self.auxChainPos.append(vec.linearlyInterpolate(self.guide.pos["wrist"], self.guide.pos["eff"], blend=i)) - i=i+ii + p_vec = vector.linearlyInterpolate(self.guide.pos["wrist"], + self.guide.pos["eff"], + blend=i) + self.auxChainPos.append(p_vec) + i = i + ii t = self.root.getMatrix(worldSpace=True) - self.aux_npo = pri.addTransform(self.root, self.getName("aux_npo"), t) - self.auxTwistChain = pri.add2DChain(self.aux_npo, self.getName("auxTwist%s_jnt"), self.auxChainPos, self.normal, False, self.WIP) - - #Non Roll join ref --------------------------------- - self.armRollRef = pri.add2DChain(self.root, self.getName("armRollRef%s_jnt"), self.armChainPos[:2], self.normal, False, self.WIP) - - - self.forearmRollRef = pri.add2DChain(self.aux_npo, self.getName("forearmRollRef%s_jnt"), self.auxChainPos[:2], self.normal, False, self.WIP) - + self.aux_npo = primitive.addTransform(self.root, + self.getName("aux_npo"), + t) + self.auxTwistChain = primitive.add2DChain( + self.aux_npo, + self.getName("auxTwist%s_jnt"), + self.auxChainPos, + self.normal, + False, + self.WIP) + + # Non Roll join ref --------------------------------- + self.armRollRef = primitive.add2DChain( + self.root, + self.getName("armRollRef%s_jnt"), + self.armChainPos[:2], + self.normal, + False, + self.WIP) + + self.forearmRollRef = primitive.add2DChain( + self.aux_npo, + self.getName("forearmRollRef%s_jnt"), + self.auxChainPos[:2], + self.normal, + False, + self.WIP) # Divisions ---------------------------------------- - # We have at least one division at the start, the end and one for the elbow. + 2 for elbow angle control + # We have attribute least one division attribute the start, the end + # and one for the elbow. + 2 for elbow angle control self.divisions = self.settings["div0"] + self.settings["div1"] + 4 self.div_cns = [] for i in range(self.divisions): - div_cns = pri.addTransform(self.root, self.getName("div%s_loc" % i)) + div_cns = primitive.addTransform(self.root, + self.getName("div%s_loc" % i)) self.div_cns.append(div_cns) @@ -265,131 +473,302 @@ def addObjects(self): # End reference ------------------------------------ # To help the deformation on the wrist - self.end_ref = pri.addTransform(self.eff_loc, self.getName("end_ref"), tra.getTransform(self.eff_loc)) + self.end_ref = primitive.addTransform( + self.eff_loc, + self.getName("end_ref"), + transform.getTransform(self.eff_loc)) if self.negate: self.end_ref.attr("rz").set(180.0) if self.settings["ikTR"]: - reference = self.ikRot_ctl - self.match_ikRot = pri.addTransform(self.fk2_ctl, self.getName("ikRot_mth"), tra.getTransform(self.ikRot_ctl)) - else: - reference = self.ik_ctl + # reference = self.ikRot_ctl + self.match_ikRot = primitive.addTransform( + self.fk2_ctl, + self.getName("ikRot_mth"), + transform.getTransform(self.ikRot_ctl)) + # else: + # reference = self.ik_ctl self.jnt_pos.append([self.end_ref, "end"]) # Tangent controls - t = tra.getInterpolateTransformMatrix(self.fk_ctl[0], self.tws1A_npo, .5) - self.armTangentA_loc = pri.addTransform(self.root, self.getName("armTangentA_loc"), self.fk_ctl[0].getMatrix(worldSpace=True)) - self.armTangentA_npo = pri.addTransform(self.armTangentA_loc, self.getName("armTangentA_npo"), t) - self.armTangentA_ctl = self.addCtl(self.armTangentA_npo, "armTangentA_ctl", t, self.color_ik, "circle", w=self.size*.2, ro=dt.Vector(0,0,1.570796), tp=self.mid_ctl) + t = transform.getInterpolateTransformMatrix(self.fk_ctl[0], + self.tws1A_npo, + .5) + self.armTangentA_loc = primitive.addTransform( + self.root, + self.getName("armTangentA_loc"), + self.fk_ctl[0].getMatrix(worldSpace=True)) + + self.armTangentA_npo = primitive.addTransform( + self.armTangentA_loc, + self.getName("armTangentA_npo"), + t) + + self.armTangentA_ctl = self.addCtl(self.armTangentA_npo, + "armTangentA_ctl", + t, + self.color_ik, + "circle", + w=self.size * .2, + ro=datatypes.Vector(0, 0, 1.570796), + tp=self.mid_ctl) if self.negate: self.armTangentA_npo.rz.set(180) self.armTangentA_npo.sz.set(-1) - att.setKeyableAttributes(self.armTangentA_ctl, self.t_params) - - t = tra.getInterpolateTransformMatrix(self.fk_ctl[0], self.tws1A_npo, .9) - self.armTangentB_npo = pri.addTransform(self.tws1A_loc, self.getName("armTangentB_npo"), t) - self.armTangentB_ctl = self.addCtl(self.armTangentB_npo, "armTangentB_ctl", t, self.color_ik, "circle", w=self.size*.1, ro=dt.Vector(0,0,1.570796), tp=self.mid_ctl) + attribute.setKeyableAttributes(self.armTangentA_ctl, self.t_params) + + t = transform.getInterpolateTransformMatrix(self.fk_ctl[0], + self.tws1A_npo, + .9) + self.armTangentB_npo = primitive.addTransform( + self.tws1A_loc, + self.getName("armTangentB_npo"), + t) + self.armTangentB_ctl = self.addCtl(self.armTangentB_npo, + "armTangentB_ctl", + t, + self.color_ik, + "circle", + w=self.size * .1, + ro=datatypes.Vector(0, 0, 1.570796), + tp=self.mid_ctl) if self.negate: self.armTangentB_npo.rz.set(180) self.armTangentB_npo.sz.set(-1) - att.setKeyableAttributes(self.armTangentB_ctl, self.t_params) + attribute.setKeyableAttributes(self.armTangentB_ctl, self.t_params) tC = self.tws1B_npo.getMatrix(worldSpace=True) - tC = tra.setMatrixPosition(tC, self.guide.apos[2]) - t = tra.getInterpolateTransformMatrix(self.tws1B_npo, tC, .1) - self.forearmTangentA_npo = pri.addTransform(self.tws1B_loc, self.getName("forearmTangentA_npo"), t) - self.forearmTangentA_ctl = self.addCtl(self.forearmTangentA_npo, "forearmTangentA_ctl", t, self.color_ik, "circle", w=self.size*.1, ro=dt.Vector(0,0,1.570796), tp=self.mid_ctl) + tC = transform.setMatrixPosition(tC, self.guide.apos[2]) + t = transform.getInterpolateTransformMatrix(self.tws1B_npo, tC, .1) + self.forearmTangentA_npo = primitive.addTransform( + self.tws1B_loc, + self.getName("forearmTangentA_npo"), + t) + + self.forearmTangentA_ctl = self.addCtl( + self.forearmTangentA_npo, + "forearmTangentA_ctl", + t, + self.color_ik, + "circle", + w=self.size * .1, + ro=datatypes.Vector(0, 0, 1.570796), + tp=self.mid_ctl) + if self.negate: self.forearmTangentA_npo.rz.set(180) self.forearmTangentA_npo.sz.set(-1) - att.setKeyableAttributes(self.forearmTangentA_ctl, self.t_params) + attribute.setKeyableAttributes(self.forearmTangentA_ctl, self.t_params) + + t = transform.getInterpolateTransformMatrix(self.tws1B_npo, tC, .5) + self.forearmTangentB_loc = primitive.addTransform( + self.root, + self.getName("forearmTangentB_loc"), + tC) + self.forearmTangentB_npo = primitive.addTransform( + self.forearmTangentB_loc, + self.getName("forearmTangentB_npo"), + t) + self.forearmTangentB_ctl = self.addCtl( + self.forearmTangentB_npo, + "forearmTangentB_ctl", + t, + self.color_ik, + "circle", + w=self.size * .2, + ro=datatypes.Vector(0, 0, 1.570796), + tp=self.mid_ctl) - t = tra.getInterpolateTransformMatrix(self.tws1B_npo, tC, .5) - self.forearmTangentB_loc = pri.addTransform(self.root, self.getName("forearmTangentB_loc"), tC) - self.forearmTangentB_npo = pri.addTransform(self.forearmTangentB_loc, self.getName("forearmTangentB_npo"), t) - self.forearmTangentB_ctl = self.addCtl(self.forearmTangentB_npo, "forearmTangentB_ctl", t, self.color_ik, "circle", w=self.size*.2, ro=dt.Vector(0,0,1.570796), tp=self.mid_ctl) if self.negate: self.forearmTangentB_npo.rz.set(180) self.forearmTangentB_npo.sz.set(-1) - att.setKeyableAttributes(self.forearmTangentB_ctl, self.t_params) + attribute.setKeyableAttributes(self.forearmTangentB_ctl, self.t_params) t = self.mid_ctl.getMatrix(worldSpace=True) - self.elbowTangent_npo = pri.addTransform(self.mid_ctl, self.getName("elbowTangent_npo"), t) - self.elbowTangent_ctl = self.addCtl(self.elbowTangent_npo, "elbowTangent_ctl", t, self.color_fk, "circle", w=self.size*.15, ro=dt.Vector(0,0,1.570796), tp=self.mid_ctl) + self.elbowTangent_npo = primitive.addTransform( + self.mid_ctl, + self.getName("elbowTangent_npo"), + t) + + self.elbowTangent_ctl = self.addCtl( + self.elbowTangent_npo, + "elbowTangent_ctl", + t, + self.color_fk, + "circle", + w=self.size * .15, + ro=datatypes.Vector(0, 0, 1.570796), + tp=self.mid_ctl) + if self.negate: self.elbowTangent_npo.rz.set(180) self.elbowTangent_npo.sz.set(-1) - att.setKeyableAttributes(self.elbowTangent_ctl, self.t_params) - + attribute.setKeyableAttributes(self.elbowTangent_ctl, self.t_params) + # ===================================================== + # ATTRIBUTES + # ===================================================== def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- - self.blend_att = self.addAnimParam("blend", "Fk/Ik Blend", "double", self.settings["blend"], 0, 1) - self.roll_att = self.addAnimParam("roll", "Roll", "double", 0, -180, 180) - - self.scale_att = self.addAnimParam("ikscale", "Scale", "double", 1, .001, 99) - self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1, 99) - self.slide_att = self.addAnimParam("slide", "Slide", "double", .5, 0, 1) - self.softness_att = self.addAnimParam("softness", "Softness", "double", 0, 0, 1) - self.reverse_att = self.addAnimParam("reverse", "Reverse", "double", 0, 0, 1) - self.roundness_att = self.addAnimParam("roundness", "Roundness", "double", 0, 0, 1) - self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) - self.tangentVis_att = self.addAnimParam("Tangent_vis", "Tangent vis", "bool", False) + self.blend_att = self.addAnimParam("blend", + "Fk/Ik Blend", + "double", + self.settings["blend"], + 0, + 1) + self.roll_att = self.addAnimParam("roll", + "Roll", + "double", + 0, + -180, + 180) + self.scale_att = self.addAnimParam("ikscale", + "Scale", + "double", + 1, + .001, + 99) + self.maxstretch_att = self.addAnimParam("maxstretch", + "Max Stretch", + "double", + self.settings["maxstretch"], + 1, + 99) + self.slide_att = self.addAnimParam("slide", + "Slide", + "double", + .5, + 0, + 1) + self.softness_att = self.addAnimParam("softness", + "Softness", + "double", + 0, + 0, + 1) + self.reverse_att = self.addAnimParam("reverse", + "Reverse", + "double", + 0, + 0, + 1) + self.roundness_att = self.addAnimParam("roundness", + "Roundness", + "double", + 0, + 0, + 1) + self.volume_att = self.addAnimParam("volume", + "Volume", + "double", + 1, + 0, + 1) + self.tangentVis_att = self.addAnimParam("Tangent_vis", + "Tangent vis", + "bool", + False) # Ref if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) if self.settings["ikTR"]: ref_names = ["Auto", "ik_ctl"] if self.settings["ikrefarray"]: ref_names = ref_names + self.settings["ikrefarray"].split(",") - self.ikRotRef_att = self.addAnimEnumParam("ikRotRef", "Ik Rot Ref", 0, ref_names) + self.ikRotRef_att = self.addAnimEnumParam("ikRotRef", + "Ik Rot Ref", + 0, + ref_names) if self.settings["upvrefarray"]: ref_names = self.settings["upvrefarray"].split(",") ref_names = ["Auto"] + ref_names if len(ref_names) > 1: - self.upvref_att = self.addAnimEnumParam("upvref", "UpV Ref", 0, ref_names) + self.upvref_att = self.addAnimEnumParam("upvref", + "UpV Ref", + 0, + ref_names) if self.settings["pinrefarray"]: - ref_names = self.settings["pinrefarray" ].split(",") + ref_names = self.settings["pinrefarray"].split(",") ref_names = ["Auto"] + ref_names if len(ref_names) > 1: - self.pin_att = self.addAnimEnumParam("elbowref", "Elbow Ref", 0, ref_names) + self.pin_att = self.addAnimEnumParam("elbowref", + "Elbow Ref", + 0, + ref_names) # Setup ------------------------------------------ # Eval Fcurve - self.st_value = fcu.getFCurveValues(self.settings["st_profile"], self.divisions) - self.sq_value = fcu.getFCurveValues(self.settings["sq_profile"], self.divisions) - - self.st_att = [ self.addSetupParam("stretch_%s"%i, "Stretch %s"%i, "double", self.st_value[i], -1, 0) for i in range(self.divisions) ] - self.sq_att = [ self.addSetupParam("squash_%s"%i, "Squash %s"%i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions) ] - - self.resample_att = self.addSetupParam("resample", "Resample", "bool", True) - self.absolute_att = self.addSetupParam("absolute", "Absolute", "bool", False) + self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], + self.divisions) + self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], + self.divisions) + + self.st_att = [self.addSetupParam("stretch_%s" % i, + "Stretch %s" % i, + "double", + self.st_value[i], -1, 0) + for i in range(self.divisions)] + + self.sq_att = [self.addSetupParam("squash_%s" % i, + "Squash %s" % i, + "double", + self.sq_value[i], + 0, + 1) + for i in range(self.divisions)] + + self.resample_att = self.addSetupParam("resample", + "Resample", + "bool", + True) + self.absolute_att = self.addSetupParam("absolute", + "Absolute", + "bool", + False) + # ===================================================== + # OPERATORS + # ===================================================== def addOperators(self): - - # 1 bone chain Upv ref ===================================================================================== - self.ikHandleUpvRef = pri.addIkHandle(self.root, self.getName("ikHandleLegChainUpvRef"), self.armChainUpvRef, "ikSCsolver") + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ + # 1 bone chain Upv ref ====================================== + self.ikHandleUpvRef = primitive.addIkHandle( + self.root, + self.getName("ikHandleLegChainUpvRef"), + self.armChainUpvRef, + "ikSCsolver") pm.pointConstraint(self.ik_ctl, self.ikHandleUpvRef) - pm.parentConstraint( self.armChainUpvRef[0], self.upv_cns, mo=True) + pm.parentConstraint(self.armChainUpvRef[0], self.upv_cns, mo=True) # Visibilities ------------------------------------- # fk - fkvis_node = nod.createReverseNode(self.blend_att) + fkvis_node = node.createReverseNode(self.blend_att) for shp in self.fk0_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) for shp in self.fk1_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) for shp in self.fk2_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) # ik for shp in self.upv_ctl.getShapes(): @@ -403,76 +782,122 @@ def addOperators(self): pm.connectAttr(self.blend_att, shp.attr("visibility")) # Controls ROT order ----------------------------------- - att.setRotOrder(self.fk0_ctl, "XZY") - att.setRotOrder(self.fk1_ctl, "XYZ") - att.setRotOrder(self.fk2_ctl, "YZX") - # att.setRotOrder(self.ik_ctl, "ZYX") - att.setRotOrder(self.ik_ctl, "XYZ") - + attribute.setRotOrder(self.fk0_ctl, "XZY") + attribute.setRotOrder(self.fk1_ctl, "XYZ") + attribute.setRotOrder(self.fk2_ctl, "YZX") + attribute.setRotOrder(self.ik_ctl, "XYZ") # IK Solver ----------------------------------------- out = [self.bone0, self.bone1, self.ctrn_loc, self.eff_loc] - node = aop.gear_ikfk2bone_op(out, self.root, self.ik_ref, self.upv_ctl, self.fk_ctl[0], self.fk_ctl[1], self.fk_ref, self.length0, self.length1, self.negate) + o_node = applyop.gear_ikfk2bone_op(out, + self.root, + self.ik_ref, + self.upv_ctl, + self.fk_ctl[0], + self.fk_ctl[1], + self.fk_ref, + self.length0, + self.length1, + self.negate) if self.settings["ikTR"]: - #connect the control inputs - outEff_dm = node.listConnections(c=True)[-1][1] + # connect the control inputs + outEff_dm = o_node.listConnections(c=True)[-1][1] + + in_attr = self.ikRot_npo.attr("translate") + outEff_dm.attr("outputTranslate") >> in_attr - outEff_dm.attr("outputTranslate") >> self.ikRot_npo.attr("translate") outEff_dm.attr("outputScale") >> self.ikRot_npo.attr("scale") - dm_node = nod.createDecomposeMatrixNode(node.attr("outB")) + dm_node = node.createDecomposeMatrixNode(o_node.attr("outB")) dm_node.attr("outputRotate") >> self.ikRot_npo.attr("rotate") - #rotation + # rotation + + mulM_node = applyop.gear_mulmatrix_op( + self.ikRot_ctl.attr("worldMatrix"), + self.eff_loc.attr("parentInverseMatrix")) - mulM_node = aop.gear_mulmatrix_op(self.ikRot_ctl.attr("worldMatrix"), self.eff_loc.attr("parentInverseMatrix")) - intM_node = aop.gear_intmatrix_op(node.attr("outEff"), mulM_node.attr("output"), node.attr("blend")) - dm_node = nod.createDecomposeMatrixNode(intM_node.attr("output")) + intM_node = applyop.gear_intmatrix_op(o_node.attr("outEff"), + mulM_node.attr("output"), + o_node.attr("blend")) + dm_node = node.createDecomposeMatrixNode(intM_node.attr("output")) dm_node.attr("outputRotate") >> self.eff_loc.attr("rotate") - tra.matchWorldTransform(self.fk2_ctl, self.ikRot_cns) + transform.matchWorldTransform(self.fk2_ctl, self.ikRot_cns) - #scale: this fix the scalin popping issue - intM_node = aop.gear_intmatrix_op(self.fk2_ctl.attr("worldMatrix"), self.ik_ctl_ref.attr("worldMatrix"), node.attr("blend")) - mulM_node = aop.gear_mulmatrix_op(intM_node.attr("output"), self.eff_loc.attr("parentInverseMatrix")) - dm_node = nod.createDecomposeMatrixNode(mulM_node.attr("output")) - dm_node.attr("outputScale") >> self.eff_loc.attr("scale") + # scale: this fix the scalin popping issue + intM_node = applyop.gear_intmatrix_op( + self.fk2_ctl.attr("worldMatrix"), + self.ik_ctl_ref.attr("worldMatrix"), + o_node.attr("blend")) + mulM_node = applyop.gear_mulmatrix_op( + intM_node.attr("output"), + self.eff_loc.attr("parentInverseMatrix")) + + dm_node = node.createDecomposeMatrixNode(mulM_node.attr("output")) + dm_node.attr("outputScale") >> self.eff_loc.attr("scale") - pm.connectAttr(self.blend_att, node+".blend") + pm.connectAttr(self.blend_att, o_node + ".blend") if self.negate: mulVal = -1 else: mulVal = 1 - nod.createMulNode(self.roll_att, mulVal, node+".roll") - pm.connectAttr(self.scale_att, node+".scaleA") - pm.connectAttr(self.scale_att, node+".scaleB") - pm.connectAttr(self.maxstretch_att, node+".maxstretch") - pm.connectAttr(self.slide_att, node+".slide") - pm.connectAttr(self.softness_att, node+".softness") - pm.connectAttr(self.reverse_att, node+".reverse") + node.createMulNode(self.roll_att, mulVal, o_node + ".roll") + pm.connectAttr(self.scale_att, o_node + ".scaleA") + pm.connectAttr(self.scale_att, o_node + ".scaleB") + pm.connectAttr(self.maxstretch_att, o_node + ".maxstretch") + pm.connectAttr(self.slide_att, o_node + ".slide") + pm.connectAttr(self.softness_att, o_node + ".softness") + pm.connectAttr(self.reverse_att, o_node + ".reverse") # Twist references --------------------------------- - node = aop.gear_mulmatrix_op(self.eff_loc.attr("worldMatrix"), self.root.attr("worldInverseMatrix")) - dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputTranslate", self.tws2_npo.attr("translate")) - + o_node = applyop.gear_mulmatrix_op( + self.eff_loc.attr("worldMatrix"), + self.root.attr("worldInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputRotate", self.tws2_npo.attr("rotate")) - - #spline IK for twist jnts - self.ikhArmTwist, self.armTwistCrv = aop.splineIK(self.getName("armTwist"), self.armTwistChain, parent=self.root, cParent=self.bone0 ) - self.ikhForearmTwist, self.forearmTwistCrv = aop.splineIK(self.getName("forearmTwist"), self.forearmTwistChain, parent=self.root, cParent=self.bone1 ) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputTranslate", + self.tws2_npo.attr("translate")) - #references - self.ikhArmRef, self.tmpCrv = aop.splineIK(self.getName("armRollRef"), self.armRollRef, parent=self.root, cParent=self.bone0 ) - self.ikhForearmRef, self.tmpCrv = aop.splineIK(self.getName("forearmRollRef"), self.forearmRollRef, parent=self.root, cParent=self.eff_loc ) - self.ikhAuxTwist, self.tmpCrv = aop.splineIK(self.getName("auxTwist"), self.auxTwistChain, parent=self.root, cParent=self.eff_loc ) - - #setting connexions for ikhArmTwist + dm_node = pm.createNode("decomposeMatrix") + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputRotate", self.tws2_npo.attr("rotate")) + + # spline IK for twist jnts + self.ikhArmTwist, self.armTwistCrv = applyop.splineIK( + self.getName("armTwist"), + self.armTwistChain, + parent=self.root, + cParent=self.bone0) + + self.ikhForearmTwist, self.forearmTwistCrv = applyop.splineIK( + self.getName("forearmTwist"), + self.forearmTwistChain, + parent=self.root, + cParent=self.bone1) + + # references + self.ikhArmRef, self.tmpCrv = applyop.splineIK( + self.getName("armRollRef"), + self.armRollRef, + parent=self.root, + cParent=self.bone0) + + self.ikhForearmRef, self.tmpCrv = applyop.splineIK( + self.getName("forearmRollRef"), + self.forearmRollRef, + parent=self.root, + cParent=self.eff_loc) + + self.ikhAuxTwist, self.tmpCrv = applyop.splineIK( + self.getName("auxTwist"), + self.auxTwistChain, + parent=self.root, + cParent=self.eff_loc) + + # setting connexions for ikhArmTwist self.ikhArmTwist.attr("dTwistControlEnable").set(True) self.ikhArmTwist.attr("dWorldUpType").set(4) self.ikhArmTwist.attr("dWorldUpAxis").set(3) @@ -480,10 +905,13 @@ def addOperators(self): self.ikhArmTwist.attr("dWorldUpVectorY").set(0.0) self.ikhArmTwist.attr("dWorldUpVectorEndZ").set(1.0) self.ikhArmTwist.attr("dWorldUpVectorEndY").set(0.0) - pm.connectAttr(self.armRollRef[0].attr("worldMatrix[0]"), self.ikhArmTwist.attr("dWorldUpMatrix")) - pm.connectAttr(self.bone0.attr("worldMatrix[0]"), self.ikhArmTwist.attr("dWorldUpMatrixEnd")) - #setting connexions for ikhAuxTwist + pm.connectAttr(self.armRollRef[0].attr("worldMatrix[0]"), + self.ikhArmTwist.attr("dWorldUpMatrix")) + pm.connectAttr(self.bone0.attr("worldMatrix[0]"), + self.ikhArmTwist.attr("dWorldUpMatrixEnd")) + + # setting connexions for ikhAuxTwist self.ikhAuxTwist.attr("dTwistControlEnable").set(True) self.ikhAuxTwist.attr("dWorldUpType").set(4) self.ikhAuxTwist.attr("dWorldUpAxis").set(3) @@ -491,162 +919,232 @@ def addOperators(self): self.ikhAuxTwist.attr("dWorldUpVectorY").set(0.0) self.ikhAuxTwist.attr("dWorldUpVectorEndZ").set(1.0) self.ikhAuxTwist.attr("dWorldUpVectorEndY").set(0.0) - pm.connectAttr(self.forearmRollRef[0].attr("worldMatrix[0]"), self.ikhAuxTwist.attr("dWorldUpMatrix")) - pm.connectAttr(self.eff_loc.attr("worldMatrix[0]"), self.ikhAuxTwist.attr("dWorldUpMatrixEnd")) - pm.connectAttr(self.auxTwistChain[1].attr("rx"), self.ikhForearmTwist.attr("twist")) + pm.connectAttr(self.forearmRollRef[0].attr("worldMatrix[0]"), + self.ikhAuxTwist.attr("dWorldUpMatrix")) + pm.connectAttr(self.eff_loc.attr("worldMatrix[0]"), + self.ikhAuxTwist.attr("dWorldUpMatrixEnd")) + pm.connectAttr(self.auxTwistChain[1].attr("rx"), + self.ikhForearmTwist.attr("twist")) pm.parentConstraint(self.bone1, self.aux_npo, maintainOffset=True) - #scale arm length for twist chain (not the squash and stretch) + # scale arm length for twist chain (not the squash and stretch) arclen_node = pm.arclen(self.armTwistCrv, ch=True) alAttrArm = arclen_node.attr("arcLength") - muldiv_nodeArm = pm.createNode("multiplyDivide") - pm.connectAttr(arclen_node.attr("arcLength"), muldiv_nodeArm.attr("input1X")) + muldiv_nodeArm = pm.createNode("multiplyDivide") + pm.connectAttr(arclen_node.attr("arcLength"), + muldiv_nodeArm.attr("input1X")) muldiv_nodeArm.attr("input2X").set(alAttrArm.get()) muldiv_nodeArm.attr("operation").set(2) for jnt in self.armTwistChain: - pm.connectAttr(muldiv_nodeArm.attr("outputX"),jnt.attr("sx")) + pm.connectAttr(muldiv_nodeArm.attr("outputX"), jnt.attr("sx")) - #scale forearm length for twist chain (not the squash and stretch) + # scale forearm length for twist chain (not the squash and stretch) arclen_node = pm.arclen(self.forearmTwistCrv, ch=True) alAttrForearm = arclen_node.attr("arcLength") - muldiv_nodeForearm = pm.createNode("multiplyDivide") - pm.connectAttr(arclen_node.attr("arcLength"), muldiv_nodeForearm.attr("input1X")) + muldiv_nodeForearm = pm.createNode("multiplyDivide") + pm.connectAttr(arclen_node.attr("arcLength"), + muldiv_nodeForearm.attr("input1X")) muldiv_nodeForearm.attr("input2X").set(alAttrForearm.get()) muldiv_nodeForearm.attr("operation").set(2) for jnt in self.forearmTwistChain: - pm.connectAttr(muldiv_nodeForearm.attr("outputX"),jnt.attr("sx")) + pm.connectAttr(muldiv_nodeForearm.attr("outputX"), jnt.attr("sx")) - #scale compensation for the first twist join + # scale compensation for the first twist join dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(self.root.attr("worldMatrix[0]"), dm_node.attr("inputMatrix")) - pm.connectAttr(dm_node.attr("outputScale"), self.armTwistChain[0].attr("inverseScale")) - pm.connectAttr(dm_node.attr("outputScale"), self.forearmTwistChain[0].attr("inverseScale")) - - #tangent controls - muldiv_node = pm.createNode("multiplyDivide") + pm.connectAttr(self.root.attr("worldMatrix[0]"), + dm_node.attr("inputMatrix")) + pm.connectAttr(dm_node.attr("outputScale"), + self.armTwistChain[0].attr("inverseScale")) + pm.connectAttr(dm_node.attr("outputScale"), + self.forearmTwistChain[0].attr("inverseScale")) + + # tangent controls + muldiv_node = pm.createNode("multiplyDivide") muldiv_node.attr("input2X").set(-1) pm.connectAttr(self.tws1A_npo.attr("rz"), muldiv_node.attr("input1X")) - muldiv_nodeBias = pm.createNode("multiplyDivide") - pm.connectAttr(muldiv_node.attr("outputX"), muldiv_nodeBias.attr("input1X")) + muldiv_nodeBias = pm.createNode("multiplyDivide") + pm.connectAttr(muldiv_node.attr("outputX"), + muldiv_nodeBias.attr("input1X")) pm.connectAttr(self.roundness_att, muldiv_nodeBias.attr("input2X")) - pm.connectAttr(muldiv_nodeBias.attr("outputX"), self.tws1A_loc.attr("rz") ) + pm.connectAttr(muldiv_nodeBias.attr("outputX"), + self.tws1A_loc.attr("rz")) if self.negate: axis = "xz" else: axis = "-xz" - aop.aimCns(self.tws1A_npo, self.tws0_loc, axis=axis, wupType=2, wupVector=[0,0,1], wupObject=self.mid_ctl, maintainOffset=False) + applyop.aimCns(self.tws1A_npo, + self.tws0_loc, + axis=axis, + wupType=2, + wupVector=[0, 0, 1], + wupObject=self.mid_ctl, + maintainOffset=False) + + applyop.aimCns(self.forearmTangentB_loc, + self.forearmTangentA_npo, + axis=axis, + wupType=2, + wupVector=[0, 0, 1], + wupObject=self.mid_ctl, + maintainOffset=False) - aop.aimCns(self.forearmTangentB_loc, self.forearmTangentA_npo, axis=axis, wupType=2, wupVector=[0,0,1], wupObject=self.mid_ctl, maintainOffset=False) pm.pointConstraint(self.eff_loc, self.forearmTangentB_loc) - - muldiv_node = pm.createNode("multiplyDivide") + muldiv_node = pm.createNode("multiplyDivide") muldiv_node.attr("input2X").set(-1) pm.connectAttr(self.tws1B_npo.attr("rz"), muldiv_node.attr("input1X")) - muldiv_nodeBias = pm.createNode("multiplyDivide") - pm.connectAttr(muldiv_node.attr("outputX"), muldiv_nodeBias.attr("input1X")) - pm.connectAttr(self.roundness_att, muldiv_nodeBias.attr("input2X")) - pm.connectAttr(muldiv_nodeBias.attr("outputX"), self.tws1B_loc.attr("rz") ) + muldiv_nodeBias = pm.createNode("multiplyDivide") + pm.connectAttr(muldiv_node.attr("outputX"), + muldiv_nodeBias.attr("input1X")) + pm.connectAttr(self.roundness_att, + muldiv_nodeBias.attr("input2X")) + pm.connectAttr(muldiv_nodeBias.attr("outputX"), + self.tws1B_loc.attr("rz")) if self.negate: axis = "-xz" else: axis = "xz" - aop.aimCns(self.tws1B_npo, self.tws2_loc, axis=axis, wupType=2, wupVector=[0,0,1], wupObject=self.mid_ctl, maintainOffset=False) - - aop.aimCns(self.armTangentA_loc, self.armTangentB_npo, axis=axis, wupType=2, wupVector=[0,0,1], wupObject=self.mid_ctl, maintainOffset=False) + applyop.aimCns(self.tws1B_npo, + self.tws2_loc, + axis=axis, + wupType=2, + wupVector=[0, 0, 1], + wupObject=self.mid_ctl, + maintainOffset=False) + + applyop.aimCns(self.armTangentA_loc, + self.armTangentB_npo, + axis=axis, + wupType=2, + wupVector=[0, 0, 1], + wupObject=self.mid_ctl, + maintainOffset=False) # Volume ------------------------------------------- - distA_node = nod.createDistNode(self.tws0_loc, self.tws1_loc) - distB_node = nod.createDistNode(self.tws1_loc, self.tws2_loc) - add_node = nod.createAddNode(distA_node+".distance", distB_node+".distance") - div_node = nod.createDivNode(add_node+".output", self.root.attr("sx")) + distA_node = node.createDistNode(self.tws0_loc, self.tws1_loc) + distB_node = node.createDistNode(self.tws1_loc, self.tws2_loc) + add_node = node.createAddNode(distA_node + ".distance", + distB_node + ".distance") + div_node = node.createDivNode(add_node + ".output", + self.root.attr("sx")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(self.root.attr("worldMatrix"), dm_node+".inputMatrix") - - div_node2 = nod.createDivNode(div_node+".outputX", dm_node+".outputScaleX") - self.volDriver_att = div_node2+".outputX" - - # connecting tangent scaele compensation after volume to aboid duplicate some nodes ------------------------------ - distA_node = nod.createDistNode(self.tws0_loc, self.mid_ctl) - distB_node = nod.createDistNode(self.mid_ctl, self.tws2_loc) - - - div_nodeArm = nod.createDivNode(distA_node+".distance", dm_node.attr("outputScaleX")) - div_node2 = nod.createDivNode(div_nodeArm+".outputX", distA_node.attr("distance").get()) - pm.connectAttr(div_node2.attr("outputX"), self.tws1A_loc.attr("sx")) - pm.connectAttr(div_node2.attr("outputX"), self.armTangentA_loc.attr("sx")) - - div_nodeForearm = nod.createDivNode(distB_node+".distance", dm_node.attr("outputScaleX")) - div_node2 = nod.createDivNode(div_nodeForearm+".outputX", distB_node.attr("distance").get()) - pm.connectAttr(div_node2.attr("outputX"), self.tws1B_loc.attr("sx")) - pm.connectAttr(div_node2.attr("outputX"), self.forearmTangentB_loc.attr("sx")) - - #conection curve - aop.gear_curvecns_op(self.armTwistCrv, [ self.armTangentA_loc, self.armTangentA_ctl, self.armTangentB_ctl,self.elbowTangent_ctl ]) - aop.gear_curvecns_op(self.forearmTwistCrv, [ self.elbowTangent_ctl, self.forearmTangentA_ctl, self.forearmTangentB_ctl,self.forearmTangentB_loc ]) - - #Tangent controls vis + pm.connectAttr(self.root.attr("worldMatrix"), dm_node + ".inputMatrix") + + div_node2 = node.createDivNode(div_node + ".outputX", + dm_node + ".outputScaleX") + self.volDriver_att = div_node2 + ".outputX" + + # connecting tangent scaele compensation after + # volume to avoid duplicate some nodes + distA_node = node.createDistNode(self.tws0_loc, self.mid_ctl) + distB_node = node.createDistNode(self.mid_ctl, self.tws2_loc) + + div_nodeArm = node.createDivNode(distA_node + ".distance", + dm_node.attr("outputScaleX")) + div_node2 = node.createDivNode(div_nodeArm + ".outputX", + distA_node.attr("distance").get()) + pm.connectAttr(div_node2.attr("outputX"), + self.tws1A_loc.attr("sx")) + pm.connectAttr(div_node2.attr("outputX"), + self.armTangentA_loc.attr("sx")) + + div_nodeForearm = node.createDivNode(distB_node + ".distance", + dm_node.attr("outputScaleX")) + div_node2 = node.createDivNode(div_nodeForearm + ".outputX", + distB_node.attr("distance").get()) + pm.connectAttr(div_node2.attr("outputX"), + self.tws1B_loc.attr("sx")) + pm.connectAttr(div_node2.attr("outputX"), + self.forearmTangentB_loc.attr("sx")) + + # conection curve + cns_list = [self.armTangentA_loc, self.armTangentA_ctl, + self.armTangentB_ctl, self.elbowTangent_ctl] + applyop.gear_curvecns_op(self.armTwistCrv, cns_list) + + cns_list = [self.elbowTangent_ctl, self.forearmTangentA_ctl, + self.forearmTangentB_ctl, self.forearmTangentB_loc] + applyop.gear_curvecns_op(self.forearmTwistCrv, cns_list) + + # Tangent controls vis for shp in self.armTangentA_ctl.getShapes(): - pm.connectAttr( self.tangentVis_att, shp.attr("visibility")) + pm.connectAttr(self.tangentVis_att, shp.attr("visibility")) for shp in self.armTangentB_ctl.getShapes(): - pm.connectAttr( self.tangentVis_att, shp.attr("visibility")) + pm.connectAttr(self.tangentVis_att, shp.attr("visibility")) for shp in self.forearmTangentA_ctl.getShapes(): - pm.connectAttr( self.tangentVis_att, shp.attr("visibility")) + pm.connectAttr(self.tangentVis_att, shp.attr("visibility")) for shp in self.forearmTangentB_ctl.getShapes(): - pm.connectAttr( self.tangentVis_att, shp.attr("visibility")) + pm.connectAttr(self.tangentVis_att, shp.attr("visibility")) for shp in self.elbowTangent_ctl.getShapes(): - pm.connectAttr( self.tangentVis_att, shp.attr("visibility")) + pm.connectAttr(self.tangentVis_att, shp.attr("visibility")) # Divisions ---------------------------------------- - # at 0 or 1 the division will follow exactly the rotation of the controler.. and we wont have this nice tangent + roll + # attribute 0 or 1 the division will follow exactly the rotation of + # the controler.. and we wont have this nice tangent + roll for i, div_cns in enumerate(self.div_cns): - if i < (self.settings["div0"]+2): - mulmat_node = aop.gear_mulmatrix_op(self.armTwistChain[i]+".worldMatrix", div_cns+".parentInverseMatrix") + if i < (self.settings["div0"] + 2): + mulmat_node = applyop.gear_mulmatrix_op( + self.armTwistChain[i] + ".worldMatrix", + div_cns + ".parentInverseMatrix") lastArmDiv = div_cns else: - mulmat_node = aop.gear_mulmatrix_op(self.forearmTwistChain[i-(self.settings["div0"]+2)]+".worldMatrix", div_cns+".parentInverseMatrix") + ftc = self.forearmTwistChain[i - (self.settings["div0"] + 2)] + mulmat_node = applyop.gear_mulmatrix_op( + ftc + ".worldMatrix", + div_cns + ".parentInverseMatrix") lastForeDiv = div_cns - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") - pm.connectAttr(dm_node+".outputTranslate", div_cns+".t") - pm.connectAttr(dm_node+".outputRotate", div_cns+".r") - # Squash n Stretch - node = aop.gear_squashstretch2_op(div_cns, None, pm.getAttr(self.volDriver_att), "x") - pm.connectAttr(self.volume_att, node+".blend") - pm.connectAttr(self.volDriver_att, node+".driver") - pm.connectAttr(self.st_att[i], node+".stretch") - pm.connectAttr(self.sq_att[i], node+".squash") + dm_node = node.createDecomposeMatrixNode(mulmat_node + ".output") + pm.connectAttr(dm_node + ".outputTranslate", div_cns + ".t") + pm.connectAttr(dm_node + ".outputRotate", div_cns + ".r") - #force translation for last loc arm and foreamr - aop.gear_mulmatrix_op(self.elbowTangent_ctl.worldMatrix,lastArmDiv.parentInverseMatrix, lastArmDiv, "t" ) - aop.gear_mulmatrix_op(self.tws2_loc.worldMatrix,lastForeDiv.parentInverseMatrix, lastForeDiv, "t" ) + # Squash n Stretch + o_node = applyop.gear_squashstretch2_op( + div_cns, + None, + pm.getAttr(self.volDriver_att), + "x") + pm.connectAttr(self.volume_att, o_node + ".blend") + pm.connectAttr(self.volDriver_att, o_node + ".driver") + pm.connectAttr(self.st_att[i], o_node + ".stretch") + pm.connectAttr(self.sq_att[i], o_node + ".squash") + + # force translation for last loc arm and foreamr + applyop.gear_mulmatrix_op(self.elbowTangent_ctl.worldMatrix, + lastArmDiv.parentInverseMatrix, + lastArmDiv, + "t") + applyop.gear_mulmatrix_op(self.tws2_loc.worldMatrix, + lastForeDiv.parentInverseMatrix, + lastForeDiv, + "t") # return # NOTE: next line fix the issue on meters. - # This is special case becasuse the IK solver from mGear use the scale as lenght and we have shear - # TODO: check for a more clean and elegant solution instead of re-match the world matrix again - tra.matchWorldTransform(self.fk_ctl[0], self.match_fk0_off) - tra.matchWorldTransform(self.fk_ctl[1], self.match_fk1_off) - tra.matchWorldTransform(self.fk_ctl[0], self.match_fk0) - tra.matchWorldTransform(self.fk_ctl[1], self.match_fk1) + # This is special case becasuse the IK solver from mGear use the scale + # as lenght and we have shear + # TODO: check for a more clean and elegant solution instead of re-match + # the world matrix again + transform.matchWorldTransform(self.fk_ctl[0], self.match_fk0_off) + transform.matchWorldTransform(self.fk_ctl[1], self.match_fk1_off) + transform.matchWorldTransform(self.fk_ctl[0], self.match_fk0) + transform.matchWorldTransform(self.fk_ctl[1], self.match_fk1) # match IK/FK ref pm.parentConstraint(self.bone0, self.match_fk0_off, mo=True) pm.parentConstraint(self.bone1, self.match_fk1_off, mo=True) if self.settings["ikTR"]: - tra.matchWorldTransform(self.ikRot_ctl,self.match_ikRot ) - tra.matchWorldTransform(self.fk_ctl[2], self.match_fk2 ) - + transform.matchWorldTransform(self.ikRot_ctl, self.match_ikRot) + transform.matchWorldTransform(self.fk_ctl[2], self.match_fk2) # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.div_cns[0] self.relatives["elbow"] = self.div_cns[self.settings["div0"] + 2] self.relatives["wrist"] = self.div_cns[-1] @@ -654,7 +1152,7 @@ def setRelation(self): self.jointRelatives["root"] = 0 self.jointRelatives["elbow"] = self.settings["div0"] + 2 - self.jointRelatives["wrist"] = len(self.div_cns)-2 + self.jointRelatives["wrist"] = len(self.div_cns) - 2 self.jointRelatives["eff"] = -1 self.controlRelatives["root"] = self.fk0_ctl @@ -662,31 +1160,42 @@ def setRelation(self): self.controlRelatives["wrist"] = self.fk2_ctl self.controlRelatives["eff"] = self.fk2_ctl - ## Add more connection definition to the set. - # @param self def addConnection(self): + """Add more connection definition to the set""" + self.connections["shoulder_01"] = self.connect_shoulder_01 - ## standard connection definition. - # @param self def connect_standard(self): + """standard connection definition for the component""" + if self.settings["ikTR"]: self.parent.addChild(self.root) self.connectRef(self.settings["ikrefarray"], self.ik_cns) self.connectRef(self.settings["upvrefarray"], self.upv_cns, True) if self.settings["ikrefarray"]: - ikRotRefArray = "Auto,ik_ctl,"+self.settings["ikrefarray"] + ikRotRefArray = "Auto,ik_ctl," + self.settings["ikrefarray"] else: ikRotRefArray = "Auto,ik_ctl" - self.connectRef2(ikRotRefArray, self.ikRot_cns, self.ikRotRef_att, [self.ikRot_npo, self.ik_ctl], True) + self.connectRef2(ikRotRefArray, + self.ikRot_cns, + self.ikRotRef_att, + [self.ikRot_npo, self.ik_ctl], + True) else: self.connect_standardWithIkRef() if self.settings["pinrefarray"]: - self.connectRef2("Auto,"+ self.settings["pinrefarray"], self.mid_cns, self.pin_att, [self.ctrn_loc], False) - + self.connectRef2("Auto," + self.settings["pinrefarray"], + self.mid_cns, + self.pin_att, + [self.ctrn_loc], + False) def connect_shoulder_01(self): + """ Custom connection to be use with shoulder 01 component""" + self.connect_standard() - pm.parent(self.rollRef[0],self.parent_comp.ctl) + pm.parent(self.armRollRef[0], + self.ikHandleUpvRef, + self.parent_comp.ctl) diff --git a/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/guide.py b/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/guide.py index 78080d4..bf6f693 100644 --- a/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/guide.py +++ b/scripts/mgear/maya/shifter/component/arm_2jnt_freeTangents_01/guide.py @@ -1,61 +1,34 @@ -# MGEAR is under the terms of the MIT License +"""Guide Arm 2 joints 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## from functools import partial import pymel.core as pm -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide - -import mgear.maya.transform as tra +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,3,0] +VERSION = [1, 3, 0] TYPE = "arm_2jnt_freeTangents_01" NAME = "arm" -DESCRIPTION = "2 bones arm with classic bendy/roll arms. With elbow pin and only one central tangent" +DESCRIPTION = "2 bones arm with classic bendy/roll arms. With elbow pin and " \ + "only one central tangent" ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -68,55 +41,55 @@ class Guide(ComponentGuide): connectors = ["shoulder_01"] - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "elbow", "wrist", "eff"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [3,0,-.01]) + vTemp = transform.getOffsetPosition(self.root, [3, 0, -.01]) self.elbow = self.addLoc("elbow", self.root, vTemp) - vTemp = tra.getOffsetPosition( self.root, [6,0,0]) + vTemp = transform.getOffsetPosition(self.root, [6, 0, 0]) self.wrist = self.addLoc("wrist", self.elbow, vTemp) - vTemp = tra.getOffsetPosition( self.root, [7,0,0]) + vTemp = transform.getOffsetPosition(self.root, [7, 0, 0]) self.eff = self.addLoc("eff", self.wrist, vTemp) - self.dispcrv = self.addDispCurve("crv", [self.root, self.elbow, self.wrist, self.eff]) + self.dispcrv = self.addDispCurve( + "crv", + [self.root, self.elbow, self.wrist, self.eff]) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" # Default Values - self.pBlend = self.addParam("blend", "double", 1, 0, 1) - self.pIkRefArray = self.addParam("ikrefarray", "string", "") + self.pBlend = self.addParam("blend", "double", 1, 0, 1) + self.pIkRefArray = self.addParam("ikrefarray", "string", "") self.pUpvRefArray = self.addParam("upvrefarray", "string", "") self.pUpvRefArray = self.addParam("pinrefarray", "string", "") - self.pMaxStretch = self.addParam("maxstretch", "double", 1.5 , 1, None) - self.pIKTR = self.addParam("ikTR", "bool", False) + self.pMaxStretch = self.addParam("maxstretch", "double", 1.5, 1, None) + self.pIKTR = self.addParam("ikTR", "bool", False) self.pMirrorMid = self.addParam("mirrorMid", "bool", False) self.pMirrorIK = self.addParam("mirrorIK", "bool", False) - # Divisions self.pDiv0 = self.addParam("div0", "long", 2, 1, None) self.pDiv1 = self.addParam("div1", "long", 2, 1, None) # FCurves - self.pSt_profile = self.addFCurveParam("st_profile", [[0,0],[.5,-.5],[1,0]]) - self.pSq_profile = self.addFCurveParam("sq_profile", [[0,0],[.5,.5],[1,0]]) - - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pSt_profile = self.addFCurveParam("st_profile", + [[0, 0], [.5, -.5], [1, 0]]) + self.pSq_profile = self.addFCurveParam("sq_profile", + [[0, 0], [.5, .5], [1, 0]]) + self.pUseIndex = self.addParam("useIndex", "bool", False) + self.pParentJointIndex = self.addParam("parentJointIndex", + "long", + -1, + None, + None) ########################################################## @@ -124,23 +97,24 @@ def addParameters(self): ########################################################## class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -148,7 +122,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -158,19 +132,23 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate Controls + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - self.settingsTab.ikfk_slider.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.ikfk_spinBox.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.maxStretch_spinBox.setValue(self.root.attr("maxstretch").get()) + # populate component settings + self.settingsTab.ikfk_slider.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.ikfk_spinBox.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.maxStretch_spinBox.setValue( + self.root.attr("maxstretch").get()) self.populateCheck(self.settingsTab.ikTR_checkBox, "ikTR") self.populateCheck(self.settingsTab.mirrorMid_checkBox, "mirrorMid") self.populateCheck(self.settingsTab.mirrorIK_checkBox, "mirrorIK") @@ -186,19 +164,25 @@ def populate_componentControls(self): for item in pinRefArrayItems: self.settingsTab.pinRefArray_listWidget.addItem(item) - #populate connections in main settings + # populate connections in main settings for cnx in Guide.connectors: self.mainSettingsTab.connector_comboBox.addItem(cnx) - self.connector_items = [ self.mainSettingsTab.connector_comboBox.itemText(i) for i in range( self.mainSettingsTab.connector_comboBox.count())] + + sll = [self.mainSettingsTab.connector_comboBox.itemText(i) + for i in + range(self.mainSettingsTab.connector_comboBox.count())] + + self.connector_items = sll currentConnector = self.root.attr("connector").get() if currentConnector not in self.connector_items: self.mainSettingsTab.connector_comboBox.addItem(currentConnector) self.connector_items.append(currentConnector) - pm.displayWarning("The current connector: %s, is not a valid connector for this component. Build will Fail!!") + pm.displayWarning( + "The current connector: %s, is not a valid " + "connector for this component. Build will Fail!!") comboIndex = self.connector_items.index(currentConnector) self.mainSettingsTab.connector_comboBox.setCurrentIndex(comboIndex) - def create_componentLayout(self): self.settings_layout = QtWidgets.QVBoxLayout() @@ -209,29 +193,86 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.ikfk_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) - self.settingsTab.ikfk_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) - self.settingsTab.maxStretch_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxStretch_spinBox, "maxstretch")) - self.settingsTab.div0_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.div0_spinBox, "div0")) - self.settingsTab.div1_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.div1_spinBox, "div1")) - self.settingsTab.squashStretchProfile_pushButton.clicked.connect(self.setProfile) - self.settingsTab.ikTR_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.ikTR_checkBox, "ikTR")) - self.settingsTab.mirrorMid_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.mirrorMid_checkBox, "mirrorMid")) - self.settingsTab.mirrorIK_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.mirrorIK_checkBox, "mirrorIK")) - - self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.upvRefArray_listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) + self.settingsTab.ikfk_slider.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) + + self.settingsTab.ikfk_spinBox.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) + + self.settingsTab.maxStretch_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxStretch_spinBox, + "maxstretch")) + + self.settingsTab.div0_spinBox.valueChanged.connect( + partial(self.updateSpinBox, self.settingsTab.div0_spinBox, "div0")) + + self.settingsTab.div1_spinBox.valueChanged.connect( + partial(self.updateSpinBox, self.settingsTab.div1_spinBox, "div1")) + + self.settingsTab.squashStretchProfile_pushButton.clicked.connect( + self.setProfile) + + self.settingsTab.ikTR_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.ikTR_checkBox, "ikTR")) + + self.settingsTab.mirrorMid_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.mirrorMid_checkBox, + "mirrorMid")) + self.settingsTab.mirrorIK_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.mirrorIK_checkBox, + "mirrorIK")) + + self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + + self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + + self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.upvRefArray_listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) self.settingsTab.ikRefArray_listWidget.installEventFilter(self) - self.settingsTab.upvRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) - self.settingsTab.upvRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) - self.settingsTab.upvRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.ikRefArray_listWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) + self.settingsTab.upvRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) + + self.settingsTab.upvRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) + + self.settingsTab.upvRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.ikRefArray_listWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) self.settingsTab.upvRefArray_listWidget.installEventFilter(self) - self.settingsTab.pinRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.pinRefArray_listWidget, "pinrefarray")) - self.settingsTab.pinRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.pinRefArray_listWidget, "pinrefarray")) - self.settingsTab.pinRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.ikRefArray_listWidget, self.settingsTab.pinRefArray_listWidget, "pinrefarray")) + self.settingsTab.pinRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.pinRefArray_listWidget, + "pinrefarray")) + self.settingsTab.pinRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.pinRefArray_listWidget, + "pinrefarray")) + + self.settingsTab.pinRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.ikRefArray_listWidget, + self.settingsTab.pinRefArray_listWidget, + "pinrefarray")) self.settingsTab.pinRefArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -246,7 +287,5 @@ def eventFilter(self, sender, event): else: return QtWidgets.QDialog.eventFilter(self, sender, event) - - def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/__init__.py b/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/__init__.py index 11ecd84..f1d40f8 100644 --- a/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/__init__.py @@ -1,28 +1,4 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 11 / 18 +"""Component Arm Miles 2 joints 01 module""" # ms 2jnt feature ----------------------- # //done//FK isolation @@ -35,315 +11,644 @@ # //done//addition limb jt layer ctl(optional) # To Do List ------------------------------- - # upper sleeve lower sleeve ctl(optional) -# custom Upper limb 4 pt bezier node with input for rot interpolation +# custom Upper limb 4 pt bezier o_node with input for rot interpolation -############################################# -# GLOBAL -############################################# -# Maya import pymel.core as pm -import pymel.core.datatypes as dt - +from pymel.core import datatypes -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya.shifter import component -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec -import mgear.maya.applyop as aop -import mgear.maya.fcurve as fcu +from mgear.maya import node, fcurve, applyop, vector +from mgear.maya import attribute, transform, primitive ############################################# # COMPONENT ############################################# -class Component(MainComponent): - def addObjects(self): +class Component(component.Main): + """Shifter component Class""" + + # ===================================================== + # OBJECTS + # ===================================================== + def addObjects(self): + """Add all the objects needed to create the component.""" self.normal = self.getNormalFromPos(self.guide.apos) self.binormal = self.getBiNormalFromPos(self.guide.apos) - self.length0 = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) - self.length1 = vec.getDistance(self.guide.apos[1], self.guide.apos[2]) - self.length2 = vec.getDistance(self.guide.apos[2], self.guide.apos[3]) + self.length0 = vector.getDistance( + self.guide.apos[0], self.guide.apos[1]) + self.length1 = vector.getDistance( + self.guide.apos[1], self.guide.apos[2]) + self.length2 = vector.getDistance( + self.guide.apos[2], self.guide.apos[3]) # FK Controlers ----------------------------------- - # *ms* set npo @ Tpose, to make the fk rotation work best with rot order"yzx" + # *ms* set npo @ Tpose, to make the fk rotation work + # best with rot order"yzx" - self.fk_cns = pri.addTransformFromPos(self.root, self.getName("fk_cns"), self.guide.apos[0]) + self.fk_cns = primitive.addTransformFromPos( + self.root, self.getName("fk_cns"), self.guide.apos[0]) - tpv = self.guide.apos[0] + ((self.guide.apos[1] - self.guide.apos[0])*[1,0,0]) - t = tra.getTransformLookingAt(self.guide.apos[0], tpv, self.normal, "xz", self.negate) - # *ms* add FK isolation - self.fk0_npo = pri.addTransform(self.fk_cns, self.getName("fk0_npo"), t) + vec_offset = ((self.guide.apos[1] - self.guide.apos[0]) * [1, 0, 0]) + tpv = self.guide.apos[0] + vec_offset - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.normal, "xz", self.negate) - self.fk0_ctl = self.addCtl(self.fk0_npo, "fk0_ctl", t, self.color_fk, "cube", w=self.length0*.7, h=self.size*.1, d=self.size*.1, po=dt.Vector(.35*self.length0*self.n_factor,0,0), tp=self.parentCtlTag) - att.setKeyableAttributes(self.fk0_ctl) + t = transform.getTransformLookingAt( + self.guide.apos[0], tpv, self.normal, "xz", self.negate) + # *ms* add FK isolation + self.fk0_npo = primitive.addTransform( + self.fk_cns, self.getName("fk0_npo"), t) + + t = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.normal, "xz", + self.negate) + + po_off = datatypes.Vector(.35 * self.length0 * self.n_factor, 0, 0) + + self.fk0_ctl = self.addCtl(self.fk0_npo, + "fk0_ctl", + t, + self.color_fk, + "cube", + w=self.length0 * .7, + h=self.size * .1, + d=self.size * .1, + po=po_off, + tp=self.parentCtlTag) + attribute.setKeyableAttributes(self.fk0_ctl) # *ms* add fk roll control Simage style - self.fk0_roll_ctl = self.addCtl(self.fk0_ctl, "fk0_roll_ctl", t, self.color_fk, "cube", w=self.length0*.3, h=self.size*.1, d=self.size*0.1, po=dt.Vector(.85*self.length0*self.n_factor,0,0), tp=self.fk0_ctl) - att.setRotOrder(self.fk0_roll_ctl, "YZX") - att.setKeyableAttributes(self.fk0_roll_ctl, ["rx"]) - self.fk0_mtx = pri.addTransform(self.root, self.getName("fk0_mtx"), t) - - t = tra.setMatrixPosition(t, self.guide.apos[1]) - self.fk1_ref = pri.addTransform(self.fk0_roll_ctl, self.getName("fk1_ref"), t) - - self.fk1_loc = pri.addTransform(self.root, self.getName("fk1_loc"), t) - t = tra.getTransformLookingAt(self.guide.apos[1], self.guide.apos[2], self.normal, "xz", self.negate) - - self.fk1_npo = pri.addTransform(self.fk1_loc, self.getName("fk1_npo"), t) - self.fk1_ctl = self.addCtl(self.fk1_npo, "fk1_ctl", t, self.color_fk, "cube", w=self.length1*.7, h=self.size*.1, d=self.size*.1, po=dt.Vector(.35*self.length1*self.n_factor,0,0), tp=self.fk0_roll_ctl) - att.setKeyableAttributes(self.fk1_ctl) - self.fk1_mtx = pri.addTransform(self.fk1_ctl, self.getName("fk1_mtx"), t) - self.fk1_roll_ctl = self.addCtl(self.fk1_ctl, "fk1_roll_ctl", t, self.color_fk, "cube", w=self.length1*.3, h=self.size*.1, d=self.size*.1, po=dt.Vector(.85*self.length1*self.n_factor,0,0), tp=self.fk1_ctl) - att.setRotOrder(self.fk1_roll_ctl, "XYZ") - att.setKeyableAttributes(self.fk1_roll_ctl, ["rx"]) - - - t = tra.getTransformLookingAt(self.guide.apos[2], self.guide.apos[3], self.normal, "xz", self.negate) + po_off = datatypes.Vector(.85 * self.length0 * self.n_factor, 0, 0) + self.fk0_roll_ctl = self.addCtl(self.fk0_ctl, + "fk0_roll_ctl", + t, self.color_fk, + "cube", w=self.length0 * .3, + h=self.size * .1, + d=self.size * 0.1, + po=po_off, + tp=self.fk0_ctl) + + attribute.setRotOrder(self.fk0_roll_ctl, "YZX") + attribute.setKeyableAttributes(self.fk0_roll_ctl, ["rx"]) + self.fk0_mtx = primitive.addTransform( + self.root, self.getName("fk0_mtx"), t) + + t = transform.setMatrixPosition(t, self.guide.apos[1]) + + self.fk1_ref = primitive.addTransform( + self.fk0_roll_ctl, self.getName("fk1_ref"), t) + + self.fk1_loc = primitive.addTransform( + self.root, self.getName("fk1_loc"), t) + + t = transform.getTransformLookingAt(self.guide.apos[1], + self.guide.apos[2], + self.normal, + "xz", + self.negate) + + self.fk1_npo = primitive.addTransform( + self.fk1_loc, self.getName("fk1_npo"), t) + + po_off = datatypes.Vector(.35 * self.length1 * self.n_factor, 0, 0) + self.fk1_ctl = self.addCtl(self.fk1_npo, + "fk1_ctl", + t, + self.color_fk, + "cube", + w=self.length1 * .7, + h=self.size * .1, + d=self.size * .1, + po=po_off, tp=self.fk0_roll_ctl) + + attribute.setKeyableAttributes(self.fk1_ctl) + + self.fk1_mtx = primitive.addTransform( + self.fk1_ctl, self.getName("fk1_mtx"), t) + + po_off = datatypes.Vector(.85 * self.length1 * self.n_factor, 0, 0) + self.fk1_roll_ctl = self.addCtl(self.fk1_ctl, + "fk1_roll_ctl", + t, + self.color_fk, + "cube", + w=self.length1 * .3, + h=self.size * .1, + d=self.size * .1, + po=po_off, tp=self.fk1_ctl) + attribute.setRotOrder(self.fk1_roll_ctl, "XYZ") + attribute.setKeyableAttributes(self.fk1_roll_ctl, ["rx"]) + + t = transform.getTransformLookingAt(self.guide.apos[2], + self.guide.apos[3], + self.normal, + "xz", + self.negate) # *ms* buffer object to feed into ikfk solver for hand seperation - self.fk2_mtx = pri.addTransform(self.fk1_roll_ctl, self.getName("fk2_mtx"), t) - + self.fk2_mtx = primitive.addTransform(self.fk1_roll_ctl, + self.getName("fk2_mtx"), + t) # fk2_loc is need to take the effector position + bone1 rotation - t1= tra.getTransformLookingAt(self.guide.apos[2], self.guide.apos[1], self.normal, "-xz", self.negate) - self.fk2_loc = pri.addTransform(self.root, self.getName("fk2_loc"), t1) - - self.fk2_npo = pri.addTransform(self.fk2_loc, self.getName("fk2_npo"), t) - self.fk2_ctl = self.addCtl(self.fk2_npo, "fk2_ctl", t, self.color_fk, "cube", w=self.length2, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length2*self.n_factor,0,0), tp=self.fk1_roll_ctl) - att.setKeyableAttributes(self.fk2_ctl) + t1 = transform.getTransformLookingAt(self.guide.apos[2], + self.guide.apos[1], + self.normal, + "-xz", + self.negate) + + self.fk2_loc = primitive.addTransform( + self.root, self.getName("fk2_loc"), t1) + + self.fk2_npo = primitive.addTransform(self.fk2_loc, + self.getName("fk2_npo"), + t) + po_off = datatypes.Vector(.5 * self.length2 * self.n_factor, 0, 0) + self.fk2_ctl = self.addCtl(self.fk2_npo, + "fk2_ctl", + t, + self.color_fk, + "cube", + w=self.length2, + h=self.size * .1, + d=self.size * .1, + po=po_off, + tp=self.fk1_roll_ctl) + attribute.setKeyableAttributes(self.fk2_ctl) self.fk_ctl = [self.fk0_roll_ctl, self.fk1_mtx, self.fk2_ctl] - self.fk_ctls = [self.fk0_ctl,self.fk0_roll_ctl, self.fk1_ctl, self.fk1_roll_ctl, self.fk2_ctl] - for x in self.fk_ctls: - att.setInvertMirror(x, ["tx", "ty", "tz"]) + self.fk_ctls = [self.fk0_ctl, + self.fk0_roll_ctl, + self.fk1_ctl, + self.fk1_roll_ctl, + self.fk2_ctl] + for x in self.fk_ctls: + attribute.setInvertMirror(x, ["tx", "ty", "tz"]) # IK Controlers ----------------------------------- - self.ik_cns = pri.addTransformFromPos(self.root, self.getName("ik_cns"), self.guide.pos["wrist"]) + self.ik_cns = primitive.addTransformFromPos( + self.root, self.getName("ik_cns"), self.guide.pos["wrist"]) - self.ikcns_ctl = self.addCtl(self.ik_cns, "ikcns_ctl", tra.getTransformFromPos(self.guide.pos["wrist"]), self.color_ik, "null", w=self.size*.12, tp=self.parentCtlTag) - att.setInvertMirror(self.ikcns_ctl, ["tx", "ty", "tz"]) + self.ikcns_ctl = self.addCtl( + self.ik_cns, + "ikcns_ctl", + transform.getTransformFromPos(self.guide.pos["wrist"]), + self.color_ik, + "null", + w=self.size * .12, tp=self.parentCtlTag) + attribute.setInvertMirror(self.ikcns_ctl, ["tx", "ty", "tz"]) if self.negate: - m = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "x-y", True) + m = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "x-y", + True) else: - m = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "xy", False) - self.ik_ctl = self.addCtl(self.ikcns_ctl, "ik_ctl", m, self.color_ik, "cube", w=self.size*.12, h=self.size*.12, d=self.size*.12, tp=self.ikcns_ctl) - att.setKeyableAttributes(self.ik_ctl) - att.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) + m = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "xy", + False) + self.ik_ctl = self.addCtl(self.ikcns_ctl, + "ik_ctl", + m, + self.color_ik, + "cube", + w=self.size * .12, + h=self.size * .12, + d=self.size * .12, + tp=self.ikcns_ctl) + attribute.setKeyableAttributes(self.ik_ctl) + attribute.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) # upv v = self.guide.apos[2] - self.guide.apos[0] v = self.normal ^ v v.normalize() - v *= self.size*.5 + v *= self.size * .5 v += self.guide.apos[1] # *ms* auto up vector ------------------------------ - self.upv_cns = pri.addTransformFromPos(self.root, self.getName("upv_cns"), self.guide.apos[0]) - self.upv_auv = pri.addTransformFromPos(self.root, self.getName("upv_auv"), self.guide.apos[0]) - self.upv_mtx = pri.addTransformFromPos(self.upv_cns, self.getName("upv_mtx"), self.guide.apos[0]) - - self.upv_npo = pri.addTransformFromPos(self.upv_mtx, self.getName("upv_npo"), v) - self.upv_ctl = self.addCtl(self.upv_npo, "upv_ctl", tra.getTransform(self.upv_npo), self.color_ik, "diamond", w=self.size*.12, tp=self.parentCtlTag) - att.setKeyableAttributes(self.upv_ctl, self.t_params) - att.setInvertMirror(self.upv_ctl, ["tx"]) + self.upv_cns = primitive.addTransformFromPos(self.root, + self.getName("upv_cns"), + self.guide.apos[0]) + self.upv_auv = primitive.addTransformFromPos(self.root, + self.getName("upv_auv"), + self.guide.apos[0]) + self.upv_mtx = primitive.addTransformFromPos(self.upv_cns, + self.getName("upv_mtx"), + self.guide.apos[0]) + + self.upv_npo = primitive.addTransformFromPos(self.upv_mtx, + self.getName("upv_npo"), + v) + self.upv_ctl = self.addCtl(self.upv_npo, + "upv_ctl", + transform.getTransform(self.upv_npo), + self.color_ik, + "diamond", + w=self.size * .12, + tp=self.parentCtlTag) + attribute.setKeyableAttributes(self.upv_ctl, self.t_params) + attribute.setInvertMirror(self.upv_ctl, ["tx"]) # References -------------------------------------- # Calculate again the transfor for the IK ref. This way align with FK - trnIK_ref = tra.getTransformLookingAt(self.guide.pos["wrist"], self.guide.pos["eff"], self.normal, "xz", self.negate) - self.ik_ref = pri.addTransform(self.ik_ctl, self.getName("ik_ref"), trnIK_ref) - self.fk_ref = pri.addTransform(self.fk_ctl[2], self.getName("fk_ref"), trnIK_ref) + trnIK_ref = transform.getTransformLookingAt(self.guide.pos["wrist"], + self.guide.pos["eff"], + self.normal, + "xz", + self.negate) + self.ik_ref = primitive.addTransform(self.ik_ctl, + self.getName("ik_ref"), + trnIK_ref) + self.fk_ref = primitive.addTransform(self.fk_ctl[2], + self.getName("fk_ref"), + trnIK_ref) # Chain -------------------------------------------- # take outputs of the ikfk2bone solver - self.bone0 = pri.addLocator(self.root, self.getName("0_bone"), tra.getTransform(self.fk_ctl[0])) + self.bone0 = primitive.addLocator( + self.root, + self.getName("0_bone"), + transform.getTransform(self.fk_ctl[0])) + self.bone0_shp = self.bone0.getShape() - self.bone0_shp.setAttr("localPositionX", self.n_factor*.5) + self.bone0_shp.setAttr("localPositionX", self.n_factor * .5) self.bone0_shp.setAttr("localScale", .5, 0, 0) self.bone0.setAttr("sx", self.length0) self.bone0.setAttr("visibility", False) - self.bone1 = pri.addLocator(self.root, self.getName("1_bone"), tra.getTransform(self.fk_ctl[1])) + self.bone1 = primitive.addLocator( + self.root, + self.getName("1_bone"), + transform.getTransform(self.fk_ctl[1])) + self.bone1_shp = self.bone1.getShape() - self.bone1_shp.setAttr("localPositionX", self.n_factor*.5) + self.bone1_shp.setAttr("localPositionX", self.n_factor * .5) self.bone1_shp.setAttr("localScale", .5, 0, 0) self.bone1.setAttr("sx", self.length1) self.bone1.setAttr("visibility", False) - self.ctrn_loc = pri.addTransformFromPos(self.root, self.getName("ctrn_loc"), self.guide.apos[1]) + self.ctrn_loc = primitive.addTransformFromPos(self.root, + self.getName("ctrn_loc"), + self.guide.apos[1]) # eff npo --- take the effector output of gear ik solver - self.eff_npo = pri.addTransformFromPos(self.root, self.getName("eff_npo"), self.guide.apos[2]) + self.eff_npo = primitive.addTransformFromPos(self.root, + self.getName("eff_npo"), + self.guide.apos[2]) # eff loc --- take the fk ik blend result - self.eff_loc = pri.addTransformFromPos(self.eff_npo, self.getName("eff_loc"), self.guide.apos[2]) + self.eff_loc = primitive.addTransformFromPos(self.eff_npo, + self.getName("eff_loc"), + self.guide.apos[2]) # Mid Controler ------------------------------------ - self.mid_ctl = self.addCtl(self.ctrn_loc, "mid_ctl", tra.getTransform(self.ctrn_loc), self.color_ik, "sphere", w=self.size*.2, tp=self.parentCtlTag) - att.setInvertMirror(self.mid_ctl, ["tx", "ty", "tz"]) + self.mid_ctl = self.addCtl(self.ctrn_loc, + "mid_ctl", + transform.getTransform(self.ctrn_loc), + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.parentCtlTag) + attribute.setInvertMirror(self.mid_ctl, ["tx", "ty", "tz"]) # *ms* add elbow thickness - - - #Roll join ref - - self.tws0_npo = pri.addTransform(self.root, self.getName("tws0_npo"), tra.getTransform(self.fk_ctl[0])) - self.tws0_loc = pri.addTransform(self.tws0_npo, self.getName("tws0_loc"), tra.getTransform(self.fk_ctl[0])) - self.tws0_rot = pri.addTransform(self.tws0_loc, self.getName("tws0_rot"), tra.getTransform(self.fk_ctl[0])) - - self.tws1_npo = pri.addTransform(self.ctrn_loc, self.getName("tws1_npo"), tra.getTransform(self.ctrn_loc)) - self.tws1_loc = pri.addTransform(self.tws1_npo, self.getName("tws1_loc"), tra.getTransform(self.ctrn_loc)) - self.tws1_rot = pri.addTransform(self.tws1_loc, self.getName("tws1_rot"), tra.getTransform(self.ctrn_loc)) - - self.tws2_loc = pri.addTransform(self.tws1_npo, self.getName("tws2_loc"), tra.getTransform(self.ctrn_loc)) - self.tws2_rot = pri.addTransform(self.tws2_loc, self.getName("tws2_rot"), tra.getTransform(self.ctrn_loc)) - - self.tws3_npo = pri.addTransform(self.root, self.getName("tws3_npo"), tra.getTransform(self.fk_ctl[2])) - self.tws3_loc = pri.addTransform(self.tws3_npo, self.getName("tws3_loc"), tra.getTransform(self.fk_ctl[2])) - self.tws3_rot = pri.addTransform(self.tws3_loc, self.getName("tws3_rot"), tra.getTransform(self.fk_ctl[2])) + # Roll join ref + + self.tws0_npo = primitive.addTransform( + self.root, + self.getName("tws0_npo"), + transform.getTransform(self.fk_ctl[0])) + self.tws0_loc = primitive.addTransform( + self.tws0_npo, + self.getName("tws0_loc"), + transform.getTransform(self.fk_ctl[0])) + self.tws0_rot = primitive.addTransform( + self.tws0_loc, + self.getName("tws0_rot"), + transform.getTransform(self.fk_ctl[0])) + + self.tws1_npo = primitive.addTransform( + self.ctrn_loc, + self.getName("tws1_npo"), + transform.getTransform(self.ctrn_loc)) + self.tws1_loc = primitive.addTransform( + self.tws1_npo, + self.getName("tws1_loc"), + transform.getTransform(self.ctrn_loc)) + self.tws1_rot = primitive.addTransform( + self.tws1_loc, + self.getName("tws1_rot"), + transform.getTransform(self.ctrn_loc)) + + self.tws2_loc = primitive.addTransform( + self.tws1_npo, + self.getName("tws2_loc"), + transform.getTransform(self.ctrn_loc)) + self.tws2_rot = primitive.addTransform( + self.tws2_loc, + self.getName("tws2_rot"), + transform.getTransform(self.ctrn_loc)) + + self.tws3_npo = primitive.addTransform( + self.root, + self.getName("tws3_npo"), + transform.getTransform(self.fk_ctl[2])) + self.tws3_loc = primitive.addTransform( + self.tws3_npo, + self.getName("tws3_loc"), + transform.getTransform(self.fk_ctl[2])) + self.tws3_rot = primitive.addTransform( + self.tws3_loc, + self.getName("tws3_rot"), + transform.getTransform(self.fk_ctl[2])) # Divisions ---------------------------------------- - # We have at least one division at the start, the end and one for the elbow. + 2 for elbow angle control + # We have at least one division at the start, the end and one for the + # elbow. + 2 for elbow angle control # separate up and dn limb self.divisions = self.settings["div0"] + self.settings["div1"] + 3 + 2 - self.divisions0 = self.settings["div0"] +2 - self.divisions1 = self.settings["div1"] +2 + self.divisions0 = self.settings["div0"] + 2 + self.divisions1 = self.settings["div1"] + 2 self.div_cns = [] self.div_cnsUp = [] self.div_cnsDn = [] self.div_ctls = [] - self.div_org = pri.addTransform(self.root, self.getName("div_org"), tra.getTransform(self.root)) + self.div_org = primitive.addTransform( + self.root, + self.getName("div_org"), + transform.getTransform(self.root)) self.previousTag = self.parentCtlTag for i in range(self.divisions0): - div_cns = pri.addTransform(self.div_org, self.getName("div%s_loc" % i)) + div_cns = primitive.addTransform( + self.div_org, self.getName("div%s_loc" % i)) + if self.negate: - div_ctl = self.addCtl(div_cns, self.getName("div%s_ctl" % i), tra.getTransform(div_cns), self.color_fk, "square",d=self.size*.05,w=self.size*.1,po=dt.Vector(0,self.size*-0.05,0),ro=dt.Vector(0,0,dt.radians(90)), tp=self.previousTag) + div_ctl = self.addCtl( + div_cns, + self.getName("div%s_ctl" % i), + transform.getTransform(div_cns), + self.color_fk, "square", d=self.size * .05, + w=self.size * .1, + po=datatypes.Vector(0, self.size * -0.05, 0), + ro=datatypes.Vector(0, 0, datatypes.radians(90)), + tp=self.previousTag) else: - div_ctl = self.addCtl(div_cns, self.getName("div%s_ctl" % i), tra.getTransform(div_cns), self.color_fk, "square",d=self.size*.05,w=self.size*.1,po=dt.Vector(0,self.size*0.05,0),ro=dt.Vector(0,0,dt.radians(90)), tp=self.previousTag) - att.setKeyableAttributes(div_ctl) + div_ctl = self.addCtl( + div_cns, + self.getName("div%s_ctl" % i), + transform.getTransform(div_cns), + self.color_fk, + "square", + d=self.size * .05, + w=self.size * .1, + po=datatypes.Vector(0, self.size * 0.05, 0), + ro=datatypes.Vector(0, 0, datatypes.radians(90)), + tp=self.previousTag) + attribute.setKeyableAttributes(div_ctl) self.previousTag = div_ctl self.div_cns.append(div_cns) self.div_cnsUp.append(div_cns) - self.jnt_pos.append([div_ctl,i]) + self.jnt_pos.append([div_ctl, i]) self.div_ctls.append(div_ctl) # mid division d = self.divisions0 - self.div_mid = pri.addTransform(self.div_org, self.getName("div%s_loc" % d), tra.getTransform(self.mid_ctl)) + self.div_mid = primitive.addTransform( + self.div_org, + self.getName("div%s_loc" % d), + transform.getTransform(self.mid_ctl)) if self.negate: - self.div_mid_ctl = self.addCtl(self.div_mid, self.getName("div%s_ctl" % d), tra.getTransform(self.div_mid), self.color_fk, "square",d=self.size*.05, w=self.size*.1,po=dt.Vector(0,self.size*-0.05,0), ro=dt.Vector(0,0,dt.radians(90)), tp=self.previousTag) + self.div_mid_ctl = self.addCtl( + self.div_mid, + self.getName("div%s_ctl" % d), + transform.getTransform(self.div_mid), + self.color_fk, + "square", + d=self.size * .05, + w=self.size * .1, + po=datatypes.Vector(0, self.size * -0.05, 0), + ro=datatypes.Vector(0, 0, datatypes.radians(90)), + tp=self.previousTag) else: - self.div_mid_ctl = self.addCtl(self.div_mid, self.getName("div%s_ctl" % d), tra.getTransform(self.div_mid), self.color_fk, "square",d=self.size*.05, w=self.size*.1,po=dt.Vector(0,self.size*0.05,0), ro=dt.Vector(0,0,dt.radians(90)), tp=self.previousTag) - att.setKeyableAttributes(self.div_mid_ctl) + self.div_mid_ctl = self.addCtl( + self.div_mid, self.getName("div%s_ctl" % d), + transform.getTransform(self.div_mid), + self.color_fk, + "square", + d=self.size * .05, + w=self.size * .1, + po=datatypes.Vector(0, self.size * 0.05, 0), + ro=datatypes.Vector(0, 0, datatypes.radians(90)), + tp=self.previousTag) + attribute.setKeyableAttributes(self.div_mid_ctl) self.previousTag = div_ctl self.div_cns.append(self.div_mid) - self.jnt_pos.append([self.div_mid_ctl,self.divisions0]) + self.jnt_pos.append([self.div_mid_ctl, self.divisions0]) self.div_ctls.append(self.div_mid_ctl) # down division for i in range(self.divisions1): - dd = i +self.divisions1+1 - div_cns = pri.addTransform(self.div_org, self.getName("div%s_loc" % dd)) + dd = i + self.divisions1 + 1 + div_cns = primitive.addTransform( + self.div_org, self.getName("div%s_loc" % dd)) if self.negate: - div_ctl = self.addCtl(div_cns, self.getName("div%s_ctl" % dd), tra.getTransform(div_cns), self.color_fk, "square",d=self.size*.05, w=self.size*.1,po=dt.Vector(0,self.size*-0.05,0),ro=dt.Vector(0,0,dt.radians(90)), tp=self.previousTag) + div_ctl = self.addCtl( + div_cns, + self.getName("div%s_ctl" % dd), + transform.getTransform(div_cns), + self.color_fk, + "square", + d=self.size * .05, + w=self.size * .1, + po=datatypes.Vector(0, self.size * -0.05, 0), + ro=datatypes.Vector(0, 0, datatypes.radians(90)), + tp=self.previousTag) else: - div_ctl = self.addCtl(div_cns, self.getName("div%s_ctl" % dd), tra.getTransform(div_cns), self.color_fk, "square",d=self.size*.05, w=self.size*.1,po=dt.Vector(0,self.size*0.05,0),ro=dt.Vector(0,0,dt.radians(90)), tp=self.previousTag) - att.setKeyableAttributes(div_ctl) + div_ctl = self.addCtl( + div_cns, + self.getName("div%s_ctl" % dd), + transform.getTransform(div_cns), + self.color_fk, + "square", + d=self.size * .05, + w=self.size * .1, + po=datatypes.Vector(0, self.size * 0.05, 0), + ro=datatypes.Vector(0, 0, datatypes.radians(90)), + tp=self.previousTag) + attribute.setKeyableAttributes(div_ctl) self.previousTag = div_ctl self.div_cns.append(div_cns) self.div_cnsDn.append(div_cns) - self.jnt_pos.append([div_ctl,i+self.divisions0+1]) + self.jnt_pos.append([div_ctl, i + self.divisions0 + 1]) self.div_ctls.append(div_ctl) # End reference ------------------------------------ # To help the deformation on the wrist self.jnt_pos.append([self.eff_loc, 'end']) - #match IK FK references - - self.match_fk0 = pri.addTransform(self.root, self.getName("fk0_mth"), tra.getTransform(self.fk_ctl[0])) - self.match_fk1 = pri.addTransform(self.root, self.getName("fk1_mth"), tra.getTransform(self.fk_ctl[1])) - self.match_fk2 = pri.addTransform(self.ik_ctl, self.getName("fk2_mth"), tra.getTransform(self.fk_ctl[2])) - - self.match_ik = pri.addTransform(self.fk2_ctl, self.getName("ik_mth"), tra.getTransform(self.ik_ctl)) - self.match_ikUpv = pri.addTransform(self.fk0_roll_ctl, self.getName("upv_mth"), tra.getTransform(self.upv_ctl)) + # match IK FK references + + self.match_fk0 = primitive.addTransform( + self.root, + self.getName("fk0_mth"), + transform.getTransform(self.fk_ctl[0])) + self.match_fk1 = primitive.addTransform( + self.root, + self.getName("fk1_mth"), + transform.getTransform(self.fk_ctl[1])) + self.match_fk2 = primitive.addTransform( + self.ik_ctl, + self.getName("fk2_mth"), + transform.getTransform(self.fk_ctl[2])) + + self.match_ik = primitive.addTransform( + self.fk2_ctl, + self.getName("ik_mth"), + transform.getTransform(self.ik_ctl)) + self.match_ikUpv = primitive.addTransform( + self.fk0_roll_ctl, + self.getName("upv_mth"), + transform.getTransform(self.upv_ctl)) + # ===================================================== + # ATTRIBUTES + # ===================================================== def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- - self.blend_att = self.addAnimParam("blend", "Fk/Ik Arm", "double", self.settings["blend"], 0, 1) - self.blend2_att = self.addAnimParam("blend_hand", "Fk/Ik Hand", "double", self.settings["blend"], 0, 1) - self.auv_att = self.addAnimParam("auv", "Auto Upvector", "double", 0, 0, 1) - self.roll_att = self.addAnimParam("roll", "Roll", "double", 0, -180, 180) - self.armpit_roll_att = self.addAnimParam("aproll", "Armpit Roll", "double", 0, -360, 360) - - self.scale_att = self.addAnimParam("ikscale", "Scale", "double", 1, .001, 99) - self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1, 99) - self.slide_att = self.addAnimParam("slide", "Slide", "double", .5, 0, 1) - self.softness_att = self.addAnimParam("softness", "Softness", "double", 0, 0, 1) - self.reverse_att = self.addAnimParam("reverse", "Reverse", "double", 0, 0, 1) - self.roundness0_att = self.addAnimParam("roundness_up", "Roundness Up", "double", 0, 0, self.size) - self.roundness1_att = self.addAnimParam("roundness_dn", "Roundness Dn", "double", 0, 0, self.size) - self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) - self.elbow_thickness_att = self.addAnimParam("elbowthickness", "Elbow Thickness", "double", self.settings["elbow"], 0, 5) - self.jntctl_vis_att = self.addAnimParam("jntct_vis", "Joint Ctl Vis", "bool", 0,1,1) + self.blend_att = self.addAnimParam( + "blend", "Fk/Ik Arm", "double", self.settings["blend"], 0, 1) + self.blend2_att = self.addAnimParam( + "blend_hand", "Fk/Ik Hand", "double", self.settings["blend"], 0, 1) + self.auv_att = self.addAnimParam( + "auv", "Auto Upvector", "double", 0, 0, 1) + self.roll_att = self.addAnimParam( + "roll", "Roll", "double", 0, -180, 180) + self.armpit_roll_att = self.addAnimParam( + "aproll", "Armpit Roll", "double", 0, -360, 360) + self.scale_att = self.addAnimParam( + "ikscale", "Scale", "double", 1, .001, 99) + self.maxstretch_att = self.addAnimParam("maxstretch", + "Max Stretch", + "double", + self.settings["maxstretch"], + 1, + 99) + self.slide_att = self.addAnimParam( + "slide", "Slide", "double", .5, 0, 1) + self.softness_att = self.addAnimParam( + "softness", "Softness", "double", 0, 0, 1) + self.reverse_att = self.addAnimParam( + "reverse", "Reverse", "double", 0, 0, 1) + self.roundness0_att = self.addAnimParam( + "roundness_up", "Roundness Up", "double", 0, 0, self.size) + self.roundness1_att = self.addAnimParam( + "roundness_dn", "Roundness Dn", "double", 0, 0, self.size) + self.volume_att = self.addAnimParam( + "volume", "Volume", "double", 1, 0, 1) + self.elbow_thickness_att = self.addAnimParam("elbowthickness", + "Elbow Thickness", + "double", + self.settings["elbow"], + 0, + 5) + self.jntctl_vis_att = self.addAnimParam( + "jntct_vis", "Joint Ctl Vis", "bool", 0) # Ref if self.settings["fkrefarray"]: ref_names = self.settings["fkrefarray"].split(",") if len(ref_names) > 1: - self.ref_att = self.addAnimEnumParam("fkref", "Fk Ref", 0, self.settings["fkrefarray"].split(",")) + self.ref_att = self.addAnimEnumParam( + "fkref", + "Fk Ref", + 0, + self.settings["fkrefarray"].split(",")) if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) if self.settings["upvrefarray"]: ref_names = self.settings["upvrefarray"].split(",") if len(ref_names) > 1: - self.upvref_att = self.addAnimEnumParam("upvref", "UpV Ref", 0, self.settings["upvrefarray"].split(",")) + self.upvref_att = self.addAnimEnumParam( + "upvref", + "UpV Ref", + 0, + self.settings["upvrefarray"].split(",")) # Setup ------------------------------------------ # Eval Fcurve - self.st_value = fcu.getFCurveValues(self.settings["st_profile"], self.divisions) - self.sq_value = fcu.getFCurveValues(self.settings["sq_profile"], self.divisions) + self.st_value = fcurve.getFCurveValues(self.settings["st_profile"], + self.divisions) + self.sq_value = fcurve.getFCurveValues(self.settings["sq_profile"], + self.divisions) + + self.st_att = [self.addSetupParam("stretch_%s" % i, + "Stretch %s" % i, + "double", + self.st_value[i], + -1, + 0) + for i in range(self.divisions)] + + self.sq_att = [self.addSetupParam("squash_%s" % i, + "Squash %s" % i, + "double", + self.sq_value[i], + 0, + 1) + for i in range(self.divisions)] + + self.resample_att = self.addSetupParam( + "resample", "Resample", "bool", True) + self.absolute_att = self.addSetupParam( + "absolute", "Absolute", "bool", False) - self.st_att = [ self.addSetupParam("stretch_%s"%i, "Stretch %s"%i, "double", self.st_value[i], -1, 0) for i in range(self.divisions) ] - self.sq_att = [ self.addSetupParam("squash_%s"%i, "Squash %s"%i, "double", self.sq_value[i], 0, 1) for i in range(self.divisions) ] + # ===================================================== + # OPERATORS + # ===================================================== + def addOperators(self): + """Create operators and set the relations for the component rig - self.resample_att = self.addSetupParam("resample", "Resample", "bool", True) - self.absolute_att = self.addSetupParam("absolute", "Absolute", "bool", False) + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. - def addOperators(self): + """ # Visibilities ------------------------------------- # fk - fkvis_node = nod.createReverseNode(self.blend_att) + fkvis_node = node.createReverseNode(self.blend_att) for shp in self.fk0_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) for shp in self.fk0_roll_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) for shp in self.fk1_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) for shp in self.fk1_roll_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", shp.attr("visibility")) - fkvis2_node = nod.createReverseNode(self.blend2_att) + fkvis2_node = node.createReverseNode(self.blend2_att) for shp in self.fk2_ctl.getShapes(): - pm.connectAttr(fkvis2_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis2_node + ".outputX", shp.attr("visibility")) # ik for shp in self.upv_ctl.getShapes(): @@ -359,162 +664,232 @@ def addOperators(self): pm.connectAttr(self.jntctl_vis_att, shp.attr("visibility")) # Controls ROT order ----------------------------------- - att.setRotOrder(self.fk0_ctl, "YZX") - att.setRotOrder(self.fk1_ctl, "XYZ") - att.setRotOrder(self.fk2_ctl, "YZX") - att.setRotOrder(self.ik_ctl, "XYZ") - + attribute.setRotOrder(self.fk0_ctl, "YZX") + attribute.setRotOrder(self.fk1_ctl, "XYZ") + attribute.setRotOrder(self.fk2_ctl, "YZX") + attribute.setRotOrder(self.ik_ctl, "XYZ") # IK Solver ----------------------------------------- out = [self.bone0, self.bone1, self.ctrn_loc, self.eff_npo] - node = aop.gear_ikfk2bone_op(out, self.root, self.ik_ref, self.upv_ctl, self.fk0_mtx, self.fk1_mtx, self.fk2_mtx, self.length0, self.length1, self.negate) - - pm.connectAttr(self.blend_att, node+".blend") - pm.connectAttr(self.roll_att, node+".roll") - pm.connectAttr(self.scale_att, node+".scaleA") - pm.connectAttr(self.scale_att, node+".scaleB") - pm.connectAttr(self.maxstretch_att, node+".maxstretch") - pm.connectAttr(self.slide_att, node+".slide") - pm.connectAttr(self.softness_att, node+".softness") - pm.connectAttr(self.reverse_att, node+".reverse") - # update issue on effector scale interpolation, disconnect for stability + o_node = applyop.gear_ikfk2bone_op(out, + self.root, + self.ik_ref, + self.upv_ctl, + self.fk0_mtx, + self.fk1_mtx, + self.fk2_mtx, + self.length0, + self.length1, + self.negate) + + pm.connectAttr(self.blend_att, o_node + ".blend") + pm.connectAttr(self.roll_att, o_node + ".roll") + pm.connectAttr(self.scale_att, o_node + ".scaleA") + pm.connectAttr(self.scale_att, o_node + ".scaleB") + pm.connectAttr(self.maxstretch_att, o_node + ".maxstretch") + pm.connectAttr(self.slide_att, o_node + ".slide") + pm.connectAttr(self.softness_att, o_node + ".softness") + pm.connectAttr(self.reverse_att, o_node + ".reverse") + # update issue on effector scale interpol, disconnect for stability pm.disconnectAttr(self.eff_npo.scale) # auto upvector ------------------------------------- if self.negate: - node = aop.aimCns(self.upv_auv, self.ik_ctl, axis="-xy", wupType=4, wupVector=[0,1,0], wupObject=self.upv_auv, maintainOffset=False) + o_node = applyop.aimCns(self.upv_auv, + self.ik_ctl, + axis="-xy", + wupType=4, + wupVector=[0, 1, 0], + wupObject=self.upv_auv, + maintainOffset=False) else: - node = aop.aimCns(self.upv_auv, self.ik_ctl, axis="xy", wupType=4, wupVector=[0,1,0], wupObject=self.upv_auv, maintainOffset=False) - - node = aop.gear_mulmatrix_op(self.upv_auv.attr("worldMatrix"), self.upv_mtx.attr("parentInverseMatrix")) + o_node = applyop.aimCns(self.upv_auv, + self.ik_ctl, + axis="xy", + wupType=4, + wupVector=[0, 1, 0], + wupObject=self.upv_auv, + maintainOffset=False) + + o_node = applyop.gear_mulmatrix_op( + self.upv_auv.attr("worldMatrix"), + self.upv_mtx.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") pb_node = pm.createNode("pairBlend") - pb_node.attr("rotInterpolation").set (1) - pm.connectAttr(dm_node+".outputTranslate", pb_node+".inTranslate2") - pm.connectAttr(dm_node+".outputRotate", pb_node+".inRotate2") - pm.connectAttr(pb_node+".outRotate", self.upv_mtx.attr("rotate")) - pm.connectAttr(pb_node+".outTranslate", self.upv_mtx.attr("translate")) - pm.connectAttr(self.auv_att, pb_node+".weight") + pb_node.attr("rotInterpolation").set(1) + pm.connectAttr(dm_node + ".outputTranslate", pb_node + ".inTranslate2") + pm.connectAttr(dm_node + ".outputRotate", pb_node + ".inRotate2") + pm.connectAttr(pb_node + ".outRotate", self.upv_mtx.attr("rotate")) + pm.connectAttr(pb_node + ".outTranslate", + self.upv_mtx.attr("translate")) + pm.connectAttr(self.auv_att, pb_node + ".weight") # fk0 mtx connection - node = aop.gear_mulmatrix_op(self.fk0_roll_ctl.attr("worldMatrix"), self.fk0_mtx.attr("parentInverseMatrix")) + o_node = applyop.gear_mulmatrix_op( + self.fk0_roll_ctl.attr("worldMatrix"), + self.fk0_mtx.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputTranslate", self.fk0_mtx.attr("translate")) - pm.connectAttr(dm_node+".outputRotate", self.fk0_mtx.attr("rotate")) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputTranslate", + self.fk0_mtx.attr("translate")) + pm.connectAttr(dm_node + ".outputRotate", self.fk0_mtx.attr("rotate")) # fk1 loc connect to fk1 ref @ pos and rot, not scl to avoid shearing - node = aop.gear_mulmatrix_op(self.fk1_ref.attr("worldMatrix"), self.fk1_loc.attr("parentInverseMatrix")) + o_node = applyop.gear_mulmatrix_op( + self.fk1_ref.attr("worldMatrix"), + self.fk1_loc.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputTranslate", self.fk1_loc.attr("translate")) - pm.connectAttr(dm_node+".outputRotate", self.fk1_loc.attr("rotate")) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputTranslate", + self.fk1_loc.attr("translate")) + pm.connectAttr(dm_node + ".outputRotate", self.fk1_loc.attr("rotate")) # fk1 mtx orient cns to fk1 roll - pm.connectAttr(self.fk1_roll_ctl.attr("rotate"), self.fk1_mtx.attr("rotate")) + pm.connectAttr(self.fk1_roll_ctl.attr("rotate"), + self.fk1_mtx.attr("rotate")) # fk2_loc position constraint to effector------------------------ - node = aop.gear_mulmatrix_op(self.eff_npo.attr("worldMatrix"), self.fk2_loc.attr("parentInverseMatrix")) + o_node = applyop.gear_mulmatrix_op( + self.eff_npo.attr("worldMatrix"), + self.fk2_loc.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputTranslate", self.fk2_loc.attr("translate")) - # fk2_loc rotation constraint to bone1 (bugfixed) ------------------------ - node = aop.gear_mulmatrix_op(self.bone1.attr("worldMatrix"), self.fk2_loc.attr("parentInverseMatrix")) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputTranslate", + self.fk2_loc.attr("translate")) + # fk2_loc rotation constraint to bone1 (bugfixed) -------------- + o_node = applyop.gear_mulmatrix_op( + self.bone1.attr("worldMatrix"), + self.fk2_loc.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputRotate", self.fk2_loc.attr("rotate")) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputRotate", self.fk2_loc.attr("rotate")) - - # hand ikfk blending from fk ref to ik ref (serious bugfix)-------------------------------- - node = aop.gear_mulmatrix_op(self.fk_ref.attr("worldMatrix"), self.eff_loc.attr("parentInverseMatrix")) + # hand ikfk blending from fk ref to ik ref (serious bugfix)-------- + o_node = applyop.gear_mulmatrix_op( + self.fk_ref.attr("worldMatrix"), + self.eff_loc.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") pb_node = pm.createNode("pairBlend") - pb_node.attr("rotInterpolation").set (1) - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputRotate", pb_node+".inRotate1") - pm.connectAttr(self.blend2_att, pb_node+".weight") - pm.connectAttr(pb_node+".outRotate", self.eff_loc.attr("rotate")) - node = aop.gear_mulmatrix_op(self.ik_ref.attr("worldMatrix"), self.eff_loc.attr("parentInverseMatrix")) + pb_node.attr("rotInterpolation").set(1) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputRotate", pb_node + ".inRotate1") + pm.connectAttr(self.blend2_att, pb_node + ".weight") + pm.connectAttr(pb_node + ".outRotate", self.eff_loc.attr("rotate")) + o_node = applyop.gear_mulmatrix_op( + self.ik_ref.attr("worldMatrix"), + self.eff_loc.attr("parentInverseMatrix")) dm_node1 = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node1+".inputMatrix") - pm.connectAttr(dm_node1+".outputRotate", pb_node+".inRotate2") + pm.connectAttr(o_node + ".output", dm_node1 + ".inputMatrix") + pm.connectAttr(dm_node1 + ".outputRotate", pb_node + ".inRotate2") # use blendcolors to blend scale bc_node = pm.createNode("blendColors") - pm.connectAttr(self.blend_att, bc_node+".blender") - pm.connectAttr(dm_node+".outputScale", bc_node+".color2") - pm.connectAttr(dm_node1+".outputScale", bc_node+".color1") - pm.connectAttr(bc_node+".output", self.eff_loc.attr("scale")) + pm.connectAttr(self.blend_att, bc_node + ".blender") + pm.connectAttr(dm_node + ".outputScale", bc_node + ".color2") + pm.connectAttr(dm_node1 + ".outputScale", bc_node + ".color1") + pm.connectAttr(bc_node + ".output", self.eff_loc.attr("scale")) # Twist references --------------------------------- - pm.connectAttr(self.mid_ctl.attr("translate"), self.tws1_npo.attr("translate")) - pm.connectAttr(self.mid_ctl.attr("rotate"), self.tws1_npo.attr("rotate")) - pm.connectAttr(self.mid_ctl.attr("scale"), self.tws1_npo.attr("scale")) - - - node = aop.gear_mulmatrix_op(self.eff_loc.attr("worldMatrix"), self.tws3_npo.attr("parentInverseMatrix")) + pm.connectAttr(self.mid_ctl.attr("translate"), + self.tws1_npo.attr("translate")) + pm.connectAttr(self.mid_ctl.attr("rotate"), + self.tws1_npo.attr("rotate")) + pm.connectAttr(self.mid_ctl.attr("scale"), + self.tws1_npo.attr("scale")) + + o_node = applyop.gear_mulmatrix_op( + self.eff_loc.attr("worldMatrix"), + self.tws3_npo.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputTranslate", self.tws3_npo.attr("translate")) - pm.connectAttr(dm_node+".outputRotate", self.tws3_npo.attr("rotate")) + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputTranslate", + self.tws3_npo.attr("translate")) - att.setRotOrder(self.tws3_rot, "XYZ") + pm.connectAttr(dm_node + ".outputRotate", + self.tws3_npo.attr("rotate")) + + attribute.setRotOrder(self.tws3_rot, "XYZ") # elbow thickness connection if self.negate: - node = nod.createMulNode([self.elbow_thickness_att,self.elbow_thickness_att], [0.5,-0.5,0], [self.tws1_loc+".translateX",self.tws2_loc+".translateX"]) + o_node = node.createMulNode( + [self.elbow_thickness_att, self.elbow_thickness_att], + [0.5, -0.5, 0], + [self.tws1_loc + ".translateX", self.tws2_loc + ".translateX"]) else: - node = nod.createMulNode([self.elbow_thickness_att,self.elbow_thickness_att], [-0.5,0.5,0], [self.tws1_loc+".translateX",self.tws2_loc+".translateX"]) + o_node = node.createMulNode( + [self.elbow_thickness_att, self.elbow_thickness_att], + [-0.5, 0.5, 0], + [self.tws1_loc + ".translateX", self.tws2_loc + ".translateX"]) # connect both tws1 and tws2 (mid tws) self.tws0_rot.setAttr("sx", .001) self.tws3_rot.setAttr("sx", .001) - add_node = nod.createAddNode(self.roundness0_att, .001) - pm.connectAttr(add_node+".output", self.tws1_rot.attr("sx")) - - add_node = nod.createAddNode(self.roundness1_att, .001) - pm.connectAttr(add_node+".output", self.tws2_rot.attr("sx")) + add_node = node.createAddNode(self.roundness0_att, .001) + pm.connectAttr(add_node + ".output", self.tws1_rot.attr("sx")) + add_node = node.createAddNode(self.roundness1_att, .001) + pm.connectAttr(add_node + ".output", self.tws2_rot.attr("sx")) - pm.connectAttr(self.armpit_roll_att, self.tws0_rot+".rotateX") + pm.connectAttr(self.armpit_roll_att, self.tws0_rot + ".rotateX") - #Roll Shoulder--use aimconstraint withour uovwctor to solve the stable twist + # Roll Shoulder--use aimconstraint withour uovwctor to solve + # the stable twist if self.negate: - node = aop.aimCns(self.tws0_loc, self.mid_ctl, axis="-xy", wupType=4, wupVector=[0,1,0], wupObject=self.tws0_npo, maintainOffset=False) + o_node = applyop.aimCns(self.tws0_loc, + self.mid_ctl, + axis="-xy", + wupType=4, + wupVector=[0, 1, 0], + wupObject=self.tws0_npo, + maintainOffset=False) else: - node = aop.aimCns(self.tws0_loc, self.mid_ctl, axis="xy", wupType=4, wupVector=[0,1,0], wupObject=self.tws0_npo, maintainOffset=False) - + o_node = applyop.aimCns(self.tws0_loc, + self.mid_ctl, + axis="xy", + wupType=4, + wupVector=[0, 1, 0], + wupObject=self.tws0_npo, + maintainOffset=False) # Volume ------------------------------------------- - distA_node = nod.createDistNode(self.tws0_loc, self.tws1_npo) - distB_node = nod.createDistNode(self.tws1_npo, self.tws3_loc) - add_node = nod.createAddNode(distA_node+".distance", distB_node+".distance") - div_node = nod.createDivNode(add_node+".output", self.root.attr("sx")) + distA_node = node.createDistNode(self.tws0_loc, self.tws1_npo) + distB_node = node.createDistNode(self.tws1_npo, self.tws3_loc) + add_node = node.createAddNode(distA_node + ".distance", + distB_node + ".distance") + div_node = node.createDivNode(add_node + ".output", + self.root.attr("sx")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(self.root.attr("worldMatrix"), dm_node+".inputMatrix") + pm.connectAttr(self.root.attr("worldMatrix"), dm_node + ".inputMatrix") - div_node2 = nod.createDivNode(div_node+".outputX", dm_node+".outputScaleX") - self.volDriver_att = div_node2+".outputX" + div_node2 = node.createDivNode(div_node + ".outputX", + dm_node + ".outputScaleX") + self.volDriver_att = div_node2 + ".outputX" # Divisions ---------------------------------------- # div mid constraint to mid ctl - node = aop.gear_mulmatrix_op(self.mid_ctl.attr("worldMatrix"), self.div_mid.attr("parentInverseMatrix")) + o_node = applyop.gear_mulmatrix_op( + self.mid_ctl.attr("worldMatrix"), + self.div_mid.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") - pm.connectAttr(dm_node+".outputTranslate", self.div_mid.attr("translate")) - pm.connectAttr(dm_node+".outputRotate", self.div_mid.attr("rotate")) - - # at 0 or 1 the division will follow exactly the rotation of the controler.. and we wont have this nice tangent + roll + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") + pm.connectAttr(dm_node + ".outputTranslate", + self.div_mid.attr("translate")) + pm.connectAttr(dm_node + ".outputRotate", + self.div_mid.attr("rotate")) + + # at 0 or 1 the division will follow exactly the rotation of the + # controler.. and we wont have this nice tangent + roll # linear scaling percentage (1) to effector (2) to elbow scl_1_perc = [] scl_2_perc = [] for i, div_cnsUp in enumerate(self.div_cnsUp): - if i < (self.settings["div0"]+1): - perc = i/ (self.settings["div0"]+1.0) + if i < (self.settings["div0"] + 1): + perc = i / (self.settings["div0"] + 1.0) elif i < (self.settings["div0"] + 2): perc = .95 @@ -522,23 +897,26 @@ def addOperators(self): # Roll if self.negate: - node = aop.gear_rollsplinekine_op(div_cnsUp, [self.tws1_rot, self.tws0_rot], 1-perc, 20) + o_node = applyop.gear_rollsplinekine_op( + div_cnsUp, [self.tws1_rot, self.tws0_rot], 1 - perc, 20) else: - node = aop.gear_rollsplinekine_op(div_cnsUp, [self.tws0_rot, self.tws1_rot], perc, 20) - pm.connectAttr(self.resample_att, node+".resample") - pm.connectAttr(self.absolute_att, node+".absolute") + o_node = applyop.gear_rollsplinekine_op( + div_cnsUp, [self.tws0_rot, self.tws1_rot], perc, 20) + + pm.connectAttr(self.resample_att, o_node + ".resample") + pm.connectAttr(self.absolute_att, o_node + ".absolute") - scl_1_perc.append(perc/2) + scl_1_perc.append(perc / 2) scl_2_perc.append(perc) scl_1_perc.append(0.5) scl_2_perc.append(1) for i, div_cnsDn in enumerate(self.div_cnsDn): if i == (0): - perc = .05 - elif i < (self.settings["div1"]+1): - perc = i/ (self.settings["div1"]+1.0) + perc = .05 + elif i < (self.settings["div1"] + 1): + perc = i / (self.settings["div1"] + 1.0) elif i < (self.settings["div1"] + 2): perc = .95 @@ -546,58 +924,63 @@ def addOperators(self): # Roll if self.negate: - node = aop.gear_rollsplinekine_op(div_cnsDn, [self.tws3_rot, self.tws2_rot], 1-perc, 20) + o_node = applyop.gear_rollsplinekine_op( + div_cnsDn, [self.tws3_rot, self.tws2_rot], 1 - perc, 20) else: - node = aop.gear_rollsplinekine_op(div_cnsDn, [self.tws2_rot, self.tws3_rot], perc, 20) - pm.connectAttr(self.resample_att, node+".resample") - pm.connectAttr(self.absolute_att, node+".absolute") + o_node = applyop.gear_rollsplinekine_op( + div_cnsDn, [self.tws2_rot, self.tws3_rot], perc, 20) + pm.connectAttr(self.resample_att, o_node + ".resample") + pm.connectAttr(self.absolute_att, o_node + ".absolute") - scl_1_perc.append(perc/2+0.5) - scl_2_perc.append(1-perc) + scl_1_perc.append(perc / 2 + 0.5) + scl_2_perc.append(1 - perc) # Squash n Stretch for i, div_cns in enumerate(self.div_cns): - node = aop.gear_squashstretch2_op(div_cns, None, pm.getAttr(self.volDriver_att), "x") - pm.connectAttr(self.volume_att, node+".blend") - pm.connectAttr(self.volDriver_att, node+".driver") - pm.connectAttr(self.st_att[i], node+".stretch") - pm.connectAttr(self.sq_att[i], node+".squash") + o_node = applyop.gear_squashstretch2_op( + div_cns, None, pm.getAttr(self.volDriver_att), "x") + pm.connectAttr(self.volume_att, o_node + ".blend") + pm.connectAttr(self.volDriver_att, o_node + ".driver") + pm.connectAttr(self.st_att[i], o_node + ".stretch") + pm.connectAttr(self.sq_att[i], o_node + ".squash") # get the first mult_node after sq op - mult_node = pm.listHistory(node, future=True )[1] + mult_node = pm.listHistory(o_node, future=True)[1] # linear blend effector scale bc_node = pm.createNode("blendColors") bc_node.setAttr("color2R", 1) bc_node.setAttr("color2G", 1) bc_node.setAttr("blender", scl_1_perc[i]) - pm.connectAttr(self.eff_loc.attr("scale"), bc_node+".color1") + pm.connectAttr(self.eff_loc.attr("scale"), bc_node + ".color1") # linear blend mid scale bc_node2 = pm.createNode("blendColors") bc_node2.setAttr("color2R", 1) bc_node2.setAttr("color2G", 1) bc_node2.setAttr("blender", scl_2_perc[i]) - pm.connectAttr(self.mid_ctl.attr("scale"), bc_node2+".color1") + pm.connectAttr(self.mid_ctl.attr("scale"), bc_node2 + ".color1") # mid_ctl scale * effector scale mult_node2 = pm.createNode("multiplyDivide") - pm.connectAttr(bc_node2+".output", mult_node2+".input1") - pm.connectAttr(bc_node+".output", mult_node2+".input2") + pm.connectAttr(bc_node2 + ".output", mult_node2 + ".input1") + pm.connectAttr(bc_node + ".output", mult_node2 + ".input2") # plug to sq scale - pm.connectAttr(mult_node2+".output", mult_node+".input2") + pm.connectAttr(mult_node2 + ".output", mult_node + ".input2") # match IK/FK ref - pm.connectAttr(self.bone0.attr("rotate"), self.match_fk0.attr("rotate")) - pm.connectAttr(self.bone0.attr("translate"), self.match_fk0.attr("translate")) - pm.connectAttr(self.bone1.attr("rotate"), self.match_fk1.attr("rotate")) - pm.connectAttr(self.bone1.attr("translate"), self.match_fk1.attr("translate")) + pm.connectAttr(self.bone0.attr("rotate"), + self.match_fk0.attr("rotate")) + pm.connectAttr(self.bone0.attr("translate"), + self.match_fk0.attr("translate")) + pm.connectAttr(self.bone1.attr("rotate"), + self.match_fk1.attr("rotate")) + pm.connectAttr(self.bone1.attr("translate"), + self.match_fk1.attr("translate")) return # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self - # TODO: replace bone0 and control objects by loc connections def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.div_cns[0] self.relatives["elbow"] = self.div_cns[self.settings["div0"] + 2] self.relatives["wrist"] = self.div_cns[-1] @@ -605,16 +988,17 @@ def setRelation(self): self.jointRelatives["root"] = 0 self.jointRelatives["elbow"] = self.settings["div0"] + 2 - self.jointRelatives["wrist"] = len(self.div_cns)-1 + self.jointRelatives["wrist"] = len(self.div_cns) - 1 self.jointRelatives["eff"] = -1 self.controlRelatives["root"] = self.fk0_ctl self.controlRelatives["elbow"] = self.fk1_ctl self.controlRelatives["wrist"] = self.fk2_ctl self.controlRelatives["eff"] = self.fk2_ctl - ## standard connection definition. - # @param self + def connect_standard(self): + """standard connection definition for the component""" self.connect_standardWithIkRef() # fk isolation connection - self.connect_standardWithRotRef(self.settings["fkrefarray"], self.fk_cns) + self.connect_standardWithRotRef(self.settings["fkrefarray"], + self.fk_cns) diff --git a/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/guide.py b/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/guide.py index 560b13d..a170829 100644 --- a/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/guide.py +++ b/scripts/mgear/maya/shifter/component/arm_ms_2jnt_01/guide.py @@ -1,59 +1,32 @@ -# MGEAR is under the terms of the MIT License +"""Guide Arm Miles 2 joints 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## from functools import partial -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info -AUTHOR = "Jeremie Passerin, Miquel Campos, Miles Cheng" -URL = "www.jeremiepasserin.com, www.miquletd.com" -EMAIL = "geerem@hotmail.com, hello@miquel-campos.com , miles@simage.com.hk" -VERSION = [1,3,0] +AUTHOR = "Miles Cheng, Jeremie Passerin, Miquel Campos" +URL = "" +EMAIL = "miles@simage.com.hk, geerem@hotmail.com, hello@miquel-campos.com" +VERSION = [1, 3, 0] TYPE = "arm_ms_2jnt_01" NAME = "arm" -DESCRIPTION = "2 bones arm with Maya nodes for roll bones + Simage specification" +DESCRIPTION = "2 bones arm with Maya nodes for roll bones + Simage specs" ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -64,51 +37,51 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "elbow", "wrist", "eff"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [3,0,-.01]) + vTemp = transform.getOffsetPosition(self.root, [3, 0, -.01]) self.elbow = self.addLoc("elbow", self.root, vTemp) - vTemp = tra.getOffsetPosition( self.root, [6,0,0]) + vTemp = transform.getOffsetPosition(self.root, [6, 0, 0]) self.wrist = self.addLoc("wrist", self.elbow, vTemp) - vTemp = tra.getOffsetPosition( self.root, [7,0,0]) + vTemp = transform.getOffsetPosition(self.root, [7, 0, 0]) self.eff = self.addLoc("eff", self.wrist, vTemp) - self.dispcrv = self.addDispCurve("crv", [self.root, self.elbow, self.wrist, self.eff]) + self.dispcrv = self.addDispCurve( + "crv", [self.root, self.elbow, self.wrist, self.eff]) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" # Default Values - self.pBlend = self.addParam("blend", "double", 0, 0, 1) - self.pFkRefArray = self.addParam("fkrefarray", "string", "") - self.pIkRefArray = self.addParam("ikrefarray", "string", "") + self.pBlend = self.addParam("blend", "double", 0, 0, 1) + self.pFkRefArray = self.addParam("fkrefarray", "string", "") + self.pIkRefArray = self.addParam("ikrefarray", "string", "") self.pUpvRefArray = self.addParam("upvrefarray", "string", "") - self.pMaxStretch = self.addParam("maxstretch", "double", 2 , 1, None) - self.pElbowThickness = self.addParam("elbow","double",0,0,None) + self.pMaxStretch = self.addParam("maxstretch", "double", 2, 1, None) + self.pElbowThickness = self.addParam("elbow", "double", 0, 0, None) # Divisions self.pDiv0 = self.addParam("div0", "long", 3, 1, None) self.pDiv1 = self.addParam("div1", "long", 3, 1, None) # FCurves - self.pSt_profile = self.addFCurveParam("st_profile", [[0,0],[.5,-.5],[1,0]]) - self.pSq_profile = self.addFCurveParam("sq_profile", [[0,0],[.5,.5],[1,0]]) - - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pSt_profile = self.addFCurveParam("st_profile", + [[0, 0], [.5, -.5], [1, 0]]) + self.pSq_profile = self.addFCurveParam("sq_profile", + [[0, 0], [.5, .5], [1, 0]]) + self.pUseIndex = self.addParam("useIndex", "bool", False) + self.pParentJointIndex = self.addParam("parentJointIndex", + "long", + -1, + None, + None) ########################################################## @@ -116,23 +89,24 @@ def addParameters(self): ########################################################## class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -140,7 +114,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -150,22 +124,29 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate Controls + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - self.settingsTab.ikfk_slider.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.ikfk_spinBox.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.maxStretch_spinBox.setValue(self.root.attr("maxstretch").get()) - self.settingsTab.elbow_spinBox.setValue(self.root.attr("elbow").get()) - self.settingsTab.div0_spinBox.setValue(self.root.attr("div0").get()) - self.settingsTab.div1_spinBox.setValue(self.root.attr("div1").get()) + # populate component settings + self.settingsTab.ikfk_slider.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.ikfk_spinBox.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.maxStretch_spinBox.setValue( + self.root.attr("maxstretch").get()) + self.settingsTab.elbow_spinBox.setValue( + self.root.attr("elbow").get()) + self.settingsTab.div0_spinBox.setValue( + self.root.attr("div0").get()) + self.settingsTab.div1_spinBox.setValue( + self.root.attr("div1").get()) fkRefArrayItems = self.root.attr("fkrefarray").get().split(",") for item in fkRefArrayItems: @@ -177,7 +158,6 @@ def populate_componentControls(self): for item in upvRefArrayItems: self.settingsTab.upvRefArray_listWidget.addItem(item) - def create_componentLayout(self): self.settings_layout = QtWidgets.QVBoxLayout() @@ -188,29 +168,69 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.ikfk_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) - self.settingsTab.ikfk_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) - self.settingsTab.maxStretch_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxStretch_spinBox, "maxstretch")) - self.settingsTab.elbow_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.elbow_spinBox, "elbow")) - - self.settingsTab.div0_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.div0_spinBox, "div0")) - self.settingsTab.div1_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.div1_spinBox, "div1")) - self.settingsTab.squashStretchProfile_pushButton.clicked.connect(self.setProfile) - - - self.settingsTab.fkRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.fkRefArray_listWidget, "fkrefarray")) - self.settingsTab.fkRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.fkRefArray_listWidget, "fkrefarray")) - self.settingsTab.fkRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.ikRefArray_listWidget, self.settingsTab.fkRefArray_listWidget, "fkrefarray")) + self.settingsTab.ikfk_slider.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) + self.settingsTab.ikfk_spinBox.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) + self.settingsTab.maxStretch_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxStretch_spinBox, + "maxstretch")) + self.settingsTab.elbow_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.elbow_spinBox, + "elbow")) + + self.settingsTab.div0_spinBox.valueChanged.connect( + partial(self.updateSpinBox, self.settingsTab.div0_spinBox, "div0")) + self.settingsTab.div1_spinBox.valueChanged.connect( + partial(self.updateSpinBox, self.settingsTab.div1_spinBox, "div1")) + self.settingsTab.squashStretchProfile_pushButton.clicked.connect( + self.setProfile) + + self.settingsTab.fkRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.fkRefArray_listWidget, + "fkrefarray")) + self.settingsTab.fkRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.fkRefArray_listWidget, + "fkrefarray")) + self.settingsTab.fkRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.ikRefArray_listWidget, + self.settingsTab.fkRefArray_listWidget, + "fkrefarray")) self.settingsTab.fkRefArray_listWidget.installEventFilter(self) - self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.upvRefArray_listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) + self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.upvRefArray_listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) self.settingsTab.ikRefArray_listWidget.installEventFilter(self) - self.settingsTab.upvRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) - self.settingsTab.upvRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) - self.settingsTab.upvRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.ikRefArray_listWidget, self.settingsTab.upvRefArray_listWidget, "upvrefarray")) + self.settingsTab.upvRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) + self.settingsTab.upvRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) + self.settingsTab.upvRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.ikRefArray_listWidget, + self.settingsTab.upvRefArray_listWidget, + "upvrefarray")) self.settingsTab.upvRefArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -225,6 +245,5 @@ def eventFilter(self, sender, event): else: return QtWidgets.QDialog.eventFilter(self, sender, event) - def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/chain_01/__init__.py b/scripts/mgear/maya/shifter/component/chain_01/__init__.py index db8a085..4e4185e 100644 --- a/scripts/mgear/maya/shifter/component/chain_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/chain_01/__init__.py @@ -1,60 +1,28 @@ -# MGEAR is under the terms of the MIT License +"""Component Chain 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# Maya import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya.shifter import component -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.applyop as aop -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec +from mgear.maya import node, applyop, vector +from mgear.maya import attribute, transform, primitive ########################################################## # COMPONENT ########################################################## -## The main component class. -class Component(MainComponent): + + +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - ## Add all the objects needed to create the component. - # @param self def addObjects(self): + """Add all the objects needed to create the component.""" - self.normal = self.guide.blades["blade"].z*-1 + self.normal = self.guide.blades["blade"].z * -1 self.binormal = self.guide.blades["blade"].x self.isFk = self.settings["mode"] != 1 @@ -63,7 +31,6 @@ def addObjects(self): self.WIP = self.options["mode"] - # FK controllers ------------------------------------ if self.isFk: self.fk_npo = [] @@ -71,26 +38,50 @@ def addObjects(self): self.fk_ref = [] self.fk_off = [] t = self.guide.tra["root"] - self.ik_cns = pri.addTransform(self.root, self.getName("ik_cns"), t) + self.ik_cns = primitive.addTransform( + self.root, self.getName("ik_cns"), t) parent = self.ik_cns tOld = False fk_ctl = None self.previusTag = self.parentCtlTag - for i, t in enumerate(tra.getChainTransform(self.guide.apos, self.normal, self.negate)): - dist = vec.getDistance(self.guide.apos[i], self.guide.apos[i+1]) + for i, t in enumerate(transform.getChainTransform(self.guide.apos, + self.normal, + self.negate)): + dist = vector.getDistance(self.guide.apos[i], + self.guide.apos[i + 1]) if self.settings["neutralpose"] or not tOld: tnpo = t else: - tnpo = tra.setMatrixPosition(tOld, tra.getPositionFromMatrix(t)) + tnpo = transform.setMatrixPosition( + tOld, + transform.getPositionFromMatrix(t)) if i: - tref = tra.setMatrixPosition(tOld, tra.getPositionFromMatrix(t)) - fk_ref = pri.addTransform(fk_ctl, self.getName("fk%s_ref"%i), tref) + tref = transform.setMatrixPosition( + tOld, + transform.getPositionFromMatrix(t)) + fk_ref = primitive.addTransform( + fk_ctl, + self.getName("fk%s_ref" % i), + tref) self.fk_ref.append(fk_ref) else: tref = t - fk_off = pri.addTransform(parent, self.getName("fk%s_off"%i), tref) - fk_npo = pri.addTransform(fk_off, self.getName("fk%s_npo"%i), tnpo) - fk_ctl = self.addCtl(fk_npo, "fk%s_ctl"%i, t, self.color_fk, "cube", w=dist, h=self.size*.1, d=self.size*.1, po=dt.Vector(dist*.5*self.n_factor,0,0), tp=self.previusTag) + fk_off = primitive.addTransform( + parent, self.getName("fk%s_off" % i), tref) + fk_npo = primitive.addTransform( + fk_off, self.getName("fk%s_npo" % i), tnpo) + fk_ctl = self.addCtl( + fk_npo, + "fk%s_ctl" % i, + t, + self.color_fk, + "cube", + w=dist, + h=self.size * .1, + d=self.size * .1, + po=datatypes.Vector(dist * .5 * self.n_factor, 0, 0), + tp=self.previusTag) + self.fk_off.append(fk_off) self.fk_npo.append(fk_npo) self.fk_ctl.append(fk_ctl) @@ -100,76 +91,120 @@ def addObjects(self): # IK controllers ------------------------------------ if self.isIk: - normal = vec.getTransposedVector(self.normal, [self.guide.apos[0], self.guide.apos[1]], [self.guide.apos[-2], self.guide.apos[-1]]) - t = tra.getTransformLookingAt(self.guide.apos[-2], self.guide.apos[-1], normal, "xy", self.negate) - t = tra.setMatrixPosition(t, self.guide.apos[-1]) - - self.ik_cns = pri.addTransform(self.root, self.getName("ik_cns"), t) - self.ikcns_ctl = self.addCtl(self.ik_cns, "ikcns_ctl", t, self.color_ik, "null", w=self.size, tp=self.parentCtlTag) - self.ik_ctl = self.addCtl(self.ikcns_ctl, "ik_ctl", t, self.color_ik, "cube", w=self.size*.3, h=self.size*.3, d=self.size*.3, tp=self.ikcns_ctl) - att.setKeyableAttributes(self.ik_ctl, self.t_params) + normal = vector.getTransposedVector( + self.normal, + [self.guide.apos[0], self.guide.apos[1]], + [self.guide.apos[-2], self.guide.apos[-1]]) + t = transform.getTransformLookingAt(self.guide.apos[-2], + self.guide.apos[-1], + normal, + "xy", + self.negate) + t = transform.setMatrixPosition(t, self.guide.apos[-1]) + + self.ik_cns = primitive.addTransform(self.root, + self.getName("ik_cns"), + t) + self.ikcns_ctl = self.addCtl(self.ik_cns, + "ikcns_ctl", + t, + self.color_ik, + "null", + w=self.size, + tp=self.parentCtlTag) + self.ik_ctl = self.addCtl(self.ikcns_ctl, + "ik_ctl", + t, + self.color_ik, + "cube", + w=self.size * .3, + h=self.size * .3, + d=self.size * .3, + tp=self.ikcns_ctl) + attribute.setKeyableAttributes(self.ik_ctl, self.t_params) v = self.guide.apos[-1] - self.guide.apos[0] v = v ^ self.normal v.normalize() v *= self.size v += self.guide.apos[1] - self.upv_cns = pri.addTransformFromPos(self.root, self.getName("upv_cns"), v) - - self.upv_ctl = self.addCtl(self.upv_cns, "upv_ctl", tra.getTransform(self.upv_cns), self.color_ik, "diamond", w=self.size*.1, tp=self.parentCtlTag) - att.setKeyableAttributes(self.upv_ctl, self.t_params) + self.upv_cns = primitive.addTransformFromPos( + self.root, self.getName("upv_cns"), v) + + self.upv_ctl = self.addCtl(self.upv_cns, + "upv_ctl", + transform.getTransform(self.upv_cns), + self.color_ik, + "diamond", + w=self.size * .1, + tp=self.parentCtlTag) + attribute.setKeyableAttributes(self.upv_ctl, self.t_params) # Chain - self.chain = pri.add2DChain(self.root, self.getName("chain"), self.guide.apos, self.normal, self.negate) + self.chain = primitive.add2DChain(self.root, + self.getName("chain"), + self.guide.apos, + self.normal, + self.negate) self.chain[0].attr("visibility").set(self.WIP) # Chain of deformers ------------------------------- self.loc = [] parent = self.root - for i, t in enumerate(tra.getChainTransform(self.guide.apos, self.normal, self.negate)): - loc = pri.addTransform(parent, self.getName("%s_loc"%i), t) + for i, t in enumerate(transform.getChainTransform(self.guide.apos, + self.normal, + self.negate)): + loc = primitive.addTransform(parent, self.getName("%s_loc" % i), t) self.loc.append(loc) self.jnt_pos.append([loc, i, None, False]) # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- if self.isFkIk: - self.blend_att = self.addAnimParam("blend", "Fk/Ik Blend", "double", self.settings["blend"], 0, 1) + self.blend_att = self.addAnimParam( + "blend", "Fk/Ik Blend", "double", self.settings["blend"], 0, 1) if self.isIk: - self.roll_att = self.addAnimParam("roll", "Roll", "double", 0, -180, 180) + self.roll_att = self.addAnimParam( + "roll", "Roll", "double", 0, -180, 180) # Ref if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): + """Create operators and set the relations for the component rig + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ # Visibilities ------------------------------------- if self.isFkIk: # fk - fkvis_node = nod.createReverseNode(self.blend_att) + fkvis_node = node.createReverseNode(self.blend_att) for fk_ctl in self.fk_ctl: for shp in fk_ctl.getShapes(): - pm.connectAttr(fkvis_node+".outputX", shp.attr("visibility")) + pm.connectAttr(fkvis_node + ".outputX", + shp.attr("visibility")) # ik for shp in self.upv_ctl.getShapes(): @@ -182,83 +217,94 @@ def addOperators(self): # FK Chain ----------------------------------------- if self.isFk: for off, ref in zip(self.fk_off[1:], self.fk_ref): - aop.gear_mulmatrix_op(ref.worldMatrix, off.parentInverseMatrix, off, "rt") + applyop.gear_mulmatrix_op( + ref.worldMatrix, off.parentInverseMatrix, off, "rt") # IK Chain ----------------------------------------- if self.isIk: - self.ikh = pri.addIkHandle(self.root, self.getName("ikh"), self.chain) + self.ikh = primitive.addIkHandle( + self.root, self.getName("ikh"), self.chain) self.ikh.attr("visibility").set(False) - #Constraint and up vector + # Constraint and up vector pm.pointConstraint(self.ik_ctl, self.ikh, maintainOffset=False) pm.poleVectorConstraint(self.upv_ctl, self.ikh) # TwistTest - if [round(elem, 4) for elem in tra.getTranslation(self.chain[1])] != [round(elem, 4) for elem in self.guide.apos[1]]: - add_nodeTwist = nod.createAddNode(180.0, self.roll_att) - pm.connectAttr(add_nodeTwist+".output", self.ikh.attr("twist")) + o_list = [round(elem, 4) for elem + in transform.getTranslation(self.chain[1])] \ + != [round(elem, 4) for elem in self.guide.apos[1]] + + if o_list: + add_nodeTwist = node.createAddNode(180.0, self.roll_att) + pm.connectAttr(add_nodeTwist + ".output", + self.ikh.attr("twist")) else: pm.connectAttr(self.roll_att, self.ikh.attr("twist")) # Chain of deformers ------------------------------- for i, loc in enumerate(self.loc): - if self.settings["mode"] == 0: # fk only + if self.settings["mode"] == 0: # fk only pm.parentConstraint(self.fk_ctl[i], loc, maintainOffset=False) - pm.connectAttr(self.fk_ctl[i]+".scale", loc+".scale") + pm.connectAttr(self.fk_ctl[i] + ".scale", loc + ".scale") - elif self.settings["mode"] == 1: # ik only - pm.parentConstraint( self.chain[i], loc, maintainOffset=False) + elif self.settings["mode"] == 1: # ik only + pm.parentConstraint(self.chain[i], loc, maintainOffset=False) - elif self.settings["mode"] == 2: # fk/ik + elif self.settings["mode"] == 2: # fk/ik - rev_node = nod.createReverseNode(self.blend_att) + rev_node = node.createReverseNode(self.blend_att) # orientation - cns = pm.parentConstraint(self.fk_ctl[i], self.chain[i], loc, maintainOffset=False) + cns = pm.parentConstraint( + self.fk_ctl[i], self.chain[i], loc, maintainOffset=False) cns.interpType.set(0) - weight_att = pm.parentConstraint(cns, query=True, weightAliasList=True) - pm.connectAttr(rev_node+".outputX", weight_att[0]) + weight_att = pm.parentConstraint( + cns, query=True, weightAliasList=True) + pm.connectAttr(rev_node + ".outputX", weight_att[0]) pm.connectAttr(self.blend_att, weight_att[1]) - #scaling + # scaling blend_node = pm.createNode("blendColors") - pm.connectAttr(self.chain[i].attr("scale"), blend_node+".color1") - pm.connectAttr(self.fk_ctl[i].attr("scale"), blend_node+".color2") - pm.connectAttr(self.blend_att, blend_node+".blender") - pm.connectAttr(blend_node+".output", loc+".scale") + pm.connectAttr(self.chain[i].attr("scale"), + blend_node + ".color1") + pm.connectAttr(self.fk_ctl[i].attr("scale"), + blend_node + ".color2") + pm.connectAttr(self.blend_att, blend_node + ".blender") + pm.connectAttr(blend_node + ".output", loc + ".scale") # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation between object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.loc[0] self.controlRelatives["root"] = self.fk_ctl[0] self.jointRelatives["root"] = 0 - for i in range(0, len(self.loc)-1): - self.relatives["%s_loc"%i] = self.loc[i+1] - self.controlRelatives["%s_loc"%i] = self.fk_ctl[i+1] - self.jointRelatives["%s_loc"%i] = i+1 - self.relatives["%s_loc"%(len(self.loc)-1)] = self.loc[-1] - self.controlRelatives["%s_loc"%(len(self.loc)-1)] = self.fk_ctl[-1] - self.jointRelatives["%s_loc"%(len(self.loc)-1)] = len(self.loc)-1 - + for i in range(0, len(self.loc) - 1): + self.relatives["%s_loc" % i] = self.loc[i + 1] + self.controlRelatives["%s_loc" % i] = self.fk_ctl[i + 1] + self.jointRelatives["%s_loc" % i] = i + 1 + self.relatives["%s_loc" % (len(self.loc) - 1)] = self.loc[-1] + self.controlRelatives["%s_loc" % (len(self.loc) - 1)] = self.fk_ctl[-1] + self.jointRelatives["%s_loc" % (len(self.loc) - 1)] = len(self.loc) - 1 # @param self def addConnection(self): + """Add more connection definition to the set""" + self.connections["standard"] = self.connect_standard self.connections["orientation"] = self.connect_orientation self.connections["parent"] = self.connect_parent def connect_orientation(self): + """orientation connection definition for the component""" self.connect_orientCns() - ## standard connection definition. def connect_standard(self): + """standard connection definition for the component""" self.connect_standardWithSimpleIkRef() - # @param self def connect_parent(self): self.connect_standardWithSimpleIkRef() diff --git a/scripts/mgear/maya/shifter/component/chain_01/guide.py b/scripts/mgear/maya/shifter/component/chain_01/guide.py index d54899e..faa07d1 100644 --- a/scripts/mgear/maya/shifter/component/chain_01/guide.py +++ b/scripts/mgear/maya/shifter/component/chain_01/guide.py @@ -1,51 +1,22 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## +"""Guide Chain 01 module""" from functools import partial -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt +from mgear.maya.shifter.component import guide +from mgear.maya import pyqt +from mgear.vendor.Qt import QtWidgets, QtCore + from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,0,1] +VERSION = [1, 0, 1] TYPE = "chain_01" NAME = "chain" DESCRIPTION = "Simple IK/FK chain, With IK space switch" @@ -53,7 +24,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -64,19 +38,15 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" + self.save_transform = ["root", "#_loc"] self.save_blade = ["blade"] self.addMinMax("#_loc", 1, -1) - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() self.locs = self.addLocMulti("#_loc", self.root) @@ -86,26 +56,27 @@ def addObjects(self): centers.extend(self.locs) self.dispcrv = self.addDispCurve("crv", centers) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" - self.pType = self.addParam("mode", "long", 0, 0) - self.pBlend = self.addParam("blend", "double", 1, 0, 1) - # self.pBladeOffset = self.addParam("bladeOffset", "float", 0, 0) - self.pNeutralPose = self.addParam("neutralpose", "bool", False) - self.pIkRefArray = self.addParam("ikrefarray", "string", "") - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pType = self.addParam("mode", "long", 0, 0) + self.pBlend = self.addParam("blend", "double", 1, 0, 1) + self.pNeutralPose = self.addParam("neutralpose", "bool", False) + self.pIkRefArray = self.addParam("ikrefarray", "string", "") + self.pUseIndex = self.addParam("useIndex", "bool", False) + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) - #TODO: if have IK or IK/FK lock the axis position to force 2D Planar IK solver - # Create a a method to lock and unlock while changing options in the PYSIDE component Settings + # TODO: if have IK or IK/FK lock the axis position to + # force 2D Planar IK solver + # Create a a method to lock and unlock while changing + # options in the PYSIDE component Settings ########################################################## # Setting Page ########################################################## + class settingsTab(QtWidgets.QDialog, sui.Ui_Form): def __init__(self, parent=None): @@ -113,17 +84,16 @@ def __init__(self, parent=None): self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -131,7 +101,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -141,29 +111,35 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate Controls + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - self.settingsTab.ikfk_slider.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.ikfk_spinBox.setValue(int(self.root.attr("blend").get()*100)) - self.settingsTab.mode_comboBox.setCurrentIndex(self.root.attr("mode").get()) + # populate component settings + self.settingsTab.ikfk_slider.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.ikfk_spinBox.setValue( + int(self.root.attr("blend").get() * 100)) + self.settingsTab.mode_comboBox.setCurrentIndex( + self.root.attr("mode").get()) + if self.root.attr("neutralpose").get(): - self.settingsTab.neutralPose_checkBox.setCheckState(QtCore.Qt.Checked) + self.settingsTab.neutralPose_checkBox.setCheckState( + QtCore.Qt.Checked) else: - self.settingsTab.neutralPose_checkBox.setCheckState(QtCore.Qt.Unchecked) + self.settingsTab.neutralPose_checkBox.setCheckState( + QtCore.Qt.Unchecked) ikRefArrayItems = self.root.attr("ikrefarray").get().split(",") for item in ikRefArrayItems: self.settingsTab.ikRefArray_listWidget.addItem(item) - def create_componentLayout(self): self.settings_layout = QtWidgets.QVBoxLayout() @@ -174,13 +150,29 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.ikfk_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) - self.settingsTab.ikfk_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) - self.settingsTab.mode_comboBox.currentIndexChanged.connect(partial(self.updateComboBox, self.settingsTab.mode_comboBox, "mode")) - self.settingsTab.neutralPose_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.neutralPose_checkBox, "neutralpose")) - - self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) + self.settingsTab.ikfk_slider.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_slider, "blend")) + self.settingsTab.ikfk_spinBox.valueChanged.connect( + partial(self.updateSlider, self.settingsTab.ikfk_spinBox, "blend")) + + self.settingsTab.mode_comboBox.currentIndexChanged.connect( + partial(self.updateComboBox, + self.settingsTab.mode_comboBox, + "mode")) + + self.settingsTab.neutralPose_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.neutralPose_checkBox, + "neutralpose")) + + self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) self.settingsTab.ikRefArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -191,6 +183,5 @@ def eventFilter(self, sender, event): else: return QtWidgets.QDialog.eventFilter(self, sender, event) - def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/chain_spring_01/__init__.py b/scripts/mgear/maya/shifter/component/chain_spring_01/__init__.py index 802db64..993c595 100644 --- a/scripts/mgear/maya/shifter/component/chain_spring_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/chain_spring_01/__init__.py @@ -1,65 +1,30 @@ -# MGEAR is under the terms of the MIT License +"""Component Chain Spring 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - - -########################################################## -# GLOBAL -########################################################## -# Maya import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes +from mgear.maya.shifter import component -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya import applyop, vector, node +from mgear.maya import attribute, transform, primitive -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.vector as vec -import mgear.maya.applyop as aop - -########################################################## +############################################# # COMPONENT -########################################################## -## The main component class. -class Component(MainComponent): +############################################# + + +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - ## Add all the objects needed to create the component. - # @param self def addObjects(self): # blades computation self.normal = self.guide.blades["blade"].z self.binormal = self.guide.blades["blade"].x - self.fk_npo = [] self.fk_ctl = [] self.spring_cns = [] @@ -69,21 +34,43 @@ def addObjects(self): self.spring_npo = [] self.spring_target = [] parent = self.root - self.previousTag = self.parentCtlTag - for i, t in enumerate(tra.getChainTransform(self.guide.apos, self.normal, self.negate)): - dist = vec.getDistance(self.guide.apos[i], self.guide.apos[i+1]) - - fk_npo = pri.addTransform(parent, self.getName("fk%s_npo"%i), t) - spring_aim = pri.addTransform(fk_npo, self.getName("spring%s_aim"%i), t) - spring_cns = pri.addTransform(fk_npo, self.getName("spring%s_cns"%i), t) - fk_ctl = self.addCtl(spring_cns, "fk%s_ctl"%i, t, self.color_fk, "cube", w=dist, h=self.size*.1, d=self.size*.1, po=dt.Vector(dist*.5*self.n_factor,0,0), tp=self.previousTag) - self.previousTag = fk_ctl + self.previousTag = self.parentCtlTag + for i, t in enumerate(transform.getChainTransform(self.guide.apos, + self.normal, + self.negate)): + dist = vector.getDistance(self.guide.apos[i], + self.guide.apos[i + 1]) + + fk_npo = primitive.addTransform(parent, + self.getName("fk%s_npo" % i), t) + + spring_aim = primitive.addTransform( + fk_npo, + self.getName("spring%s_aim" % i), t) + + spring_cns = primitive.addTransform( + fk_npo, + self.getName("spring%s_cns" % i), t) + + fk_ctl = self.addCtl( + spring_cns, + "fk%s_ctl" % i, + t, + self.color_fk, + "cube", w=dist, + h=self.size * .1, + d=self.size * .1, + po=datatypes.Vector(dist * .5 * self.n_factor, 0, 0), + tp=self.previousTag, + lp=False) + self.previousTag = fk_ctl - t = tra.getTransformFromPos(self.guide.apos[i+1]) - spring_npo = pri.addTransform(parent, self.getName("spring%s_npo"%i), t) - spring_target = pri.addTransform(spring_npo, self.getName("spring%s"%i), t) - + t = transform.getTransformFromPos(self.guide.apos[i + 1]) + spring_npo = primitive.addTransform( + parent, self.getName("spring%s_npo" % i), t) + spring_target = primitive.addTransform( + spring_npo, self.getName("spring%s" % i), t) parent = fk_ctl @@ -94,95 +81,116 @@ def addObjects(self): self.fk_npo.append(fk_npo) self.fk_ctl.append(fk_ctl) - att.setKeyableAttributes(self.fk_ctl, self.tr_params) + attribute.setKeyableAttributes(self.fk_ctl, self.tr_params) self.spring_target.append(spring_target) - # Chain of deformers ------------------------------- self.loc = [] parent = self.root - for i, t in enumerate(tra.getChainTransform(self.guide.apos, self.normal, self.negate)): - loc = pri.addTransform(parent, self.getName("%s_loc"%i), t) + for i, t in enumerate(transform.getChainTransform(self.guide.apos, + self.normal, + self.negate)): + loc = primitive.addTransform(parent, self.getName("%s_loc" % i), t) self.loc.append(loc) self.jnt_pos.append([loc, i]) parent = loc # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- self.aDamping = [] self.aStiffness = [] - self.aSpring_intensity = self.addAnimParam("spring_intensity", "Spring chain intensity", "double", 0, 0, 1) + self.aSpring_intensity = self.addAnimParam("spring_intensity", + "Spring chain intensity", + "double", + 0, + 0, + 1) for i, tar in enumerate(self.spring_target): - aDamping = self.addAnimParam( "damping_%s"%i, "damping_%s"%i, "double", 0.5, 0, 1) + aDamping = self.addAnimParam("damping_%s" % i, + "damping_%s" % i, + "double", + 0.5, + 0, + 1) self.aDamping.append(aDamping) for i, tar in enumerate(self.spring_target): - aStiffness = self.addAnimParam( "stiffness_%s"%i, "stiffness_%s"%i, "double", 0.5, 0, 1) - self.aStiffness.append(aStiffness) + aStiffness = self.addAnimParam( + "stiffness_%s" % i, "stiffness_%s" % i, "double", 0.5, 0, 1) + self.aStiffness.append(aStiffness) # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ # Chain of deformers ------------------------------- for i, loc in enumerate(self.loc): pm.parentConstraint(self.fk_ctl[i], loc, maintainOffset=False) # spring operators - #settings aim contraints + # settings aim contraints for i, tranCns in enumerate(self.spring_aim): if self.negate: aimAxis = "-xy" else: aimAxis = "xy" - aop.aimCns(tranCns, self.spring_target[i], aimAxis, 2, [0,1,0], self.fk_npo[i], False) - aop.oriCns(tranCns, self.spring_cns[i]) + applyop.aimCns(tranCns, + self.spring_target[i], + aimAxis, + 2, + [0, 1, 0], + self.fk_npo[i], + False) + ori_cns = applyop.oriCns(tranCns, self.spring_cns[i]) + + springOP = applyop.gear_spring_op(self.spring_target[i]) - springOP = aop.gear_spring_op(self.spring_target[i]) + blend_node = pm.createNode("pairBlend") - pm.connectAttr(self.aSpring_intensity, springOP+".intensity") - pm.connectAttr(self.aDamping[i], springOP+".damping") - pm.connectAttr(self.aStiffness[i], springOP+".stiffness") + pm.connectAttr(ori_cns.constraintRotate, blend_node.inRotate2) + pm.connectAttr(self.aSpring_intensity, blend_node.weight) + pm.disconnectAttr(ori_cns.constraintRotate, + self.spring_cns[i].rotate) + pm.connectAttr(blend_node.outRotateX, self.spring_cns[i].rotateX) + pm.connectAttr(blend_node.outRotateY, self.spring_cns[i].rotateY) + pm.connectAttr(blend_node.outRotateZ, self.spring_cns[i].rotateZ) + + pm.connectAttr(self.aSpring_intensity, springOP + ".intensity") + pm.connectAttr(self.aDamping[i], springOP + ".damping") + pm.connectAttr(self.aStiffness[i], springOP + ".stiffness") # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation between object from guide to rig.\n - # @param self def setRelation(self): - - # self.relatives["root"] = self.loc[0] - # self.jointRelatives["root"] = 0 - # for i in range(0, len(self.loc)-1): - # self.relatives["%s_loc"%i] = self.loc[i+1] - # self.jointRelatives["%s_loc"%i] = i+1 - # self.relatives["%s_loc"%(len(self.loc)-1)] = self.loc[-1] - # self.jointRelatives["%s_loc"%(len(self.loc)-1)] = len(self.loc)-1 + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.loc[0] self.controlRelatives["root"] = self.fk_ctl[0] self.jointRelatives["root"] = 0 - for i in range(0, len(self.loc)-1): - self.relatives["%s_loc"%i] = self.loc[i+1] - self.controlRelatives["%s_loc"%i] = self.fk_ctl[i+1] - self.jointRelatives["%s_loc"%i] = i+1 - self.relatives["%s_loc"%(len(self.loc)-1)] = self.loc[-1] - self.controlRelatives["%s_loc"%(len(self.loc)-1)] = self.fk_ctl[-1] - self.jointRelatives["%s_loc"%(len(self.loc)-1)] = len(self.loc)-1 + for i in range(0, len(self.loc) - 1): + self.relatives["%s_loc" % i] = self.loc[i + 1] + self.controlRelatives["%s_loc" % i] = self.fk_ctl[i + 1] + self.jointRelatives["%s_loc" % i] = i + 1 + self.relatives["%s_loc" % (len(self.loc) - 1)] = self.loc[-1] + self.controlRelatives["%s_loc" % (len(self.loc) - 1)] = self.fk_ctl[-1] + self.jointRelatives["%s_loc" % (len(self.loc) - 1)] = len(self.loc) - 1 diff --git a/scripts/mgear/maya/shifter/component/chain_spring_01/guide.py b/scripts/mgear/maya/shifter/component/chain_spring_01/guide.py index c02b8a5..9ff4051 100644 --- a/scripts/mgear/maya/shifter/component/chain_spring_01/guide.py +++ b/scripts/mgear/maya/shifter/component/chain_spring_01/guide.py @@ -1,48 +1,17 @@ -# MGEAR is under the terms of the MIT License +"""Guide Chain spring 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos +from mgear.maya.shifter.component import guide +from mgear.maya import pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide - -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() - # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,0,1] +VERSION = [1, 0, 1] TYPE = "chain_spring_01" NAME = "chainSpring" DESCRIPTION = "FK chain with spring" @@ -50,7 +19,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -61,19 +33,14 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "#_loc"] self.save_blade = ["blade"] self.addMinMax("#_loc", 1, -1) - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() self.locs = self.addLocMulti("#_loc", self.root) @@ -83,12 +50,11 @@ def addObjects(self): centers.extend(self.locs) self.dispcrv = self.addDispCurve("crv", centers) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + """Add the configurations settings""" + self.pUseIndex = self.addParam("useIndex", "bool", False) + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) return @@ -97,14 +63,15 @@ def addParameters(self): ########################################################## -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.setup_componentSettingWindow() self.create_componentControls() @@ -113,7 +80,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -123,10 +90,11 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate Controls + + Populate the controls values from the custom attributes of the + component. """ return @@ -143,4 +111,4 @@ def create_componentConnections(self): return def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/control_01/__init__.py b/scripts/mgear/maya/shifter/component/control_01/__init__.py index 830d38b..b242fb6 100644 --- a/scripts/mgear/maya/shifter/component/control_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/control_01/__init__.py @@ -1,83 +1,71 @@ -# MGEAR is under the terms of the MIT License +"""Component Control 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos +from mgear.maya.shifter import component -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: +from mgear.maya import attribute, transform, primitive -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 ############################################# -# GLOBAL +# COMPONENT ############################################# -# mgear -from mgear.maya.shifter.component import MainComponent -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.vector as vec +class Component(component.Main): + """Shifter component Class""" -############################################# -# COMPONENT -############################################# -class Component(MainComponent): - + # ===================================================== + # OBJECTS + # ===================================================== def addObjects(self): - # self.length0 = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) + """Add all the objects needed to create the component.""" if self.settings["neutralRotation"]: - t = tra.getTransformFromPos(self.guide.pos["root"]) + t = transform.getTransformFromPos(self.guide.pos["root"]) else: t = self.guide.tra["root"] - t = tra.setMatrixScale(t) - self.ik_cns = pri.addTransform(self.root, self.getName("ik_cns"), t) - - self.ctl = self.addCtl( self.ik_cns, - "ctl", - t, - self.color_ik, - self.settings["icon"], - w=self.settings["ctlSize"]*self.size, - h=self.settings["ctlSize"]*self.size, - d=self.settings["ctlSize"]*self.size, - tp=self.parentCtlTag) - - params = [ s for s in ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx", "sy", "sz"] if self.settings["k_"+s] ] - att.setKeyableAttributes(self.ctl, params) + if self.settings["mirrorBehaviour"] and self.negate: + scl = [1, 1, -1] + else: + scl = [1, 1, 1] + t = transform.setMatrixScale(t, scl) + + self.ik_cns = primitive.addTransform( + self.root, self.getName("ik_cns"), t) + + self.ctl = self.addCtl(self.ik_cns, + "ctl", + t, + self.color_ik, + self.settings["icon"], + w=self.settings["ctlSize"] * self.size, + h=self.settings["ctlSize"] * self.size, + d=self.settings["ctlSize"] * self.size, + tp=self.parentCtlTag) + + # we need to set the rotation order before lock any rotation axis + if self.settings["k_ro"]: + rotOderList = ["XYZ", "YZX", "ZXY", "XZY", "YXZ", "ZYX"] + attribute.setRotOrder( + self.ctl, rotOderList[self.settings["default_rotorder"]]) + + params = [s for s in + ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx", "sy", "sz"] + if self.settings["k_" + s]] + attribute.setKeyableAttributes(self.ctl, params) if self.settings["joint"]: self.jnt_pos.append([self.ctl, 0, None, self.settings["uniScale"]]) - if self.settings["k_ro"]: - rotOderList = ["XYZ", "YZX", "ZXY", "XZY", "YXZ", "ZYX"] - att.setRotOrder(self.ctl, rotOderList[self.settings["default_rotorder"]]) - def addAttributes(self): # Ref if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) - + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) def addOperators(self): return @@ -85,25 +73,22 @@ def addOperators(self): # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.ctl self.controlRelatives["root"] = self.ctl if self.settings["joint"]: self.jointRelatives["root"] = 0 - - # @param self def addConnection(self): + """Add more connection definition to the set""" self.connections["standard"] = self.connect_standard self.connections["orientation"] = self.connect_orientation - - ## standard connection definition. - # @param self def connect_standard(self): + """standard connection definition for the component""" self.connect_standardWithSimpleIkRef() def connect_orientation(self): + """Orient connection definition for the component""" self.connect_orientCns() diff --git a/scripts/mgear/maya/shifter/component/control_01/guide.py b/scripts/mgear/maya/shifter/component/control_01/guide.py index 4a94155..3cb0021 100644 --- a/scripts/mgear/maya/shifter/component/control_01/guide.py +++ b/scripts/mgear/maya/shifter/component/control_01/guide.py @@ -1,60 +1,38 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# -from functools import partial +"""Guide Control 01 module""" +from functools import partial import pymel.core as pm -# mgear -import mgear.maya.transform as tra -from mgear.maya.shifter.component.guide import ComponentGuide -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore + from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,1,0] +VERSION = [1, 2, 0] TYPE = "control_01" NAME = "control" -DESCRIPTION = "Simple controler with space switch and Rot order selection. \nThis component can use the root rotation to place the control orientation" +DESCRIPTION = "Simple controler with space switch and Rot order selection. \n"\ + "This component can use the root rotation to place the "\ + "control orientation \n" \ + "NOTE: MAYA 2018 and 2018.1 have a bug that break the behaviour"\ + " with negative scale. This affect 'Mirror behaviour option' " + ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -72,39 +50,39 @@ def postInit(self): self.save_transform = ["root", "sizeRef"] # ===================================================== - ## Add more object to the object definition list. + # Add more object to the object definition list. # @param self def addObjects(self): self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [0,0,1]) + vTemp = transform.getOffsetPosition(self.root, [0, 0, 1]) self.sizeRef = self.addLoc("sizeRef", self.root, vTemp) # self.sizeRef.visibility.set(False) pm.delete(self.sizeRef.getShapes()) - - # ===================================================== - ## Add more parameter to the parameter definition list. + # Add more parameter to the parameter definition list. # @param self def addParameters(self): - self.pIcon = self.addParam("icon", "string", "cube") - self.pIkRefArray = self.addParam("ikrefarray", "string", "") + self.pIkRefArray = self.addParam("ikrefarray", "string", "") self.pJoint = self.addParam("joint", "bool", False) self.pJoint = self.addParam("uniScale", "bool", True) for s in ["tx", "ty", "tz", "ro", "rx", "ry", "rz", "sx", "sy", "sz"]: - self.addParam("k_"+s, "bool", True) + self.addParam("k_" + s, "bool", True) - self.pDefault_RotOrder = self.addParam("default_rotorder", "long", 0, 0, 5) + self.pDefault_RotOrder = self.addParam( + "default_rotorder", "long", 0, 0, 5) self.pNeutralRotation = self.addParam("neutralRotation", "bool", True) - self.pCtlSize = self.addParam("ctlSize", "double", 1 , None, None) + self.pMirrorBehaviour = self.addParam("mirrorBehaviour", "bool", False) + self.pCtlSize = self.addParam("ctlSize", "double", 1, None, None) self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) return @@ -112,26 +90,40 @@ def addParameters(self): # Setting Page ########################################################## + class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) - self.iconsList = ['arrow', 'circle', 'compas', 'cross', 'crossarrow', 'cube', 'cubewithpeak', 'cylinder', 'diamond', 'flower', 'null', 'pyramid', 'sphere', 'square'] - - - super(self.__class__, self).__init__(parent = parent) + pyqt.deleteInstances(self, MayaQDockWidget) + self.iconsList = ['arrow', + 'circle', + 'compas', + 'cross', + 'crossarrow', + 'cube', + 'cubewithpeak', + 'cylinder', + 'diamond', + 'flower', + 'null', + 'pyramid', + 'sphere', + 'square'] + + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -139,7 +131,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -149,21 +141,26 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate Controls + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings + # populate component settings self.populateCheck(self.settingsTab.joint_checkBox, "joint") self.populateCheck(self.settingsTab.uniScale_checkBox, "uniScale") - self.populateCheck(self.settingsTab.neutralRotation_checkBox, "neutralRotation") - self.settingsTab.ctlSize_doubleSpinBox.setValue(self.root.attr("ctlSize").get()) + self.populateCheck(self.settingsTab.neutralRotation_checkBox, + "neutralRotation") + self.populateCheck(self.settingsTab.mirrorBehaviour_checkBox, + "mirrorBehaviour") + self.settingsTab.ctlSize_doubleSpinBox.setValue( + self.root.attr("ctlSize").get()) sideIndex = self.iconsList.index(self.root.attr("icon").get()) self.settingsTab.controlShape_comboBox.setCurrentIndex(sideIndex) @@ -178,13 +175,13 @@ def populate_componentControls(self): self.populateCheck(self.settingsTab.sy_checkBox, "k_sy") self.populateCheck(self.settingsTab.sz_checkBox, "k_sz") - self.settingsTab.ro_comboBox.setCurrentIndex(self.root.attr("default_rotorder").get()) + self.settingsTab.ro_comboBox.setCurrentIndex( + self.root.attr("default_rotorder").get()) ikRefArrayItems = self.root.attr("ikrefarray").get().split(",") for item in ikRefArrayItems: self.settingsTab.ikRefArray_listWidget.addItem(item) - def create_componentLayout(self): self.settings_layout = QtWidgets.QVBoxLayout() @@ -195,27 +192,65 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.joint_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.joint_checkBox, "joint")) - self.settingsTab.uniScale_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.uniScale_checkBox, "uniScale")) - self.settingsTab.neutralRotation_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.neutralRotation_checkBox, "neutralRotation")) - self.settingsTab.ctlSize_doubleSpinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.ctlSize_doubleSpinBox, "ctlSize")) - self.settingsTab.controlShape_comboBox.currentIndexChanged.connect(partial(self.updateControlShape, self.settingsTab.controlShape_comboBox, self.iconsList, "icon")) - - self.settingsTab.tx_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.tx_checkBox, "k_tx")) - self.settingsTab.ty_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.ty_checkBox, "k_ty")) - self.settingsTab.tz_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.tz_checkBox, "k_tz")) - self.settingsTab.rx_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.rx_checkBox, "k_rx")) - self.settingsTab.ry_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.ry_checkBox, "k_ry")) - self.settingsTab.rz_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.rz_checkBox, "k_rz")) - self.settingsTab.ro_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.ro_checkBox, "k_ro")) - self.settingsTab.sx_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.sx_checkBox, "k_sx")) - self.settingsTab.sy_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.sy_checkBox, "k_sy")) - self.settingsTab.sz_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.sz_checkBox, "k_sz")) - - self.settingsTab.ro_comboBox.currentIndexChanged.connect(partial(self.updateComboBox, self.settingsTab.ro_comboBox, "default_rotorder")) - - self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) + self.settingsTab.joint_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.joint_checkBox, + "joint")) + self.settingsTab.uniScale_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.uniScale_checkBox, + "uniScale")) + self.settingsTab.neutralRotation_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.neutralRotation_checkBox, + "neutralRotation")) + self.settingsTab.mirrorBehaviour_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.mirrorBehaviour_checkBox, + "mirrorBehaviour")) + self.settingsTab.ctlSize_doubleSpinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.ctlSize_doubleSpinBox, + "ctlSize")) + self.settingsTab.controlShape_comboBox.currentIndexChanged.connect( + partial(self.updateControlShape, + self.settingsTab.controlShape_comboBox, + self.iconsList, "icon")) + + self.settingsTab.tx_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.tx_checkBox, "k_tx")) + self.settingsTab.ty_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.ty_checkBox, "k_ty")) + self.settingsTab.tz_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.tz_checkBox, "k_tz")) + self.settingsTab.rx_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.rx_checkBox, "k_rx")) + self.settingsTab.ry_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.ry_checkBox, "k_ry")) + self.settingsTab.rz_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.rz_checkBox, "k_rz")) + self.settingsTab.ro_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.ro_checkBox, "k_ro")) + self.settingsTab.sx_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.sx_checkBox, "k_sx")) + self.settingsTab.sy_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.sy_checkBox, "k_sy")) + self.settingsTab.sz_checkBox.stateChanged.connect( + partial(self.updateCheck, self.settingsTab.sz_checkBox, "k_sz")) + + self.settingsTab.ro_comboBox.currentIndexChanged.connect( + partial(self.updateComboBox, + self.settingsTab.ro_comboBox, + "default_rotorder")) + + self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) self.settingsTab.ikRefArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -226,6 +261,5 @@ def eventFilter(self, sender, event): else: return QtWidgets.QDialog.eventFilter(self, sender, event) - def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/control_01/settingsUI.py b/scripts/mgear/maya/shifter/component/control_01/settingsUI.py index af86769..e8cf56e 100644 --- a/scripts/mgear/maya/shifter/component/control_01/settingsUI.py +++ b/scripts/mgear/maya/shifter/component/control_01/settingsUI.py @@ -1,37 +1,10 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - import mgear.maya.pyqt as gqt QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() - class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") - Form.resize(280, 525) + Form.resize(733, 550) self.gridLayout = QtWidgets.QGridLayout(Form) self.gridLayout.setObjectName("gridLayout") self.groupBox = QtWidgets.QGroupBox(Form) @@ -50,6 +23,9 @@ def setupUi(self, Form): self.neutralRotation_checkBox = QtWidgets.QCheckBox(self.groupBox) self.neutralRotation_checkBox.setObjectName("neutralRotation_checkBox") self.verticalLayout_4.addWidget(self.neutralRotation_checkBox) + self.mirrorBehaviour_checkBox = QtWidgets.QCheckBox(self.groupBox) + self.mirrorBehaviour_checkBox.setObjectName("mirrorBehaviour_checkBox") + self.verticalLayout_4.addWidget(self.mirrorBehaviour_checkBox) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.ctlSize_label = QtWidgets.QLabel(self.groupBox) @@ -122,7 +98,7 @@ def setupUi(self, Form): self.tz_checkBox = QtWidgets.QCheckBox(self.keyable_groupBox) self.tz_checkBox.setObjectName("tz_checkBox") self.verticalLayout.addWidget(self.tz_checkBox) - spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) self.verticalLayout.addItem(spacerItem) self.horizontalLayout.addLayout(self.verticalLayout) self.verticalLayout_2 = QtWidgets.QVBoxLayout() @@ -154,7 +130,6 @@ def setupUi(self, Form): self.verticalLayout_2.addWidget(self.ro_comboBox) self.horizontalLayout.addLayout(self.verticalLayout_2) self.verticalLayout_3 = QtWidgets.QVBoxLayout() - self.verticalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize) self.verticalLayout_3.setObjectName("verticalLayout_3") self.scale_pushButton = QtWidgets.QPushButton(self.keyable_groupBox) self.scale_pushButton.setObjectName("scale_pushButton") @@ -168,7 +143,7 @@ def setupUi(self, Form): self.sz_checkBox = QtWidgets.QCheckBox(self.keyable_groupBox) self.sz_checkBox.setObjectName("sz_checkBox") self.verticalLayout_3.addWidget(self.sz_checkBox) - spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) self.verticalLayout_3.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_3) self.gridLayout_4.addLayout(self.horizontalLayout, 0, 0, 1, 1) @@ -206,9 +181,9 @@ def setupUi(self, Form): self.gridLayout.addWidget(self.ikRefArray_groupBox, 2, 0, 1, 1) self.retranslateUi(Form) - QtCore.QObject.connect(self.translate_pushButton, QtCore.SIGNAL("clicked()"), self.tz_checkBox.toggle) - QtCore.QObject.connect(self.translate_pushButton, QtCore.SIGNAL("clicked()"), self.ty_checkBox.toggle) QtCore.QObject.connect(self.translate_pushButton, QtCore.SIGNAL("clicked()"), self.tx_checkBox.toggle) + QtCore.QObject.connect(self.translate_pushButton, QtCore.SIGNAL("clicked()"), self.ty_checkBox.toggle) + QtCore.QObject.connect(self.translate_pushButton, QtCore.SIGNAL("clicked()"), self.tz_checkBox.toggle) QtCore.QObject.connect(self.rotate_pushButton, QtCore.SIGNAL("clicked()"), self.rx_checkBox.toggle) QtCore.QObject.connect(self.rotate_pushButton, QtCore.SIGNAL("clicked()"), self.ry_checkBox.toggle) QtCore.QObject.connect(self.rotate_pushButton, QtCore.SIGNAL("clicked()"), self.rz_checkBox.toggle) @@ -222,7 +197,10 @@ def retranslateUi(self, Form): Form.setWindowTitle(gqt.fakeTranslate("Form", "Form", None, -1)) self.joint_checkBox.setText(gqt.fakeTranslate("Form", "Joint", None, -1)) self.uniScale_checkBox.setText(gqt.fakeTranslate("Form", "Uniform Scale", None, -1)) + self.neutralRotation_checkBox.setToolTip(gqt.fakeTranslate("Form", "If is active, it will align the control with world space
", None, -1)) self.neutralRotation_checkBox.setText(gqt.fakeTranslate("Form", "World Space Orientation Align", None, -1)) + self.mirrorBehaviour_checkBox.setToolTip(gqt.fakeTranslate("Form", "If is active, the control will have symmetrical behaviour on Left and Right side.
WARNING: There is a bug in Maya 2018 and 2018.1 that will result in an incorrect behaviour, because this option will negate one of the axis. Other Maya version should be ok.
", None, -1)) + self.mirrorBehaviour_checkBox.setText(gqt.fakeTranslate("Form", "Mirror Behaviour L and R", None, -1)) self.ctlSize_label.setText(gqt.fakeTranslate("Form", "Ctl Size", None, -1)) self.controlShape_comboBox.setItemText(0, gqt.fakeTranslate("Form", "Arrow", None, -1)) self.controlShape_comboBox.setItemText(1, gqt.fakeTranslate("Form", "Circle", None, -1)) diff --git a/scripts/mgear/maya/shifter/component/control_01/settingsUI.ui b/scripts/mgear/maya/shifter/component/control_01/settingsUI.ui index 701e0db..78841ba 100644 --- a/scripts/mgear/maya/shifter/component/control_01/settingsUI.ui +++ b/scripts/mgear/maya/shifter/component/control_01/settingsUI.ui @@ -6,8 +6,8 @@Name for a custom controllers Group (Maya set) for the component controllers.
i.e: Setting the name "arm" will create a sub group (sub set in Mayas terminology) with the name "rig_arm_grp". This group will be under the "rig_controllers_grp"
Leave this option empty for the default behaviour.
", None, -1)) - diff --git a/scripts/mgear/maya/shifter/component/meta_01/__init__.py b/scripts/mgear/maya/shifter/component/meta_01/__init__.py index f9cb414..f62b5a4 100644 --- a/scripts/mgear/maya/shifter/component/meta_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/meta_01/__init__.py @@ -1,55 +1,24 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# Maya +"""Component Meta 01 module""" import pymel.core as pm -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya.shifter import component -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.node as nod +from mgear.maya import transform, primitive, node -########################################################## +############################################# # COMPONENT -########################################################## -## The main component class. -class Component(MainComponent): +############################################# + + +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - ## Add all the objects needed to create the component. - # @param self def addObjects(self): + """Add all the objects needed to create the component.""" self.normal = self.guide.blades["blade"].z self.binormal = self.guide.blades["blade"].x @@ -60,65 +29,83 @@ def addObjects(self): parent = self.root self.jointList = [] - for i, t in enumerate(tra.getChainTransform2(self.guide.apos, self.normal, self.negate)): - lvl = pri.addTransform(parent, self.getName("%s_lvl"%i), t) - npo = pri.addTransform(lvl, self.getName("%s_npo"%i), t) - loc = pri.addTransform(npo, self.getName("%s_loc"%i), t) + for i, t in enumerate(transform.getChainTransform2(self.guide.apos, + self.normal, + self.negate)): + + lvl = primitive.addTransform(parent, self.getName("%s_lvl" % i), t) + npo = primitive.addTransform(lvl, self.getName("%s_npo" % i), t) + loc = primitive.addTransform(npo, self.getName("%s_loc" % i), t) self.jnt_pos.append([loc, i]) self.locList.append(loc) self.npoList.append(npo) - if i == len(self.guide.apos) -1: - ctl_npo = pri.addTransform(self.root, self.getName("ctl_npo"), t) - self.meta_ctl = self.addCtl(ctl_npo, "ctl", t, self.color_fk, "cube", w=self.size*.5, h=self.size*.5, d=self.size*.5, tp=self.parentCtlTag) - + if i == len(self.guide.apos) - 1: + ctl_npo = primitive.addTransform(self.root, + self.getName("ctl_npo"), + t) + + self.meta_ctl = self.addCtl(ctl_npo, + "ctl", + t, + self.color_fk, + "cube", + w=self.size * .5, + h=self.size * .5, + d=self.size * .5, + tp=self.parentCtlTag) # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" return - # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): - inc = 1.0 / (len(self.guide.apos)-1) + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ + inc = 1.0 / (len(self.guide.apos) - 1) val = 0.0 - for i, l in enumerate(self.locList): - blendNode = nod.createPairBlend( self.npoList[i], self.meta_ctl, blender=val) + for i, loc in enumerate(self.locList): + blendNode = node.createPairBlend( + self.npoList[i], self.meta_ctl, blender=val) if self.settings["intRotation"]: - pm.connectAttr(blendNode.attr("outRotate"), l.attr("rotate")) + pm.connectAttr(blendNode.attr("outRotate"), loc.attr("rotate")) if self.settings["intTranslation"]: - pm.connectAttr(blendNode.attr("outTranslate"), l.attr("translate")) + pm.connectAttr(blendNode.attr("outTranslate"), + loc.attr("translate")) if self.settings["intScale"]: - scaleA = [self.meta_ctl.attr("sx"),self.meta_ctl.attr("sy"), self.meta_ctl.attr("sz")] - scaleB = [self.npoList[i].attr("sx"),self.npoList[i].attr("sy"), self.npoList[i].attr("sz")] - scaleBlend = nod.createBlendNode(scaleA, scaleB, val) - pm.connectAttr(scaleBlend.attr("output"), l.attr("scale")) - val += inc - + scaleA = [self.meta_ctl.attr("sx"), + self.meta_ctl.attr("sy"), + self.meta_ctl.attr("sz")] + scaleB = [self.npoList[i].attr("sx"), + self.npoList[i].attr("sy"), + self.npoList[i].attr("sz")] + scaleBlend = node.createBlendNode(scaleA, scaleB, val) + pm.connectAttr(scaleBlend.attr("output"), loc.attr("scale")) + val += inc # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.locList[0] self.jointRelatives["root"] = 0 self.controlRelatives["root"] = self.meta_ctl - for i in range(len(self.locList)-1): - self.relatives["%s_loc"%i] = self.locList[i+1] - self.controlRelatives["%s_loc"%i] = self.meta_ctl - self.jointRelatives["%s_loc"%i] = i+1 + for i in range(len(self.locList) - 1): + self.relatives["%s_loc" % i] = self.locList[i + 1] + self.controlRelatives["%s_loc" % i] = self.meta_ctl + self.jointRelatives["%s_loc" % i] = i + 1 diff --git a/scripts/mgear/maya/shifter/component/meta_01/guide.py b/scripts/mgear/maya/shifter/component/meta_01/guide.py index c9d0eee..3a4e046 100644 --- a/scripts/mgear/maya/shifter/component/meta_01/guide.py +++ b/scripts/mgear/maya/shifter/component/meta_01/guide.py @@ -1,50 +1,21 @@ -# MGEAR is under the terms of the MIT License +"""Guide Meta 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## from functools import partial -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide +from mgear.maya.shifter.component import guide +from mgear.maya import pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,0,0] +VERSION = [1, 0, 0] TYPE = "meta_01" NAME = "meta" DESCRIPTION = "metacarpal finger spread." @@ -52,7 +23,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -63,19 +37,14 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "#_loc"] self.save_blade = ["blade"] self.addMinMax("#_loc", 1, -1) - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() self.locs = self.addLocMulti("#_loc", self.root) @@ -85,38 +54,39 @@ def addObjects(self): centers.extend(self.locs) self.dispcrv = self.addDispCurve("crv", centers) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): - self.pScale = self.addParam("intScale", "bool", True) - self.pRotate = self.addParam("intRotation", "bool", True) - self.pTranslation = self.addParam("intTranslation", "bool", True) - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + """Add the configurations settings""" + self.pScale = self.addParam("intScale", "bool", True) + self.pRotate = self.addParam("intRotation", "bool", True) + self.pTranslation = self.addParam("intTranslation", "bool", True) + self.pUseIndex = self.addParam("useIndex", "bool", False) + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) ########################################################## # Setting Page ########################################################## + class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -124,7 +94,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -134,21 +104,24 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - - self.populateCheck(self.settingsTab.intScale_checkBox, "intScale") - self.populateCheck(self.settingsTab.intRotation_checkBox, "intRotation") - self.populateCheck(self.settingsTab.intTranslation_checkBox, "intTranslation") + # populate component settings + self.populateCheck(self.settingsTab.intScale_checkBox, + "intScale") + self.populateCheck(self.settingsTab.intRotation_checkBox, + "intRotation") + self.populateCheck(self.settingsTab.intTranslation_checkBox, + "intTranslation") def create_componentLayout(self): @@ -160,9 +133,19 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.intScale_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.intScale_checkBox, "intScale")) - self.settingsTab.intRotation_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.intRotation_checkBox, "intRotation")) - self.settingsTab.intTranslation_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.intTranslation_checkBox, "intTranslation")) + self.settingsTab.intScale_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.intScale_checkBox, + "intScale")) + + self.settingsTab.intRotation_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.intRotation_checkBox, + "intRotation")) + self.settingsTab.intTranslation_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.intTranslation_checkBox, + "intTranslation")) def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/mouth_01/__init__.py b/scripts/mgear/maya/shifter/component/mouth_01/__init__.py index 1fb8e4e..bc54507 100644 --- a/scripts/mgear/maya/shifter/component/mouth_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/mouth_01/__init__.py @@ -1,136 +1,179 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# Maya +"""Component Mouth 01 module""" + import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya.shifter import component -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att +from mgear.maya import attribute, transform, primitive -########################################################## +############################################# # COMPONENT -########################################################## -## The main component class. -class Component(MainComponent): +############################################# + + +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - - ## Add all the objects needed to create the component. - # @param self def addObjects(self): - - #jaw control - t = tra.getTransformFromPos(self.guide.pos["jaw"]) - self.ctl_npo = pri.addTransform(self.root, self.getName("ctl_npo"), t) - self.jaw_ctl = self.addCtl(self.ctl_npo, "jaw_ctl", t, self.color_fk, "circle", w=1*self.size, ro=dt.Vector([1.5708,0,0]), tp=self.parentCtlTag) - att.setKeyableAttributes(self.jaw_ctl, ["tx", "ty", "tz", "rz"]) - - #mouth center - t = tra.getTransformFromPos(self.guide.pos["rotcenter"]) - self.mouthCenter_npo = pri.addTransform(self.root, self.getName("mouthCenter_npo"), t) - self.mouthCenter = pri.addTransform(self.mouthCenter_npo, self.getName("mouthCenter"), t) - - #jaw "UPPER" - t = tra.getTransformFromPos(self.guide.pos["root"]) - self.jawUp_npo = pri.addTransform(self.mouthCenter, self.getName("jawUpper_npo"), t) - self.jawUp_pos = pri.addTransform(self.jawUp_npo, self.getName("jawUpper_pos"), t) - self.jawUp_rot = pri.addTransform(self.jawUp_pos, self.getName("jawUpper_rot"), t) - - #jaw "LOWER" - t = tra.getTransformFromPos(self.guide.pos["root"]) - self.jawLow_npo = pri.addTransform(self.mouthCenter, self.getName("jaw_npo"), t) - self.jawLow_pos = pri.addTransform(self.jawLow_npo, self.getName("jawLow_pos"), t) - self.jawLow_rot = pri.addTransform(self.jawLow_pos, self.getName("jawLow_rot"), t) - - #lips - t = tra.getTransformFromPos(self.guide.pos["lipup"]) - self.lipup_npo = pri.addTransform(self.jawUp_rot, self.getName("lipup_npo"), t) - self.lipup_ctl = self.addCtl(self.lipup_npo, "lipup_ctl", t, self.color_fk, "square", d=.15*self.size, w=1*self.size, ro=dt.Vector([1.5708,0,0]), tp=self.jaw_ctl) - - t = tra.getTransformFromPos(self.guide.pos["liplow"]) - self.liplow_npo = pri.addTransform(self.jawLow_rot, self.getName("liplow_npo"), t) - self.liplow_ctl = self.addCtl(self.liplow_npo, "liplow_ctl", t, self.color_fk, "square", d=.15*self.size, w=1*self.size, ro=dt.Vector([1.5708,0,0]), tp=self.jaw_ctl) - - #teeth - t = tra.getTransformFromPos(self.guide.pos["lipup"]) - self.teethup_npo = pri.addTransform(self.jawUp_rot, self.getName("teethup_npo"), t) - self.teethup_ctl = self.addCtl(self.teethup_npo, "teethup_ctl", t, self.color_ik, "square", d=.1*self.size, w=.7*self.size, ro=dt.Vector([1.5708,0,0]), tp=self.lipup_ctl) - - t = tra.getTransformFromPos(self.guide.pos["liplow"]) - self.teethlow_npo = pri.addTransform(self.jawLow_rot, self.getName("teethlow_npo"), t) - self.teethlow_ctl = self.addCtl(self.teethlow_npo, "teethlow_ctl", t, self.color_ik, "square", d=.1*self.size, w=.7*self.size, ro=dt.Vector([1.5708,0,0]), tp=self.liplow_ctl) - - - self.jnt_pos.append([self.jawLow_rot, "jaw", "parent_relative_jnt", False]) - self.jnt_pos.append([self.lipup_ctl, "lipup", "parent_relative_jnt", False]) - self.jnt_pos.append([self.liplow_ctl, "liplow", "jaw", False]) # relative 0 is the jaw jnt - self.jnt_pos.append([self.teethup_ctl, "teethup", "parent_relative_jnt", False]) - self.jnt_pos.append([self.teethlow_ctl, "teethlow", "jaw", False]) - - + """Add all the objects needed to create the component.""" + + # jaw control + t = transform.getTransformFromPos(self.guide.pos["jaw"]) + + self.ctl_npo = primitive.addTransform( + self.root, self.getName("ctl_npo"), t) + + self.jaw_ctl = self.addCtl( + self.ctl_npo, + "jaw_ctl", + t, + self.color_fk, + "circle", + w=1 * self.size, + ro=datatypes.Vector([1.5708, 0, 0]), + tp=self.parentCtlTag) + + attribute.setKeyableAttributes(self.jaw_ctl, ["tx", "ty", "tz", "rz"]) + + # mouth center + t = transform.getTransformFromPos(self.guide.pos["rotcenter"]) + self.mouthCenter_npo = primitive.addTransform( + self.root, self.getName("mouthCenter_npo"), t) + self.mouthCenter = primitive.addTransform( + self.mouthCenter_npo, self.getName("mouthCenter"), t) + + # jaw "UPPER" + t = transform.getTransformFromPos(self.guide.pos["root"]) + self.jawUp_npo = primitive.addTransform( + self.mouthCenter, self.getName("jawUpper_npo"), t) + self.jawUp_pos = primitive.addTransform( + self.jawUp_npo, self.getName("jawUpper_pos"), t) + self.jawUp_rot = primitive.addTransform( + self.jawUp_pos, self.getName("jawUpper_rot"), t) + + # jaw "LOWER" + t = transform.getTransformFromPos(self.guide.pos["root"]) + self.jawLow_npo = primitive.addTransform( + self.mouthCenter, self.getName("jaw_npo"), t) + self.jawLow_pos = primitive.addTransform( + self.jawLow_npo, self.getName("jawLow_pos"), t) + self.jawLow_rot = primitive.addTransform( + self.jawLow_pos, self.getName("jawLow_rot"), t) + + # lips + t = transform.getTransformFromPos(self.guide.pos["lipup"]) + + self.lipup_npo = primitive.addTransform( + self.jawUp_rot, self.getName("lipup_npo"), t) + + self.lipup_ctl = self.addCtl( + self.lipup_npo, + "lipup_ctl", + t, + self.color_fk, + "square", + d=.15 * self.size, + w=1 * self.size, + ro=datatypes.Vector([1.5708, 0, 0]), + tp=self.jaw_ctl) + + t = transform.getTransformFromPos(self.guide.pos["liplow"]) + + self.liplow_npo = primitive.addTransform( + self.jawLow_rot, self.getName("liplow_npo"), t) + + self.liplow_ctl = self.addCtl( + self.liplow_npo, + "liplow_ctl", + t, self.color_fk, + "square", + d=.15 * self.size, + w=1 * self.size, + ro=datatypes.Vector([1.5708, 0, 0]), + tp=self.jaw_ctl) + + # teeth + t = transform.getTransformFromPos(self.guide.pos["lipup"]) + self.teethup_npo = primitive.addTransform( + self.jawUp_rot, self.getName("teethup_npo"), t) + + self.teethup_ctl = self.addCtl(self.teethup_npo, + "teethup_ctl", + t, + self.color_ik, + "square", + d=.1 * self.size, + w=.7 * self.size, + ro=datatypes.Vector([1.5708, 0, 0]), + tp=self.lipup_ctl) + + t = transform.getTransformFromPos(self.guide.pos["liplow"]) + + self.teethlow_npo = primitive.addTransform( + self.jawLow_rot, self.getName("teethlow_npo"), t) + + self.teethlow_ctl = self.addCtl(self.teethlow_npo, + "teethlow_ctl", + t, + self.color_ik, + "square", + d=.1 * self.size, + w=.7 * self.size, + ro=datatypes.Vector([1.5708, 0, 0]), + tp=self.liplow_ctl) + + self.jnt_pos.append( + [self.jawLow_rot, "jaw", "parent_relative_jnt", False]) + self.jnt_pos.append( + [self.lipup_ctl, "lipup", "parent_relative_jnt", False]) + # relative 0 is the jaw jnt + self.jnt_pos.append( + [self.liplow_ctl, "liplow", "jaw", False]) + self.jnt_pos.append( + [self.teethup_ctl, "teethup", "parent_relative_jnt", False]) + self.jnt_pos.append( + [self.teethlow_ctl, "teethlow", "jaw", False]) # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): - - self.sideRotation_att = self.addAnimParam("siderot", "Sides Rotation", "double", 20, 0, 100) - self.vertRotation_att = self.addAnimParam("vertrot", "Vertical Rotation", "double", 40, 0, 100) - self.frontalTranslation_att = self.addAnimParam("fronttrans", "Frontal Translation", "double", 1, 0, 1) - self.verticalTranslation_att = self.addAnimParam("verttrans", "Vertical Translation", "double", 0.2, 0, 1) - self.followLips_att = self.addAnimParam("floowlips", "FollowLips", "double", 0.05, 0, 1) - self.lipsAlignSpeed_att = self.addAnimParam("lipsAlignSpeed", "Lips Align Speed", "double", 10, 0, 100) - - + """Create the anim and setupr rig attributes for the component""" + + self.sideRotation_att = self.addAnimParam( + "siderot", "Sides Rotation", "double", 20, 0, 100) + self.vertRotation_att = self.addAnimParam( + "vertrot", "Vertical Rotation", "double", 40, 0, 100) + self.frontalTranslation_att = self.addAnimParam( + "fronttrans", "Frontal Translation", "double", 1, 0, 1) + self.verticalTranslation_att = self.addAnimParam( + "verttrans", "Vertical Translation", "double", 0.2, 0, 1) + self.followLips_att = self.addAnimParam( + "floowlips", "FollowLips", "double", 0.05, 0, 1) + self.lipsAlignSpeed_att = self.addAnimParam( + "lipsAlignSpeed", "Lips Align Speed", "double", 10, 0, 100) # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ # mouth center rotation - pm.connectAttr(self.jaw_ctl+".rotateZ", self.mouthCenter+".rotateZ") + pm.connectAttr(self.jaw_ctl + ".rotateZ", + self.mouthCenter + ".rotateZ") - #Node Creation ######## + # Node Creation ######## # Mut Div nodes md_node_1 = pm.createNode("multiplyDivide") @@ -142,7 +185,7 @@ def addOperators(self): md_node_7 = pm.createNode("multiplyDivide") md_node_8 = pm.createNode("multiplyDivide") - # Clamp node + # Clamp o_node clamp_node = pm.createNode("clamp") # Condition nodes @@ -151,100 +194,100 @@ def addOperators(self): cond_node_3 = pm.createNode("condition") # Blend nodes - blend_node_1 = pm.createNode("blendColors") - blend_node_2 = pm.createNode("blendColors") + blend_node_1 = pm.createNode("blendColors") + blend_node_2 = pm.createNode("blendColors") - #Node Conexions ######## + # Node Conexions ######## # md_node_1 - pm.connectAttr(self.jaw_ctl+".translateY", md_node_1+".input1X") - pm.connectAttr(self.vertRotation_att, md_node_1+".input2X") + pm.connectAttr(self.jaw_ctl + ".translateY", md_node_1 + ".input1X") + pm.connectAttr(self.vertRotation_att, md_node_1 + ".input2X") # md_node_2 - pm.connectAttr(self.jaw_ctl+".translateX", md_node_2+".input1X") - pm.connectAttr(self.sideRotation_att, md_node_2+".input2X") + pm.connectAttr(self.jaw_ctl + ".translateX", md_node_2 + ".input1X") + pm.connectAttr(self.sideRotation_att, md_node_2 + ".input2X") # md_node_3 - pm.connectAttr(self.jaw_ctl+".translateY", md_node_3+".input1X") - pm.connectAttr(self.lipsAlignSpeed_att, md_node_3+".input2X") + pm.connectAttr(self.jaw_ctl + ".translateY", md_node_3 + ".input1X") + pm.connectAttr(self.lipsAlignSpeed_att, md_node_3 + ".input2X") # md_node_4 - pm.connectAttr(self.jaw_ctl+".translateY", md_node_4+".input1X") - pm.connectAttr(self.verticalTranslation_att, md_node_4+".input2X") + pm.connectAttr(self.jaw_ctl + ".translateY", md_node_4 + ".input1X") + pm.connectAttr(self.verticalTranslation_att, md_node_4 + ".input2X") # md_node_5 - pm.connectAttr(self.jaw_ctl+".translateZ", md_node_5+".input1X") - pm.connectAttr(self.frontalTranslation_att, md_node_5+".input2X") + pm.connectAttr(self.jaw_ctl + ".translateZ", md_node_5 + ".input1X") + pm.connectAttr(self.frontalTranslation_att, md_node_5 + ".input2X") # md_node_6 - pm.connectAttr( md_node_1+".outputX", md_node_6+".input1X") - pm.setAttr( md_node_6+".input2X", -1.0) + pm.connectAttr(md_node_1 + ".outputX", md_node_6 + ".input1X") + pm.setAttr(md_node_6 + ".input2X", -1.0) # md_node_7 - pm.connectAttr(md_node_5+".outputX", md_node_7+".input1X") - pm.connectAttr(clamp_node+".outputR", md_node_7+".input2X") + pm.connectAttr(md_node_5 + ".outputX", md_node_7 + ".input1X") + pm.connectAttr(clamp_node + ".outputR", md_node_7 + ".input2X") # md_node_8 - pm.connectAttr(cond_node_2+".outColorR", md_node_8+".input1X") - pm.connectAttr(clamp_node+".outputR", md_node_8+".input2X") + pm.connectAttr(cond_node_2 + ".outColorR", md_node_8 + ".input1X") + pm.connectAttr(clamp_node + ".outputR", md_node_8 + ".input2X") # clamp_node - pm.connectAttr(md_node_3+".outputX", clamp_node+".inputR") - pm.setAttr( clamp_node+".maxR", 1.0) + pm.connectAttr(md_node_3 + ".outputX", clamp_node + ".inputR") + pm.setAttr(clamp_node + ".maxR", 1.0) # cond_node_1 - pm.connectAttr(md_node_6+".outputX", cond_node_1+".colorIfTrueR") - pm.connectAttr(md_node_6+".outputX", cond_node_1+".firstTerm") - pm.setAttr( cond_node_1+".operation", 4) - pm.setAttr( cond_node_1+".colorIfFalseR", 0) + pm.connectAttr(md_node_6 + ".outputX", cond_node_1 + ".colorIfTrueR") + pm.connectAttr(md_node_6 + ".outputX", cond_node_1 + ".firstTerm") + pm.setAttr(cond_node_1 + ".operation", 4) + pm.setAttr(cond_node_1 + ".colorIfFalseR", 0) # cond_node_2 - pm.connectAttr(md_node_2+".outputX", cond_node_2+".colorIfFalseR") - pm.connectAttr(md_node_6+".outputX", cond_node_2+".firstTerm") - pm.setAttr( cond_node_2+".operation", 2) + pm.connectAttr(md_node_2 + ".outputX", cond_node_2 + ".colorIfFalseR") + pm.connectAttr(md_node_6 + ".outputX", cond_node_2 + ".firstTerm") + pm.setAttr(cond_node_2 + ".operation", 2) # cond_node_3 - pm.connectAttr(md_node_4+".outputX", cond_node_3+".colorIfTrueR") - pm.connectAttr(md_node_4+".outputX", cond_node_3+".firstTerm") - pm.setAttr( cond_node_3+".operation", 4) - pm.setAttr( cond_node_3+".colorIfFalseR", 0) + pm.connectAttr(md_node_4 + ".outputX", cond_node_3 + ".colorIfTrueR") + pm.connectAttr(md_node_4 + ".outputX", cond_node_3 + ".firstTerm") + pm.setAttr(cond_node_3 + ".operation", 4) + pm.setAttr(cond_node_3 + ".colorIfFalseR", 0) # blend_node_1 - pm.connectAttr(self.followLips_att, blend_node_1+".blender") - pm.connectAttr(md_node_6+".outputX", blend_node_1+".color1R") - pm.connectAttr(md_node_2+".outputX", blend_node_1+".color1G") - pm.connectAttr(cond_node_1+".outColorR", blend_node_1+".color2R") - pm.connectAttr(md_node_8+".outputX", blend_node_1+".color2G") + pm.connectAttr(self.followLips_att, blend_node_1 + ".blender") + pm.connectAttr(md_node_6 + ".outputX", blend_node_1 + ".color1R") + pm.connectAttr(md_node_2 + ".outputX", blend_node_1 + ".color1G") + pm.connectAttr(cond_node_1 + ".outColorR", blend_node_1 + ".color2R") + pm.connectAttr(md_node_8 + ".outputX", blend_node_1 + ".color2G") # blend_node_2 - pm.connectAttr(self.followLips_att, blend_node_2+".blender") - pm.connectAttr(cond_node_3+".outColorR", blend_node_2+".color1R") - pm.connectAttr(md_node_5+".outputX", blend_node_2+".color1G") - pm.connectAttr(md_node_7+".outputX", blend_node_2+".color2G") + pm.connectAttr(self.followLips_att, blend_node_2 + ".blender") + pm.connectAttr(cond_node_3 + ".outColorR", blend_node_2 + ".color1R") + pm.connectAttr(md_node_5 + ".outputX", blend_node_2 + ".color1G") + pm.connectAttr(md_node_7 + ".outputX", blend_node_2 + ".color2G") # inputs to transforms - pm.connectAttr(md_node_6+".outputX", self.jawLow_rot+".rotateX") - pm.connectAttr(md_node_2+".outputX", self.jawLow_rot+".rotateY") - - pm.connectAttr(blend_node_1+".outputR", self.jawUp_rot+".rotateX") - pm.connectAttr(blend_node_1+".outputG", self.jawUp_rot+".rotateY") - - pm.connectAttr(cond_node_3+".outColorR", self.jawLow_pos+".translateY") - pm.connectAttr(md_node_5+".outputX", self.jawLow_pos+".translateZ") - - pm.connectAttr(blend_node_2+".outputR", self.jawUp_pos+".translateY") - pm.connectAttr(blend_node_2+".outputG", self.jawUp_pos+".translateZ") + pm.connectAttr(md_node_6 + ".outputX", self.jawLow_rot + ".rotateX") + pm.connectAttr(md_node_2 + ".outputX", self.jawLow_rot + ".rotateY") + pm.connectAttr(blend_node_1 + ".outputR", self.jawUp_rot + ".rotateX") + pm.connectAttr(blend_node_1 + ".outputG", self.jawUp_rot + ".rotateY") + pm.connectAttr(cond_node_3 + ".outColorR", + self.jawLow_pos + ".translateY") + pm.connectAttr(md_node_5 + ".outputX", + self.jawLow_pos + ".translateZ") + pm.connectAttr(blend_node_2 + ".outputR", + self.jawUp_pos + ".translateY") + pm.connectAttr(blend_node_2 + ".outputG", + self.jawUp_pos + ".translateZ") # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.root self.relatives["jaw"] = self.jawLow_rot self.relatives["rotcenter"] = self.jawLow_rot diff --git a/scripts/mgear/maya/shifter/component/mouth_01/guide.py b/scripts/mgear/maya/shifter/component/mouth_01/guide.py index 4584275..d410d24 100644 --- a/scripts/mgear/maya/shifter/component/mouth_01/guide.py +++ b/scripts/mgear/maya/shifter/component/mouth_01/guide.py @@ -1,49 +1,17 @@ -# MGEAR is under the terms of the MIT License +"""Guide Mouth 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## - -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra - -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquletd.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,0,0] +VERSION = [1, 0, 0] TYPE = "mouth_01" NAME = "mouth" DESCRIPTION = "mouth lips and jaw" @@ -51,7 +19,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -62,29 +33,22 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "rotcenter", "lipup", "liplow", "jaw"] - - - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" - #eye guide + # eye guide self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [0,0,1]) + vTemp = transform.getOffsetPosition(self.root, [0, 0, 1]) self.rotcenter = self.addLoc("rotcenter", self.root, vTemp) - vTemp = tra.getOffsetPosition( self.root, [0,.3,1.3]) + vTemp = transform.getOffsetPosition(self.root, [0, .3, 1.3]) self.lipup = self.addLoc("lipup", self.rotcenter, vTemp) - vTemp = tra.getOffsetPosition( self.root, [0,-.3,1.3]) + vTemp = transform.getOffsetPosition(self.root, [0, -.3, 1.3]) self.liplow = self.addLoc("liplow", self.rotcenter, vTemp) - vTemp = tra.getOffsetPosition( self.root, [0,-2,2]) + vTemp = transform.getOffsetPosition(self.root, [0, -2, 2]) self.jaw = self.addLoc("jaw", self.root, vTemp) centers = [self.root, self.rotcenter] @@ -99,16 +63,12 @@ def addObjects(self): centers = [self.root, self.jaw] self.dispcrv = self.addDispCurve("crv", centers) - - - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) - + self.pUseIndex = self.addParam("useIndex", "bool", False) + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) return @@ -118,14 +78,15 @@ def addParameters(self): ########################################################## -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.setup_componentSettingWindow() self.create_componentControls() @@ -134,7 +95,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -144,10 +105,11 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ return @@ -164,4 +126,4 @@ def create_componentConnections(self): return def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/neck_ik_01/__init__.py b/scripts/mgear/maya/shifter/component/neck_ik_01/__init__.py index 343356b..7a4f2b0 100644 --- a/scripts/mgear/maya/shifter/component/neck_ik_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/neck_ik_01/__init__.py @@ -1,105 +1,138 @@ -# MGEAR is under the terms of the MIT License +"""Component Neck IK 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos +import pymel.core as pm +from pymel.core import datatypes -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: +from mgear.maya.shifter import component -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. +from mgear.maya import node, fcurve, applyop, vector, curve +from mgear.maya import attribute, transform, primitive -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. +############################################# +# COMPONENT +############################################# -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 -########################################################## -# GLOBAL -########################################################## -# Maya +class Component(component.Main): + """Shifter component Class""" -import pymel.core as pm + # ===================================================== + # OBJECTS + # ===================================================== + def addObjects(self): + """Add all the objects needed to create the component.""" -import pymel.core.datatypes as dt + self.normal = self.guide.blades["blade"].z * -1 + # Ik Controlers ------------------------------------ + t = transform.getTransformLookingAt(self.guide.pos["tan1"], + self.guide.pos["neck"], + self.normal, + "yx", + self.negate) -# mgear -from mgear.maya.shifter.component import MainComponent + t = transform.setMatrixPosition(t, self.guide.pos["neck"]) -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec -import mgear.maya.applyop as aop -import mgear.maya.curve as cur -import mgear.maya.fcurve as fcu + self.ik_cns = primitive.addTransform( + self.root, self.getName("ik_cns"), t) -########################################################## -# COMPONENT -########################################################## -## The main component class. -class Component(MainComponent): + self.ik_ctl = self.addCtl(self.ik_cns, + "ik_ctl", + t, + self.color_ik, + "compas", + w=self.size * .5, + tp=self.parentCtlTag) + attribute.setKeyableAttributes(self.ik_ctl, self.tr_params) + attribute.setRotOrder(self.ik_ctl, "ZXY") + attribute.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) - ## Add all the objects needed to create the component. - # @param self - def addObjects(self): + # Tangents ----------------------------------------- + if self.settings["tangentControls"]: + t = transform.setMatrixPosition(t, self.guide.pos["tan1"]) - self.normal = self.guide.blades["blade"].z*-1 + self.tan1_loc = primitive.addTransform( + self.ik_ctl, self.getName("tan1_loc"), t) - # Ik Controlers ------------------------------------ - t = tra.getTransformLookingAt(self.guide.pos["tan1"], self.guide.pos["neck"], self.normal, "yx", self.negate) - t = tra.setMatrixPosition(t, self.guide.pos["neck"]) - self.ik_cns = pri.addTransform(self.root, self.getName("ik_cns"), t) + self.tan1_ctl = self.addCtl(self.tan1_loc, + "tan1_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.ik_ctl) - self.ik_ctl = self.addCtl(self.ik_cns, "ik_ctl", t, self.color_ik, "compas", w=self.size*.5, tp=self.parentCtlTag) - att.setKeyableAttributes(self.ik_ctl, self.tr_params) - att.setRotOrder(self.ik_ctl, "ZXY") - att.setInvertMirror(self.ik_ctl, ["tx", "ry", "rz"]) + attribute.setKeyableAttributes(self.tan1_ctl, self.t_params) + attribute.setInvertMirror(self.tan1_ctl, ["tx"]) - # Tangents ----------------------------------------- - if self.settings["tangentControls"]: - t = tra.setMatrixPosition(t, self.guide.pos["tan1"]) - self.tan1_loc = pri.addTransform(self.ik_ctl, self.getName("tan1_loc"), t) - self.tan1_ctl = self.addCtl(self.tan1_loc, "tan1_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.ik_ctl) - att.setKeyableAttributes(self.tan1_ctl, self.t_params) - att.setInvertMirror(self.tan1_ctl, ["tx"]) - - t = tra.getTransformLookingAt(self.guide.pos["root"], self.guide.pos["tan0"], self.normal, "yx", self.negate) - t = tra.setMatrixPosition(t, self.guide.pos["tan0"]) - self.tan0_loc = pri.addTransform(self.root, self.getName("tan0_loc"), t) - self.tan0_ctl = self.addCtl(self.tan0_loc, "tan0_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.ik_ctl) - att.setKeyableAttributes(self.tan0_ctl, self.t_params) - att.setInvertMirror(self.tan0_ctl, ["tx"]) + t = transform.getTransformLookingAt(self.guide.pos["root"], + self.guide.pos["tan0"], + self.normal, + "yx", + self.negate) + + t = transform.setMatrixPosition(t, self.guide.pos["tan0"]) + + self.tan0_loc = primitive.addTransform( + self.root, self.getName("tan0_loc"), t) + + self.tan0_ctl = self.addCtl(self.tan0_loc, + "tan0_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.ik_ctl) + + attribute.setKeyableAttributes(self.tan0_ctl, + self.t_params) + attribute.setInvertMirror(self.tan0_ctl, ["tx"]) # Curves ------------------------------------------- - self.mst_crv = cur.addCnsCurve(self.root, self.getName("mst_crv"), [self.root, self.tan0_ctl, self.tan1_ctl, self.ik_ctl], 3) - self.slv_crv = cur.addCurve(self.root, self.getName("slv_crv"), [dt.Vector()]*10, False, 3) + self.mst_crv = curve.addCnsCurve( + self.root, + self.getName("mst_crv"), + [self.root, self.tan0_ctl, self.tan1_ctl, self.ik_ctl], + 3) + + self.slv_crv = curve.addCurve(self.root, + self.getName("slv_crv"), + [datatypes.Vector()] * 10, + False, + 3) + self.mst_crv.setAttr("visibility", False) else: - t = tra.setMatrixPosition(t, self.guide.pos["tan1"]) - self.tan1_loc = pri.addTransform(self.ik_ctl, self.getName("tan1_loc"), t) + t = transform.setMatrixPosition(t, self.guide.pos["tan1"]) + self.tan1_loc = primitive.addTransform( + self.ik_ctl, self.getName("tan1_loc"), t) + + t = transform.getTransformLookingAt(self.guide.pos["root"], + self.guide.pos["tan0"], + self.normal, + "yx", + self.negate) - t = tra.getTransformLookingAt(self.guide.pos["root"], self.guide.pos["tan0"], self.normal, "yx", self.negate) - t = tra.setMatrixPosition(t, self.guide.pos["tan0"]) - self.tan0_loc = pri.addTransform(self.root, self.getName("tan0_loc"), t) + t = transform.setMatrixPosition(t, self.guide.pos["tan0"]) + + self.tan0_loc = primitive.addTransform( + self.root, self.getName("tan0_loc"), t) # Curves ------------------------------------------- - self.mst_crv = cur.addCnsCurve(self.root, self.getName("mst_crv"), [self.root, self.tan0_loc, self.tan1_loc, self.ik_ctl], 3) - self.slv_crv = cur.addCurve(self.root, self.getName("slv_crv"), [dt.Vector()]*10, False, 3) + self.mst_crv = curve.addCnsCurve( + self.root, + self.getName("mst_crv"), + [self.root, self.tan0_loc, self.tan1_loc, self.ik_ctl], + 3) + + self.slv_crv = curve.addCurve(self.root, + self.getName("slv_crv"), + [datatypes.Vector()] * 10, + False, + 3) + self.mst_crv.setAttr("visibility", False) self.slv_crv.setAttr("visibility", False) @@ -116,138 +149,242 @@ def addObjects(self): self.twister = [] self.ref_twist = [] - parent_twistRef = pri.addTransform(self.root, self.getName("reference"), tra.getTransform(self.root)) - t = tra.getTransformLookingAt(self.guide.pos["root"], self.guide.pos["neck"], self.normal, "yx", self.negate) - self.intMRef = pri.addTransform(self.root, self.getName("intMRef"), t) + parent_twistRef = primitive.addTransform( + self.root, + self.getName("reference"), + transform.getTransform(self.root)) + + t = transform.getTransformLookingAt(self.guide.pos["root"], + self.guide.pos["neck"], + self.normal, + "yx", + self.negate) + + self.intMRef = primitive.addTransform( + self.root, self.getName("intMRef"), t) + self.previousCtlTag = self.parentCtlTag for i in range(self.settings["division"]): # References - div_cns = pri.addTransform(parentdiv, self.getName("%s_cns"%i), t) - pm.setAttr(div_cns+".inheritsTransform", False) + div_cns = primitive.addTransform( + parentdiv, self.getName("%s_cns" % i), t) + + pm.setAttr(div_cns + ".inheritsTransform", False) self.div_cns.append(div_cns) parentdiv = div_cns - scl_npo = pri.addTransform(parentctl, self.getName("%s_scl_npo"%i), tra.getTransform(parentctl)) + scl_npo = primitive.addTransform(parentctl, + self.getName("%s_scl_npo" % i), + transform.getTransform(parentctl)) # Controlers (First and last one are fake) - if i in [ self.settings["division"] - 1]: # 0, - fk_ctl = pri.addTransform(scl_npo, self.getName("%s_loc"%i), tra.getTransform(parentctl)) + if i in [self.settings["division"] - 1]: # 0, + fk_ctl = primitive.addTransform( + scl_npo, + self.getName("%s_loc" % i), + transform.getTransform(parentctl)) + fk_npo = fk_ctl else: - fk_npo = pri.addTransform(scl_npo, self.getName("fk%s_npo"%i), tra.getTransform(parentctl)) - fk_ctl = self.addCtl(fk_npo, "fk%s_ctl"%i, tra.getTransform(parentctl), self.color_fk, "cube", w=self.size*.2, h=self.size*.05, d=self.size*.2, tp=self.previousCtlTag) - att.setKeyableAttributes(self.fk_ctl) - att.setRotOrder(fk_ctl, "ZXY") + fk_npo = primitive.addTransform( + scl_npo, + self.getName("fk%s_npo" % i), + transform.getTransform(parentctl)) + + fk_ctl = self.addCtl(fk_npo, + "fk%s_ctl" % i, + transform.getTransform(parentctl), + self.color_fk, + "cube", + w=self.size * .2, + h=self.size * .05, + d=self.size * .2, + tp=self.previousCtlTag) + + attribute.setKeyableAttributes(self.fk_ctl) + attribute.setRotOrder(fk_ctl, "ZXY") self.previousCtlTag = fk_ctl self.fk_ctl.append(fk_ctl) - self.scl_npo.append(scl_npo) self.fk_npo.append(fk_npo) parentctl = fk_ctl self.jnt_pos.append([fk_ctl, i]) - t = tra.getTransformLookingAt(self.guide.pos["root"], self.guide.pos["neck"], self.guide.blades["blade"].z*-1, "yx", self.negate) - twister = pri.addTransform(parent_twistRef, self.getName("%s_rot_ref"%i), t) - ref_twist = pri.addTransform(parent_twistRef, self.getName("%s_pos_ref"%i), t) - ref_twist.setTranslation(dt.Vector(0.0,0,1.0), space="preTransform") + t = transform.getTransformLookingAt( + self.guide.pos["root"], + self.guide.pos["neck"], + self.guide.blades["blade"].z * -1, + "yx", + self.negate) + + twister = primitive.addTransform( + parent_twistRef, self.getName("%s_rot_ref" % i), t) + + ref_twist = primitive.addTransform( + parent_twistRef, self.getName("%s_pos_ref" % i), t) + + ref_twist.setTranslation( + datatypes.Vector(0.0, 0, 1.0), space="preTransform") self.twister.append(twister) self.ref_twist.append(ref_twist) - for x in self.fk_ctl[:-1]: - att.setInvertMirror(x, ["tx", "rz", "ry"]) + for x in self.fk_ctl[:-1]: + attribute.setInvertMirror(x, ["tx", "rz", "ry"]) # Head --------------------------------------------- - t = tra.getTransformLookingAt(self.guide.pos["head"], self.guide.pos["eff"], self.normal, "yx", self.negate) - self.head_cns = pri.addTransform(self.root, self.getName("head_cns"), t) - - dist = vec.getDistance(self.guide.pos["head"], self.guide.pos["eff"]) - self.head_ctl = self.addCtl(self.head_cns, "head_ctl", t, self.color_fk, "cube", w=self.size*.5, h=dist, d=self.size*.5, po=dt.Vector(0,dist*.5,0), tp=self.previousCtlTag) - att.setRotOrder(self.head_ctl, "ZXY") - att.setInvertMirror(self.head_ctl, ["tx", "rz", "ry"]) + t = transform.getTransformLookingAt(self.guide.pos["head"], + self.guide.pos["eff"], + self.normal, + "yx", + self.negate) + + self.head_cns = primitive.addTransform( + self.root, self.getName("head_cns"), t) + + dist = vector.getDistance(self.guide.pos["head"], + self.guide.pos["eff"]) + + self.head_ctl = self.addCtl(self.head_cns, + "head_ctl", + t, + self.color_fk, + "cube", + w=self.size * .5, + h=dist, d=self.size * .5, + po=datatypes.Vector(0, dist * .5, 0), + tp=self.previousCtlTag) + + attribute.setRotOrder(self.head_ctl, "ZXY") + attribute.setInvertMirror(self.head_ctl, ["tx", "rz", "ry"]) self.jnt_pos.append([self.head_ctl, "head"]) # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- - self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1) - self.maxsquash_att = self.addAnimParam("maxsquash", "MaxSquash", "double", self.settings["maxsquash"], 0, 1) - self.softness_att = self.addAnimParam("softness", "Softness", "double", self.settings["softness"], 0, 1) - - self.lock_ori_att = self.addAnimParam("lock_ori", "Lock Ori", "double", 1, 0, 1) + self.maxstretch_att = self.addAnimParam( + "maxstretch", + "Max Stretch", + "double", + self.settings["maxstretch"], + 1) + + self.maxsquash_att = self.addAnimParam("maxsquash", + "MaxSquash", + "double", + self.settings["maxsquash"], + 0, + 1) + + self.softness_att = self.addAnimParam("softness", + "Softness", + "double", + self.settings["softness"], + 0, + 1) + + self.lock_ori_att = self.addAnimParam( + "lock_ori", "Lock Ori", "double", 1, 0, 1) self.tan0_att = self.addAnimParam("tan0", "Tangent 0", "double", 1, 0) self.tan1_att = self.addAnimParam("tan1", "Tangent 1", "double", 1, 0) # Volume - self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) + self.volume_att = self.addAnimParam( + "volume", "Volume", "double", 1, 0, 1) # Ref if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) if self.settings["headrefarray"]: ref_names = self.settings["headrefarray"].split(",") if len(ref_names) > 1: ref_names.insert(0, "self") - self.headref_att = self.addAnimEnumParam("headref", "Head Ref", 0, ref_names) + self.headref_att = self.addAnimEnumParam( + "headref", "Head Ref", 0, ref_names) # Setup ------------------------------------------ # Eval Fcurve - self.st_value = fcu.getFCurveValues(self.settings["st_profile"], self.settings["division"]) - self.sq_value = fcu.getFCurveValues(self.settings["sq_profile"], self.settings["division"]) - - self.st_att = [ self.addSetupParam("stretch_%s"%i, "Stretch %s"%i, "double", self.st_value[i], -1, 0) for i in range(self.settings["division"]) ] - self.sq_att = [ self.addSetupParam("squash_%s"%i, "Squash %s"%i, "double", self.sq_value[i], 0, 1) for i in range(self.settings["division"]) ] + self.st_value = fcurve.getFCurveValues( + self.settings["st_profile"], self.settings["division"]) + self.sq_value = fcurve.getFCurveValues( + self.settings["sq_profile"], self.settings["division"]) + + self.st_att = [self.addSetupParam("stretch_%s" % i, + "Stretch %s" % i, + "double", + self.st_value[i], -1, 0) + for i in range(self.settings["division"])] + + self.sq_att = [self.addSetupParam("squash_%s" % i, + "Squash %s" % i, + "double", + self.sq_value[i], + 0, + 1) + for i in range(self.settings["division"])] # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + """ # Tangent position --------------------------------- # common part - d = vec.getDistance(self.guide.pos["root"], self.guide.pos["neck"]) - dist_node = nod.createDistNode(self.root, self.ik_ctl) - rootWorld_node = nod.createDecomposeMatrixNode(self.root.attr("worldMatrix")) - div_node = nod.createDivNode(dist_node+".distance", rootWorld_node+".outputScaleX") - div_node = nod.createDivNode(div_node+".outputX", d) + d = vector.getDistance(self.guide.pos["root"], self.guide.pos["neck"]) + dist_node = node.createDistNode(self.root, self.ik_ctl) + rootWorld_node = node.createDecomposeMatrixNode( + self.root.attr("worldMatrix")) + div_node = node.createDivNode(dist_node + ".distance", + rootWorld_node + ".outputScaleX") + div_node = node.createDivNode(div_node + ".outputX", d) # tan0 - mul_node = nod.createMulNode(self.tan0_att, self.tan0_loc.getAttr("ty")) - res_node = nod.createMulNode(mul_node+".outputX", div_node+".outputX") - pm.connectAttr( res_node+".outputX", self.tan0_loc+".ty") + mul_node = node.createMulNode(self.tan0_att, + self.tan0_loc.getAttr("ty")) + res_node = node.createMulNode(mul_node + ".outputX", + div_node + ".outputX") + pm.connectAttr(res_node + ".outputX", self.tan0_loc + ".ty") # tan1 - mul_node = nod.createMulNode(self.tan1_att, self.tan1_loc.getAttr("ty")) - res_node = nod.createMulNode(mul_node+".outputX", div_node+".outputX") - pm.connectAttr( res_node+".outputX", self.tan1_loc.attr("ty")) + mul_node = node.createMulNode(self.tan1_att, + self.tan1_loc.getAttr("ty")) + res_node = node.createMulNode(mul_node + ".outputX", + div_node + ".outputX") + pm.connectAttr(res_node + ".outputX", self.tan1_loc.attr("ty")) # Curves ------------------------------------------- - op = aop.gear_curveslide2_op(self.slv_crv, self.mst_crv, 0, 1.5, .5, .5) - pm.connectAttr(self.maxstretch_att, op+".maxstretch") - pm.connectAttr(self.maxsquash_att, op+".maxsquash") - pm.connectAttr(self.softness_att, op+".softness") + op = applyop.gear_curveslide2_op( + self.slv_crv, self.mst_crv, 0, 1.5, .5, .5) + pm.connectAttr(self.maxstretch_att, op + ".maxstretch") + pm.connectAttr(self.maxsquash_att, op + ".maxsquash") + pm.connectAttr(self.softness_att, op + ".softness") # Volume driver ------------------------------------ - crv_node = nod.createCurveInfoNode(self.slv_crv) + crv_node = node.createCurveInfoNode(self.slv_crv) # Division ----------------------------------------- for i in range(self.settings["division"]): @@ -255,69 +392,92 @@ def addOperators(self): # References u = i / (self.settings["division"] - 1.0) - cns = aop.pathCns(self.div_cns[i], self.slv_crv, False, u, True) - cns.setAttr("frontAxis", 1)# front axis is 'Y' - cns.setAttr("upAxis", 2)# front axis is 'Z' + cns = applyop.pathCns( + self.div_cns[i], self.slv_crv, False, u, True) + cns.setAttr("frontAxis", 1) # front axis is 'Y' + cns.setAttr("upAxis", 2) # front axis is 'Z' # Roll - intMatrix = aop.gear_intmatrix_op(self.intMRef+".worldMatrix", self.ik_ctl+".worldMatrix", u) - dm_node = nod.createDecomposeMatrixNode(intMatrix+".output") - pm.connectAttr(dm_node+".outputRotate", self.twister[i].attr("rotate")) - - pm.parentConstraint(self.twister[i], self.ref_twist[i], maintainOffset=True) - - - pm.connectAttr(self.ref_twist[i]+".translate", cns+".worldUpVector") - + intMatrix = applyop.gear_intmatrix_op( + self.intMRef + ".worldMatrix", self.ik_ctl + ".worldMatrix", u) + dm_node = node.createDecomposeMatrixNode(intMatrix + ".output") + pm.connectAttr(dm_node + ".outputRotate", + self.twister[i].attr("rotate")) + pm.parentConstraint(self.twister[i], + self.ref_twist[i], + maintainOffset=True) + pm.connectAttr(self.ref_twist[i] + ".translate", + cns + ".worldUpVector") # Squash n Stretch - op = aop.gear_squashstretch2_op(self.fk_npo[i], self.root, pm.arclen(self.slv_crv), "y") - pm.connectAttr(self.volume_att, op+".blend") - pm.connectAttr(crv_node+".arcLength", op+".driver") - pm.connectAttr(self.st_att[i], op+".stretch") - pm.connectAttr(self.sq_att[i], op+".squash") + op = applyop.gear_squashstretch2_op(self.fk_npo[i], + self.root, + pm.arclen(self.slv_crv), + "y") + + pm.connectAttr(self.volume_att, op + ".blend") + pm.connectAttr(crv_node + ".arcLength", op + ".driver") + pm.connectAttr(self.st_att[i], op + ".stretch") + pm.connectAttr(self.sq_att[i], op + ".squash") op.setAttr("driver_min", .1) # scl compas if i != 0: - div_node = nod.createDivNode([1,1,1], [self.fk_npo[i-1]+".sx", self.fk_npo[i-1]+".sy", self.fk_npo[i-1]+".sz"]) - pm.connectAttr(div_node+".output", self.scl_npo[i]+".scale") + div_node = node.createDivNode( + [1, 1, 1], + [self.fk_npo[i - 1] + ".sx", + self.fk_npo[i - 1] + ".sy", + self.fk_npo[i - 1] + ".sz"]) + + pm.connectAttr(div_node + ".output", + self.scl_npo[i] + ".scale") # Controlers if i == 0: - mulmat_node = aop.gear_mulmatrix_op(self.div_cns[i].attr("worldMatrix"), - self.root.attr("worldInverseMatrix")) + mulmat_node = applyop.gear_mulmatrix_op( + self.div_cns[i].attr("worldMatrix"), + self.root.attr("worldInverseMatrix")) else: - mulmat_node = aop.gear_mulmatrix_op(self.div_cns[i].attr("worldMatrix"), - self.div_cns[i - 1].attr("worldInverseMatrix")) + mulmat_node = applyop.gear_mulmatrix_op( + self.div_cns[i].attr("worldMatrix"), + self.div_cns[i - 1].attr("worldInverseMatrix")) - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") - pm.connectAttr(dm_node+".outputTranslate", self.fk_npo[i].attr("t")) - pm.connectAttr(dm_node+".outputRotate", self.fk_npo[i].attr("r")) + dm_node = node.createDecomposeMatrixNode(mulmat_node + ".output") + pm.connectAttr(dm_node + ".outputTranslate", + self.fk_npo[i].attr("t")) + pm.connectAttr(dm_node + ".outputRotate", + self.fk_npo[i].attr("r")) # Orientation Lock - if i == self.settings["division"] - 1 : - dm_node = nod.createDecomposeMatrixNode(self.ik_ctl+".worldMatrix") - blend_node = nod.createBlendNode([dm_node+".outputRotate%s"%s for s in "XYZ"], [cns+".rotate%s"%s for s in "XYZ"], self.lock_ori_att) + if i == self.settings["division"] - 1: + dm_node = node.createDecomposeMatrixNode( + self.ik_ctl + ".worldMatrix") + blend_node = node.createBlendNode( + [dm_node + ".outputRotate%s" % s for s in "XYZ"], + [cns + ".rotate%s" % s for s in "XYZ"], + self.lock_ori_att) self.div_cns[i].attr("rotate").disconnect() - pm.connectAttr(blend_node+".output", self.div_cns[i]+".rotate") + pm.connectAttr(blend_node + ".output", + self.div_cns[i] + ".rotate") # Head --------------------------------------------- self.fk_ctl[-1].addChild(self.head_cns) - #scale compensation - dm_node = nod.createDecomposeMatrixNode(self.scl_npo[0]+".parentInverseMatrix") - pm.connectAttr(dm_node+".outputScale", self.scl_npo[0]+".scale") + # scale compensation + dm_node = node.createDecomposeMatrixNode( + self.scl_npo[0] + ".parentInverseMatrix") + + pm.connectAttr(dm_node + ".outputScale", + self.scl_npo[0] + ".scale") # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.root self.relatives["tan1"] = self.root self.relatives["tan2"] = self.head_ctl @@ -334,25 +494,20 @@ def setRelation(self): self.jointRelatives["root"] = 0 self.jointRelatives["tan1"] = 0 - self.jointRelatives["tan2"] = len(self.jnt_pos)-1 - self.jointRelatives["neck"] = len(self.jnt_pos)-1 - self.jointRelatives["head"] = len(self.jnt_pos)-1 - self.jointRelatives["eff"] = len(self.jnt_pos)-1 + self.jointRelatives["tan2"] = len(self.jnt_pos) - 1 + self.jointRelatives["neck"] = len(self.jnt_pos) - 1 + self.jointRelatives["head"] = len(self.jnt_pos) - 1 + self.jointRelatives["eff"] = len(self.jnt_pos) - 1 - ## standard connection definition. - # @param self def connect_standard(self): self.connect_standardWithIkRef() - ## standard connection definition with ik and upv references. - # @param self def connect_standardWithIkRef(self): self.parent.addChild(self.root) self.connectRef(self.settings["ikrefarray"], self.ik_cns) - if self.settings["headrefarray"]: ref_names = self.settings["headrefarray"].split(",") @@ -361,17 +516,22 @@ def connect_standardWithIkRef(self): ref.append(self.rig.findRelative(ref_name)) ref.append(self.head_cns) - cns_node = pm.parentConstraint(*ref, skipTranslate="none", maintainOffset=True) - cns_attr = pm.parentConstraint(cns_node, query=True, weightAliasList=True) + cns_node = pm.parentConstraint(*ref, + skipTranslate="none", + maintainOffset=True) + + cns_attr = pm.parentConstraint(cns_node, + query=True, + weightAliasList=True) self.head_cns.attr("tx").disconnect() self.head_cns.attr("ty").disconnect() self.head_cns.attr("tz").disconnect() for i, attr in enumerate(cns_attr): node_name = pm.createNode("condition") - pm.connectAttr(self.headref_att, node_name+".firstTerm") - pm.setAttr(node_name+".secondTerm", i+1) - pm.setAttr(node_name+".operation", 0) - pm.setAttr(node_name+".colorIfTrueR", 1) - pm.setAttr(node_name+".colorIfFalseR", 0) - pm.connectAttr(node_name+".outColorR", attr) + pm.connectAttr(self.headref_att, node_name + ".firstTerm") + pm.setAttr(node_name + ".secondTerm", i + 1) + pm.setAttr(node_name + ".operation", 0) + pm.setAttr(node_name + ".colorIfTrueR", 1) + pm.setAttr(node_name + ".colorIfFalseR", 0) + pm.connectAttr(node_name + ".outColorR", attr) diff --git a/scripts/mgear/maya/shifter/component/neck_ik_01/guide.py b/scripts/mgear/maya/shifter/component/neck_ik_01/guide.py index 940ae55..3679fc4 100644 --- a/scripts/mgear/maya/shifter/component/neck_ik_01/guide.py +++ b/scripts/mgear/maya/shifter/component/neck_ik_01/guide.py @@ -1,52 +1,21 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# +"""Guide Squash 01 module""" + from functools import partial -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra -import mgear.maya.vector as vec +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt, vector +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquletd.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [2,0,0] +VERSION = [2, 0, 0] TYPE = "neck_ik_01" NAME = "neck" DESCRIPTION = "Neck ik and FK with optional tangent controls" @@ -54,7 +23,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -65,29 +37,33 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "tan0", "tan1", "neck", "head", "eff"] self.save_blade = ["blade"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [0,1,0]) + vTemp = transform.getOffsetPosition(self.root, [0, 1, 0]) self.neck = self.addLoc("neck", self.root, vTemp) - vTemp = tra.getOffsetPosition( self.root, [0,1.1,0]) + vTemp = transform.getOffsetPosition(self.root, [0, 1.1, 0]) self.head = self.addLoc("head", self.neck, vTemp) - vTemp = tra.getOffsetPosition( self.root, [0,2,0]) + vTemp = transform.getOffsetPosition(self.root, [0, 2, 0]) self.eff = self.addLoc("eff", self.head, vTemp) - v0 = vec.linearlyInterpolate(self.root.getTranslation(space="world"), self.neck.getTranslation(space="world"), .333) + v0 = vector.linearlyInterpolate( + self.root.getTranslation(space="world"), + self.neck.getTranslation(space="world"), + .333) + self.tan0 = self.addLoc("tan0", self.root, v0) - v1 = vec.linearlyInterpolate(self.root.getTranslation(space="world"), self.neck.getTranslation(space="world"), .666) + v1 = vector.linearlyInterpolate( + self.root.getTranslation(space="world"), + self.neck.getTranslation(space="world"), + .666) + self.tan1 = self.addLoc("tan1", self.neck, v1) self.blade = self.addBlade("blade", self.root, self.tan0) @@ -98,14 +74,12 @@ def addObjects(self): centers = [self.neck, self.head, self.eff] self.dispcrv = self.addDispCurve("head_crv", centers, 1) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" # Ik - self.pHeadRefArray = self.addParam("headrefarray", "string", "") - self.pIkRefArray = self.addParam("ikrefarray", "string", "") + self.pHeadRefArray = self.addParam("headrefarray", "string", "") + self.pIkRefArray = self.addParam("ikrefarray", "string", "") # Default values self.pMaxStretch = self.addParam("maxstretch", "double", 1.5, 1) @@ -116,13 +90,17 @@ def addParameters(self): self.pDivision = self.addParam("division", "long", 5, 3) self.pTangentControls = self.addParam("tangentControls", "bool", False) - # FCurves - self.pSt_profile = self.addFCurveParam("st_profile", [[0,0],[.5,-1],[1,0]]) - self.pSq_profile = self.addFCurveParam("sq_profile", [[0,0],[.5,1],[1,0]]) + self.pSt_profile = self.addFCurveParam( + "st_profile", [[0, 0], [.5, -1], [1, 0]]) - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pSq_profile = self.addFCurveParam( + "sq_profile", [[0, 0], [.5, 1], [1, 0]]) + + self.pUseIndex = self.addParam("useIndex", "bool", False) + + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) ########################################################## @@ -130,23 +108,24 @@ def addParameters(self): ########################################################## class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -154,7 +133,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -164,22 +143,34 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - self.settingsTab.softness_slider.setValue(int(self.root.attr("softness").get()*100)) - self.settingsTab.softness_spinBox.setValue(int(self.root.attr("softness").get()*100)) - self.settingsTab.maxStretch_spinBox.setValue(self.root.attr("maxstretch").get()) - self.settingsTab.maxSquash_spinBox.setValue(self.root.attr("maxsquash").get()) - self.settingsTab.division_spinBox.setValue(self.root.attr("division").get()) - self.populateCheck(self.settingsTab.tangentControls_checkBox, "tangentControls") + # populate component settings + self.settingsTab.softness_slider.setValue( + int(self.root.attr("softness").get() * 100)) + + self.settingsTab.softness_spinBox.setValue( + int(self.root.attr("softness").get() * 100)) + + self.settingsTab.maxStretch_spinBox.setValue( + self.root.attr("maxstretch").get()) + + self.settingsTab.maxSquash_spinBox.setValue( + self.root.attr("maxsquash").get()) + + self.settingsTab.division_spinBox.setValue( + self.root.attr("division").get()) + + self.populateCheck(self.settingsTab.tangentControls_checkBox, + "tangentControls") ikRefArrayItems = self.root.attr("ikrefarray").get().split(",") for item in ikRefArrayItems: @@ -188,7 +179,6 @@ def populate_componentControls(self): for item in headRefArrayItems: self.settingsTab.headRefArray_listWidget.addItem(item) - def create_componentLayout(self): self.settings_layout = QtWidgets.QVBoxLayout() @@ -199,22 +189,73 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.softness_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.softness_slider, "softness")) - self.settingsTab.softness_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.softness_spinBox, "softness")) - self.settingsTab.maxStretch_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxStretch_spinBox, "maxstretch")) - self.settingsTab.maxSquash_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxSquash_spinBox, "maxsquash")) - self.settingsTab.division_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.division_spinBox, "division")) - self.settingsTab.tangentControls_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.tangentControls_checkBox, "tangentControls")) - self.settingsTab.squashStretchProfile_pushButton.clicked.connect(self.setProfile) - - self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) - self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.headRefArray_listWidget, self.settingsTab.ikRefArray_listWidget, "ikrefarray")) + self.settingsTab.softness_slider.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.softness_slider, + "softness")) + + self.settingsTab.softness_spinBox.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.softness_spinBox, + "softness")) + + self.settingsTab.maxStretch_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxStretch_spinBox, + "maxstretch")) + + self.settingsTab.maxSquash_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxSquash_spinBox, + "maxsquash")) + + self.settingsTab.division_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.division_spinBox, + "division")) + + self.settingsTab.tangentControls_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.tangentControls_checkBox, + "tangentControls")) + + self.settingsTab.squashStretchProfile_pushButton.clicked.connect( + self.setProfile) + + self.settingsTab.ikRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + + self.settingsTab.ikRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + + self.settingsTab.ikRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.headRefArray_listWidget, + self.settingsTab.ikRefArray_listWidget, + "ikrefarray")) + self.settingsTab.ikRefArray_listWidget.installEventFilter(self) - self.settingsTab.headRefArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.headRefArray_listWidget, "headrefarray")) - self.settingsTab.headRefArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.headRefArray_listWidget, "headrefarray")) - self.settingsTab.headRefArray_copyRef_pushButton.clicked.connect(partial(self.copyFromListWidget, self.settingsTab.ikRefArray_listWidget, self.settingsTab.headRefArray_listWidget, "headrefarray")) + self.settingsTab.headRefArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.headRefArray_listWidget, + "headrefarray")) + + self.settingsTab.headRefArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.headRefArray_listWidget, + "headrefarray")) + + self.settingsTab.headRefArray_copyRef_pushButton.clicked.connect( + partial(self.copyFromListWidget, + self.settingsTab.ikRefArray_listWidget, + self.settingsTab.headRefArray_listWidget, + "headrefarray")) + self.settingsTab.headRefArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -227,7 +268,5 @@ def eventFilter(self, sender, event): else: return QtWidgets.QDialog.eventFilter(self, sender, event) - - def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/shoulder_01/__init__.py b/scripts/mgear/maya/shifter/component/shoulder_01/__init__.py index 8b760a1..c7ca19d 100644 --- a/scripts/mgear/maya/shifter/component/shoulder_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/shoulder_01/__init__.py @@ -1,103 +1,104 @@ -# MGEAR is under the terms of the MIT License +"""Component Shoulder 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos +from pymel.core import datatypes -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: +from mgear.maya.shifter import component -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. +from mgear.maya import transform, primitive, vector -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# Maya -import pymel.core.datatypes as dt - -# mgear -from mgear.maya.shifter.component import MainComponent - -import mgear.maya.primitive as pri -import mgear.maya.transform as tra +############################################# +# COMPONENT +############################################# -import mgear.maya.vector as vec -########################################################## -# COMPONENT -########################################################## -## The main component class. -class Component(MainComponent): +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - ## Add all the objects needed to create the component. - # @param self def addObjects(self): + """Add all the objects needed to create the component.""" - self.normal = self.guide.blades["blade"].z*-1 + self.normal = self.guide.blades["blade"].z * -1 self.binormal = self.guide.blades["blade"].x - self.length0 = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) - - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.normal, axis="xy", negate=self.negate) - self.ctl_npo = pri.addTransform(self.root, self.getName("ctl_npo"), t) - self.ctl = self.addCtl(self.ctl_npo, "ctl", t, self.color_fk, "cube", w=self.length0, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length0*self.n_factor,0,0), tp=self.parentCtlTag) - t = tra.getTransformFromPos(self.guide.apos[1]) - self.orbit_ref1 = pri.addTransform(self.ctl, self.getName("orbit_ref1"), t) - self.orbit_ref2 = pri.addTransform(self.root, self.getName("orbit_ref2"), t) - - self.orbit_cns = pri.addTransform(self.ctl, self.getName("orbit_cns"), t) - - self.orbit_npo = pri.addTransform(self.orbit_cns, self.getName("orbit_npo"), t) - self.orbit_ctl = self.addCtl(self.orbit_npo, "orbit_ctl", t, self.color_fk, "sphere", w=self.length0/4, tp=self.ctl) + self.length0 = vector.getDistance(self.guide.apos[0], + self.guide.apos[1]) + + t = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.normal, + axis="xy", + negate=self.negate) + + self.ctl_npo = primitive.addTransform( + self.root, self.getName("ctl_npo"), t) + + self.ctl = self.addCtl( + self.ctl_npo, + "ctl", + t, + self.color_fk, + "cube", + w=self.length0, + h=self.size * .1, + d=self.size * .1, + po=datatypes.Vector(.5 * self.length0 * self.n_factor, 0, 0), + tp=self.parentCtlTag) + + t = transform.getTransformFromPos(self.guide.apos[1]) + self.orbit_ref1 = primitive.addTransform( + self.ctl, self.getName("orbit_ref1"), t) + self.orbit_ref2 = primitive.addTransform( + self.root, self.getName("orbit_ref2"), t) + self.orbit_cns = primitive.addTransform( + self.ctl, self.getName("orbit_cns"), t) + + self.orbit_npo = primitive.addTransform( + self.orbit_cns, self.getName("orbit_npo"), t) + + self.orbit_ctl = self.addCtl(self.orbit_npo, + "orbit_ctl", + t, + self.color_fk, + "sphere", + w=self.length0 / 4, + tp=self.ctl) self.jnt_pos.append([self.ctl, "shoulder"]) + # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Ref if self.settings["refArray"]: ref_names = self.settings["refArray"].split(",") if len(ref_names) >= 1: - self.ref_att = self.addAnimEnumParam("rotRef", "Ref", 0, self.settings["refArray"].split(",")) + self.ref_att = self.addAnimEnumParam( + "rotRef", "Ref", 0, self.settings["refArray"].split(",")) # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ return # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.ctl self.relatives["tip"] = self.orbit_ctl @@ -107,8 +108,7 @@ def setRelation(self): self.jointRelatives["root"] = 0 self.jointRelatives["tip"] = 0 - ## standard connection definition. - # @param self def connect_standard(self): self.parent.addChild(self.root) - self.connect_standardWithRotRef(self.settings["refArray"], self.orbit_cns ) + self.connect_standardWithRotRef(self.settings["refArray"], + self.orbit_cns) diff --git a/scripts/mgear/maya/shifter/component/shoulder_01/guide.py b/scripts/mgear/maya/shifter/component/shoulder_01/guide.py index 9266172..56adaab 100644 --- a/scripts/mgear/maya/shifter/component/shoulder_01/guide.py +++ b/scripts/mgear/maya/shifter/component/shoulder_01/guide.py @@ -1,60 +1,33 @@ -# MGEAR is under the terms of the MIT License +"""Guide Squash 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## from functools import partial -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra - +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquletd.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [1,0,0] +VERSION = [1, 0, 0] TYPE = "shoulder_01" NAME = "shoulder" -DESCRIPTION = "Simple shoulder with space switch for\n the arm, and Orbit layer for the arm " +DESCRIPTION = "Simple shoulder with space switch for\n the arm, and Orbit " \ + "layer for the arm " ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -65,37 +38,30 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "tip"] self.save_blade = ["blade"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [2,0,0]) + vTemp = transform.getOffsetPosition(self.root, [2, 0, 0]) self.loc = self.addLoc("tip", self.root, vTemp) self.blade = self.addBlade("blade", self.root, self.loc) centers = [self.root, self.loc] self.dispcrv = self.addDispCurve("crv", centers) - - - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" - self.pRefArray = self.addParam("refArray", "string", "") + self.pRefArray = self.addParam("refArray", "string", "") self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) ########################################################## @@ -103,23 +69,24 @@ def addParameters(self): ########################################################## class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -127,7 +94,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -137,21 +104,21 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings + # populate component settings refArrayItems = self.root.attr("refArray").get().split(",") for item in refArrayItems: self.settingsTab.refArray_listWidget.addItem(item) - def create_componentLayout(self): self.settings_layout = QtWidgets.QVBoxLayout() @@ -162,8 +129,16 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.refArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.refArray_listWidget, "refArray")) - self.settingsTab.refArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.refArray_listWidget, "refArray")) + self.settingsTab.refArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.refArray_listWidget, + "refArray")) + + self.settingsTab.refArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.refArray_listWidget, + "refArray")) + self.settingsTab.refArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -174,6 +149,5 @@ def eventFilter(self, sender, event): else: return QtWidgets.QDialog.eventFilter(self, sender, event) - def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/shoulder_ms_01/__init__.py b/scripts/mgear/maya/shifter/component/shoulder_ms_01/__init__.py index 5496d8c..57447e6 100644 --- a/scripts/mgear/maya/shifter/component/shoulder_ms_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/shoulder_ms_01/__init__.py @@ -1,129 +1,126 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# Maya +"""Component Shoulder MS 01 module""" + import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes + +from mgear.maya.shifter import component -# mgear -from mgear.maya.shifter.component import MainComponent -import mgear.maya.attribute as att -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.applyop as aop -import mgear.maya.vector as vec +from mgear.maya import applyop, vector +from mgear.maya import attribute, transform, primitive -########################################################## +############################################# # COMPONENT -########################################################## -## The main component class. -class Component(MainComponent): +############################################# + + +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - ## Add all the objects needed to create the component. - # @param self def addObjects(self): + """Add all the objects needed to create the component.""" - self.normal = self.guide.blades["blade"].z*-1 + self.normal = self.guide.blades["blade"].z * -1 self.binormal = self.guide.blades["blade"].x - self.length0 = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) + self.length0 = vector.getDistance(self.guide.apos[0], + self.guide.apos[1]) + + t = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.normal, + axis="xy", + negate=self.negate) + + self.npo = primitive.addTransform(self.root, self.getName("npo"), t) + + self.ctl = self.addCtl( + self.npo, + "ctl", + t, + self.color_fk, + "cube", + w=self.length0, + h=self.size * .1, + d=self.size * .1, + po=datatypes.Vector(.5 * self.length0 * self.n_factor, 0, 0), + tp=self.parentCtlTag) - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.normal, axis="xy", negate=self.negate) - self.npo = pri.addTransform(self.root, self.getName("npo"), t) - self.ctl = self.addCtl(self.npo, "ctl", t, self.color_fk, "cube", w=self.length0, h=self.size*.1, d=self.size*.1, po=dt.Vector(.5*self.length0*self.n_factor,0,0), tp=self.parentCtlTag) - self.mtx = pri.addTransform(self.npo, self.getName("mtx"), t) + self.mtx = primitive.addTransform(self.npo, self.getName("mtx"), t) - t1 = tra.setMatrixPosition(t,self.guide.apos[1]) - t2 = tra.getInterpolateTransformMatrix(t, t1, blend=0.98 ) - self.loc = pri.addTransform(self.mtx, self.getName("loc"), t2) + t1 = transform.setMatrixPosition(t, self.guide.apos[1]) + t2 = transform.getInterpolateTransformMatrix(t, t1, blend=0.98) + self.loc = primitive.addTransform(self.mtx, self.getName("loc"), t2) - self.end = pri.addTransform(self.ctl, self.getName("end"), t1) + self.end = primitive.addTransform(self.ctl, self.getName("end"), t1) self.jnt_pos.append([self.mtx, "root"]) self.jnt_pos.append([self.loc, 'end']) - att.setKeyableAttributes(self.ctl) - att.setInvertMirror(self.ctl, ["tx","ty", "tz"]) + attribute.setKeyableAttributes(self.ctl) + attribute.setInvertMirror(self.ctl, ["tx", "ty", "tz"]) # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" return - # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ if self.negate: - node = aop.aimCns(self.mtx, self.end, axis="-xy", wupType=4, wupVector=[0,1,0], wupObject=self.mtx, maintainOffset=False) + o_node = applyop.aimCns(self.mtx, + self.end, + axis="-xy", + wupType=4, + wupVector=[0, 1, 0], + wupObject=self.mtx, + maintainOffset=False) else: - node = aop.aimCns(self.mtx, self.end, axis="xy", wupType=4, wupVector=[0,1,0], wupObject=self.mtx, maintainOffset=False) + o_node = applyop.aimCns(self.mtx, + self.end, + axis="xy", + wupType=4, + wupVector=[0, 1, 0], + wupObject=self.mtx, + maintainOffset=False) + # position constrint loc to ref - node = aop.gear_mulmatrix_op(self.end.attr("worldMatrix"), self.loc.attr("parentInverseMatrix")) + o_node = applyop.gear_mulmatrix_op( + self.end.attr("worldMatrix"), self.loc.attr("parentInverseMatrix")) dm_node = pm.createNode("decomposeMatrix") - pm.connectAttr(node+".output", dm_node+".inputMatrix") + pm.connectAttr(o_node + ".output", dm_node + ".inputMatrix") pb_node = pm.createNode("pairBlend") # move back a little bit to avoid overlapping with limb jts - pm.setAttr(pb_node+".weight", 0.98) - pm.connectAttr(dm_node+".outputTranslate", pb_node+".inTranslate2") - pm.connectAttr(pb_node+".outTranslate", self.loc.attr("translate")) - return - + pm.setAttr(pb_node + ".weight", 0.98) + pm.connectAttr(dm_node + ".outputTranslate", pb_node + ".inTranslate2") + pm.connectAttr(pb_node + ".outTranslate", self.loc.attr("translate")) # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.root self.relatives["tip"] = self.loc self.controlRelatives["root"] = self.ctl self.controlRelatives["tip"] = self.ctl - self.jointRelatives["root"] = 0 self.jointRelatives["tip"] = 1 - ## standard connection definition. - # @param self def connect_standard(self): self.parent.addChild(self.root) diff --git a/scripts/mgear/maya/shifter/component/shoulder_ms_01/guide.py b/scripts/mgear/maya/shifter/component/shoulder_ms_01/guide.py index cded9ed..4f9cbf8 100644 --- a/scripts/mgear/maya/shifter/component/shoulder_ms_01/guide.py +++ b/scripts/mgear/maya/shifter/component/shoulder_ms_01/guide.py @@ -1,49 +1,17 @@ -# MGEAR is under the terms of the MIT License +"""Guide Shoulder MS 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra - - -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos,Miles Cheng" URL = "www.jeremiepasserin.com, www.miquletd.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com,milesckt@gmail.com" -VERSION = [1,0,0] +VERSION = [1, 0, 0] TYPE = "shoulder_ms_01" NAME = "shoulder" DESCRIPTION = "shoulder / limb connector use in conjuction with ms_arm/leg " @@ -51,7 +19,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -62,52 +33,44 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "tip"] self.save_blade = ["blade"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [2,0,0]) + vTemp = transform.getOffsetPosition(self.root, [2, 0, 0]) self.loc = self.addLoc("tip", self.root, vTemp) self.blade = self.addBlade("blade", self.root, self.loc) centers = [self.root, self.loc] self.dispcrv = self.addDispCurve("crv", centers) - - - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" - # self.pRefArray = self.addParam("refArray", "string", "") self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) ########################################################## # Setting Page ########################################################## -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) - - super(self.__class__, self).__init__(parent = parent) + pyqt.deleteInstances(self, MayaQDockWidget) + super(self.__class__, self).__init__(parent=parent) self.setup_componentSettingWindow() self.create_componentControls() @@ -116,7 +79,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -126,10 +89,11 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ return @@ -146,4 +110,4 @@ def create_componentConnections(self): return def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/spine_ik_01/__init__.py b/scripts/mgear/maya/shifter/component/spine_ik_01/__init__.py index 77b1706..6b3127b 100644 --- a/scripts/mgear/maya/shifter/component/spine_ik_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/spine_ik_01/__init__.py @@ -1,126 +1,226 @@ -# MGEAR is under the terms of the MIT License +"""Component Spine IK 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# -# Maya import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya.shifter import component -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec -import mgear.maya.applyop as aop -import mgear.maya.curve as cur -import mgear.maya.fcurve as fcu +from mgear.maya import node, fcurve, applyop, vector, curve +from mgear.maya import attribute, transform, primitive ############################################# # COMPONENT ############################################# -class Component(MainComponent): + +class Component(component.Main): + """Shifter component Class""" + + # ===================================================== + # OBJECTS + # ===================================================== def addObjects(self): + """Add all the objects needed to create the component.""" - # Auto bend with position controls ------------------------------------ + # Auto bend with position controls -------------------- if self.settings["autoBend"]: - self.autoBendChain= pri.add2DChain(self.root, self.getName("autoBend%s_jnt"), [self.guide.apos[0],self.guide.apos[1]], self.guide.blades["blade"].z*-1, False, True) + self.autoBendChain = primitive.add2DChain( + self.root, + self.getName("autoBend%s_jnt"), + [self.guide.apos[0], self.guide.apos[1]], + self.guide.blades["blade"].z * -1, + False, + True) + for j in self.autoBendChain: j.drawStyle.set(2) # Ik Controlers ------------------------------------ - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.guide.blades["blade"].z*-1, "yx", self.negate) - self.ik0_npo = pri.addTransform(self.root, self.getName("ik0_npo"), t) - self.ik0_ctl = self.addCtl(self.ik0_npo, "ik0_ctl", t, self.color_ik, "compas", w=self.size, tp=self.parentCtlTag) - att.setKeyableAttributes(self.ik0_ctl, self.tr_params) - att.setRotOrder(self.ik0_ctl, "ZXY") - att.setInvertMirror(self.ik0_ctl, ["tx", "ry", "rz"]) - - t = tra.setMatrixPosition(t, self.guide.apos[1]) + t = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.guide.blades["blade"].z * -1, + "yx", + self.negate) + + self.ik0_npo = primitive.addTransform( + self.root, self.getName("ik0_npo"), t) + + self.ik0_ctl = self.addCtl(self.ik0_npo, + "ik0_ctl", + t, + self.color_ik, + "compas", + w=self.size, + tp=self.parentCtlTag) + + attribute.setKeyableAttributes(self.ik0_ctl, self.tr_params) + attribute.setRotOrder(self.ik0_ctl, "ZXY") + attribute.setInvertMirror(self.ik0_ctl, ["tx", "ry", "rz"]) + + t = transform.setMatrixPosition(t, self.guide.apos[1]) if self.settings["autoBend"]: - self.autoBend_npo = pri.addTransform(self.root, self.getName("spinePosition_npo"), t) - self.autoBend_ctl = self.addCtl(self.autoBend_npo, "spinePosition_ctl", t, self.color_ik, "square", w=self.size, d=.3*self.size, tp=self.parentCtlTag) - att.setKeyableAttributes(self.autoBend_ctl, ["tx", "ty", "tz", "ry"]) - att.setInvertMirror(self.autoBend_ctl, ["tx", "ry"]) - - self.ik1_npo = pri.addTransform(self.autoBendChain[0], self.getName("ik1_npo"), t) - self.ik1autoRot_lvl = pri.addTransform(self.ik1_npo, self.getName("ik1autoRot_lvl"), t) - self.ik1_ctl = self.addCtl(self.ik1autoRot_lvl, "ik1_ctl", t, self.color_ik, "compas", w=self.size, tp=self.autoBend_ctl) + self.autoBend_npo = primitive.addTransform( + self.root, self.getName("spinePosition_npo"), t) + + self.autoBend_ctl = self.addCtl(self.autoBend_npo, + "spinePosition_ctl", + t, + self.color_ik, + "square", + w=self.size, + d=.3 * self.size, + tp=self.parentCtlTag) + + attribute.setKeyableAttributes(self.autoBend_ctl, + ["tx", "ty", "tz", "ry"]) + + attribute.setInvertMirror(self.autoBend_ctl, ["tx", "ry"]) + + self.ik1_npo = primitive.addTransform( + self.autoBendChain[0], self.getName("ik1_npo"), t) + + self.ik1autoRot_lvl = primitive.addTransform( + self.ik1_npo, self.getName("ik1autoRot_lvl"), t) + + self.ik1_ctl = self.addCtl(self.ik1autoRot_lvl, + "ik1_ctl", + t, + self.color_ik, + "compas", + w=self.size, + tp=self.autoBend_ctl) else: - t = tra.setMatrixPosition(t, self.guide.apos[1]) - self.ik1_npo = pri.addTransform(self.root, self.getName("ik1_npo"), t) - self.ik1_ctl = self.addCtl(self.ik1_npo, "ik1_ctl", t, self.color_ik, "compas", w=self.size, tp=self.ik0_ctl) - - att.setKeyableAttributes(self.ik1_ctl, self.tr_params) - att.setRotOrder(self.ik1_ctl, "ZXY") - att.setInvertMirror(self.ik1_ctl, ["tx", "ry", "rz"]) + t = transform.setMatrixPosition(t, self.guide.apos[1]) + self.ik1_npo = primitive.addTransform( + self.root, self.getName("ik1_npo"), t) + self.ik1_ctl = self.addCtl(self.ik1_npo, + "ik1_ctl", + t, + self.color_ik, + "compas", + w=self.size, + tp=self.ik0_ctl) + + attribute.setKeyableAttributes(self.ik1_ctl, self.tr_params) + attribute.setRotOrder(self.ik1_ctl, "ZXY") + attribute.setInvertMirror(self.ik1_ctl, ["tx", "ry", "rz"]) # Tangent controllers ------------------------------- if self.settings["centralTangent"]: - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .33)) - self.tan0_npo = pri.addTransform(self.ik0_ctl, self.getName("tan0_npo"), t) - self.tan0_off = pri.addTransform(self.tan0_npo, self.getName("tan0_off"), t) - self.tan0_ctl = self.addCtl(self.tan0_off, "tan0_ctl", t, self.color_ik, "sphere", w=self.size*.1, tp=self.ik0_ctl) - att.setKeyableAttributes(self.tan0_ctl, self.t_params) - - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .66)) - self.tan1_npo = pri.addTransform(self.ik1_ctl, self.getName("tan1_npo"), t) - self.tan1_off = pri.addTransform(self.tan1_npo, self.getName("tan1_off"), t) - self.tan1_ctl = self.addCtl(self.tan1_off, "tan1_ctl", t, self.color_ik, "sphere", w=self.size*.1, tp=self.ik0_ctl) - att.setKeyableAttributes(self.tan1_ctl, self.t_params) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .33) + t = transform.setMatrixPosition(t, vec_pos) + + self.tan0_npo = primitive.addTransform( + self.ik0_ctl, self.getName("tan0_npo"), t) + + self.tan0_off = primitive.addTransform( + self.tan0_npo, self.getName("tan0_off"), t) + + self.tan0_ctl = self.addCtl(self.tan0_off, + "tan0_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .1, + tp=self.ik0_ctl) + + attribute.setKeyableAttributes(self.tan0_ctl, self.t_params) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .66) + + t = transform.setMatrixPosition(t, vec_pos) + + self.tan1_npo = primitive.addTransform( + self.ik1_ctl, self.getName("tan1_npo"), t) + + self.tan1_off = primitive.addTransform( + self.tan1_npo, self.getName("tan1_off"), t) + + self.tan1_ctl = self.addCtl(self.tan1_off, + "tan1_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .1, + tp=self.ik0_ctl) + + attribute.setKeyableAttributes(self.tan1_ctl, self.t_params) # Tangent mid control - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .5)) - self.tan_npo = pri.addTransform(self.tan0_npo, self.getName("tan_npo"), t) - self.tan_ctl = self.addCtl(self.tan_npo, "tan_ctl", t, self.color_fk, "sphere", w=self.size*.2, tp=self.ik1_ctl) - att.setKeyableAttributes(self.tan_ctl, self.t_params) - att.setInvertMirror(self.tan_ctl, ["tx"]) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .5) + t = transform.setMatrixPosition(t, vec_pos) + + self.tan_npo = primitive.addTransform( + self.tan0_npo, self.getName("tan_npo"), t) + + self.tan_ctl = self.addCtl(self.tan_npo, + "tan_ctl", + t, + self.color_fk, + "sphere", + w=self.size * .2, + tp=self.ik1_ctl) + + attribute.setKeyableAttributes(self.tan_ctl, self.t_params) + attribute.setInvertMirror(self.tan_ctl, ["tx"]) else: - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .33)) - self.tan0_npo = pri.addTransform(self.ik0_ctl, self.getName("tan0_npo"), t) - self.tan0_ctl = self.addCtl(self.tan0_npo, "tan0_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.ik0_ctl) - att.setKeyableAttributes(self.tan0_ctl, self.t_params) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .33) + + t = transform.setMatrixPosition(t, vec_pos) - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .66)) - self.tan1_npo = pri.addTransform(self.ik1_ctl, self.getName("tan1_npo"), t) - self.tan1_ctl = self.addCtl(self.tan1_npo, "tan1_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.ik1_ctl) - att.setKeyableAttributes(self.tan1_ctl, self.t_params) + self.tan0_npo = primitive.addTransform( + self.ik0_ctl, self.getName("tan0_npo"), t) - att.setInvertMirror(self.tan0_ctl, ["tx"]) - att.setInvertMirror(self.tan1_ctl, ["tx"]) + self.tan0_ctl = self.addCtl(self.tan0_npo, + "tan0_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.ik0_ctl) + + attribute.setKeyableAttributes(self.tan0_ctl, self.t_params) + + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .66) + + t = transform.setMatrixPosition(t, vec_pos) + + self.tan1_npo = primitive.addTransform( + self.ik1_ctl, self.getName("tan1_npo"), t) + + self.tan1_ctl = self.addCtl(self.tan1_npo, + "tan1_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.ik1_ctl) + + attribute.setKeyableAttributes(self.tan1_ctl, self.t_params) + + attribute.setInvertMirror(self.tan0_ctl, ["tx"]) + attribute.setInvertMirror(self.tan1_ctl, ["tx"]) # Curves ------------------------------------------- - self.mst_crv = cur.addCnsCurve(self.root, self.getName("mst_crv"), [self.ik0_ctl, self.tan0_ctl, self.tan1_ctl, self.ik1_ctl], 3) - self.slv_crv = cur.addCurve(self.root, self.getName("slv_crv"), [dt.Vector()]*10, False, 3) + self.mst_crv = curve.addCnsCurve( + self.root, + self.getName("mst_crv"), + [self.ik0_ctl, self.tan0_ctl, self.tan1_ctl, self.ik1_ctl], + 3) + self.slv_crv = curve.addCurve(self.root, self.getName("slv_crv"), + [datatypes.Vector()] * 10, + False, + 3) self.mst_crv.setAttr("visibility", False) self.slv_crv.setAttr("visibility", False) @@ -136,138 +236,271 @@ def addObjects(self): self.twister = [] self.ref_twist = [] - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.guide.blades["blade"].z*-1, "yx", self.negate) - parent_twistRef = pri.addTransform(self.root, self.getName("reference"), tra.getTransform(self.root)) + t = transform.getTransformLookingAt( + self.guide.apos[0], + self.guide.apos[1], + self.guide.blades["blade"].z * -1, + "yx", + self.negate) + + parent_twistRef = primitive.addTransform( + self.root, + self.getName("reference"), + transform.getTransform(self.root)) self.jointList = [] self.preiviousCtlTag = self.parentCtlTag for i in range(self.settings["division"]): # References - div_cns = pri.addTransform(parentdiv, self.getName("%s_cns"%i)) - pm.setAttr(div_cns+".inheritsTransform", False) + div_cns = primitive.addTransform(parentdiv, + self.getName("%s_cns" % i)) + + pm.setAttr(div_cns + ".inheritsTransform", False) self.div_cns.append(div_cns) parentdiv = div_cns # Controlers (First and last one are fake) # if i in [0]: - # TODO: add option setting to add or not the first and last controller for the fk + # TODO: add option setting to add or not the first and last + # controller for the fk # if i in [0, self.settings["division"] - 1] and False: if i in [0, self.settings["division"] - 1]: - fk_ctl = pri.addTransform(parentctl, self.getName("%s_loc"%i), tra.getTransform(parentctl)) + fk_ctl = primitive.addTransform( + parentctl, + self.getName("%s_loc" % i), + transform.getTransform(parentctl)) + fk_npo = fk_ctl - if i in [ self.settings["division"] - 1]: + if i in [self.settings["division"] - 1]: self.fk_ctl.append(fk_ctl) else: - fk_npo = pri.addTransform(parentctl, self.getName("fk%s_npo"%(i-1)), tra.getTransform(parentctl)) - fk_ctl = self.addCtl(fk_npo, "fk%s_ctl"%(i-1), tra.getTransform(parentctl), self.color_fk, "cube", w=self.size, h=self.size*.05, d=self.size, tp=self.preiviousCtlTag) - att.setKeyableAttributes(self.fk_ctl) - att.setRotOrder(fk_ctl, "ZXY") + fk_npo = primitive.addTransform( + parentctl, + self.getName("fk%s_npo" % (i - 1)), + transform.getTransform(parentctl)) + + fk_ctl = self.addCtl(fk_npo, + "fk%s_ctl" % (i - 1), + transform.getTransform(parentctl), + self.color_fk, + "cube", + w=self.size, + h=self.size * .05, + d=self.size, + tp=self.preiviousCtlTag) + + attribute.setKeyableAttributes(self.fk_ctl) + attribute.setRotOrder(fk_ctl, "ZXY") self.fk_ctl.append(fk_ctl) self.preiviousCtlTag = fk_ctl # setAttr(fk_npo+".inheritsTransform", False) self.fk_npo.append(fk_npo) parentctl = fk_ctl - scl_ref = pri.addTransform(parentctl, self.getName("%s_scl_ref"%i), tra.getTransform(parentctl)) + scl_ref = primitive.addTransform(parentctl, + self.getName("%s_scl_ref" % i), + transform.getTransform(parentctl)) + self.scl_transforms.append(scl_ref) # Deformers (Shadow) self.jnt_pos.append([scl_ref, i]) - #Twist references (This objects will replace the spinlookup slerp solver behavior) - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.guide.blades["blade"].z*-1, "yx", self.negate) - twister = pri.addTransform(parent_twistRef, self.getName("%s_rot_ref"%i), t) - ref_twist = pri.addTransform(parent_twistRef, self.getName("%s_pos_ref"%i), t) - ref_twist.setTranslation(dt.Vector(1.0,0,0), space="preTransform") + # Twist references (This objects will replace the spinlookup slerp + # solver behavior) + t = transform.getTransformLookingAt( + self.guide.apos[0], + self.guide.apos[1], + self.guide.blades["blade"].z * -1, + "yx", + self.negate) + + twister = primitive.addTransform( + parent_twistRef, self.getName("%s_rot_ref" % i), t) + ref_twist = primitive.addTransform( + parent_twistRef, self.getName("%s_pos_ref" % i), t) + ref_twist.setTranslation( + datatypes.Vector(1.0, 0, 0), space="preTransform") self.twister.append(twister) self.ref_twist.append(ref_twist) - #TODO: update this part with the optiona FK controls update - for x in self.fk_ctl[:-1]: - att.setInvertMirror(x, ["tx", "rz", "ry"]) + # TODO: update this part with the optiona FK controls update + for x in self.fk_ctl[:-1]: + attribute.setInvertMirror(x, ["tx", "rz", "ry"]) # Connections (Hooks) ------------------------------ - self.cnx0 = pri.addTransform(self.root, self.getName("0_cnx")) - self.cnx1 = pri.addTransform(self.root, self.getName("1_cnx")) + self.cnx0 = primitive.addTransform(self.root, self.getName("0_cnx")) + self.cnx1 = primitive.addTransform(self.root, self.getName("1_cnx")) + # ===================================================== + # ATTRIBUTES + # ===================================================== def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Anim ------------------------------------------- - self.position_att = self.addAnimParam("position", "Position", "double", self.settings["position"], 0, 1) - self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1) - self.maxsquash_att = self.addAnimParam("maxsquash", "Max Squash", "double", self.settings["maxsquash"], 0, 1) - self.softness_att = self.addAnimParam("softness", "Softness", "double", self.settings["softness"], 0, 1) - - self.lock_ori0_att = self.addAnimParam("lock_ori0", "Lock Ori 0", "double", self.settings["lock_ori"], 0, 1) - self.lock_ori1_att = self.addAnimParam("lock_ori1", "Lock Ori 1", "double", self.settings["lock_ori"], 0, 1) + self.position_att = self.addAnimParam("position", + "Position", + "double", + self.settings["position"], + 0, + 1) + self.maxstretch_att = self.addAnimParam("maxstretch", + "Max Stretch", + "double", + self.settings["maxstretch"], + 1) + self.maxsquash_att = self.addAnimParam("maxsquash", + "Max Squash", + "double", + self.settings["maxsquash"], + 0, + 1) + self.softness_att = self.addAnimParam("softness", + "Softness", + "double", + self.settings["softness"], + 0, + 1) + + self.lock_ori0_att = self.addAnimParam("lock_ori0", + "Lock Ori 0", + "double", + self.settings["lock_ori"], + 0, + 1) + self.lock_ori1_att = self.addAnimParam("lock_ori1", + "Lock Ori 1", + "double", + self.settings["lock_ori"], + 0, + 1) self.tan0_att = self.addAnimParam("tan0", "Tangent 0", "double", 1, 0) self.tan1_att = self.addAnimParam("tan1", "Tangent 1", "double", 1, 0) # Volume - self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) + self.volume_att = self.addAnimParam( + "volume", "Volume", "double", 1, 0, 1) if self.settings["autoBend"]: - self.sideBend_att = self.addAnimParam("sideBend", "Side Bend", "double", .5, 0, 2) - self.frontBend_att = self.addAnimParam("frontBend", "Front Bend", "double", .5, 0, 2) + self.sideBend_att = self.addAnimParam( + "sideBend", "Side Bend", "double", .5, 0, 2) + self.frontBend_att = self.addAnimParam( + "frontBend", "Front Bend", "double", .5, 0, 2) # Setup ------------------------------------------ # Eval Fcurve - self.st_value = fcu.getFCurveValues(self.settings["st_profile"], self.settings["division"]) - self.sq_value = fcu.getFCurveValues(self.settings["sq_profile"], self.settings["division"]) - - self.st_att = [ self.addSetupParam("stretch_%s"%i, "Stretch %s"%i, "double", self.st_value[i], -1, 0) for i in range(self.settings["division"]) ] - self.sq_att = [ self.addSetupParam("squash_%s"%i, "Squash %s"%i, "double", self.sq_value[i], 0, 1) for i in range(self.settings["division"]) ] + self.st_value = fcurve.getFCurveValues( + self.settings["st_profile"], self.settings["division"]) + self.sq_value = fcurve.getFCurveValues( + self.settings["sq_profile"], self.settings["division"]) + + self.st_att = [self.addSetupParam("stretch_%s" % i, + "Stretch %s" % i, + "double", + self.st_value[i], + -1, + 0) + for i in range(self.settings["division"])] + + self.sq_att = [self.addSetupParam("squash_%s" % i, + "Squash %s" % i, + "double", + self.sq_value[i], + 0, + 1) + for i in range(self.settings["division"])] + # ===================================================== + # OPERATORS + # ===================================================== def addOperators(self): + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ # Auto bend ---------------------------- if self.settings["autoBend"]: - mul_node = nod.createMulNode([self.autoBendChain[0].ry, self.autoBendChain[0].rz ], [self.sideBend_att, self.frontBend_att]) + mul_node = node.createMulNode( + [self.autoBendChain[0].ry, self.autoBendChain[0].rz], + [self.sideBend_att, self.frontBend_att]) + mul_node.outputX >> self.ik1autoRot_lvl.rz mul_node.outputY >> self.ik1autoRot_lvl.rx - self.ikHandleAutoBend = pri.addIkHandle(self.autoBend_ctl, self.getName("ikHandleAutoBend"), self.autoBendChain, "ikSCsolver") - + self.ikHandleAutoBend = primitive.addIkHandle( + self.autoBend_ctl, + self.getName("ikHandleAutoBend"), + self.autoBendChain, "ikSCsolver") # Tangent position --------------------------------- # common part - d = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) - dist_node = nod.createDistNode(self.ik0_ctl, self.ik1_ctl) - rootWorld_node = nod.createDecomposeMatrixNode(self.root.attr("worldMatrix")) - div_node = nod.createDivNode(dist_node+".distance", rootWorld_node+".outputScaleX") - div_node = nod.createDivNode(div_node+".outputX", d) + d = vector.getDistance(self.guide.apos[0], self.guide.apos[1]) + dist_node = node.createDistNode(self.ik0_ctl, self.ik1_ctl) + + rootWorld_node = node.createDecomposeMatrixNode( + self.root.attr("worldMatrix")) + + div_node = node.createDivNode(dist_node + ".distance", + rootWorld_node + ".outputScaleX") + + div_node = node.createDivNode(div_node + ".outputX", d) # tan0 - mul_node = nod.createMulNode(self.tan0_att, self.tan0_npo.getAttr("ty")) - res_node = nod.createMulNode(mul_node+".outputX", div_node+".outputX") - pm.connectAttr( res_node+".outputX", self.tan0_npo.attr("ty")) + mul_node = node.createMulNode(self.tan0_att, + self.tan0_npo.getAttr("ty")) + + res_node = node.createMulNode(mul_node + ".outputX", + div_node + ".outputX") + + pm.connectAttr(res_node + ".outputX", + self.tan0_npo.attr("ty")) # tan1 - mul_node = nod.createMulNode(self.tan1_att, self.tan1_npo.getAttr("ty")) - res_node = nod.createMulNode(mul_node+".outputX", div_node+".outputX") - pm.connectAttr( res_node+".outputX", self.tan1_npo.attr("ty")) + mul_node = node.createMulNode(self.tan1_att, + self.tan1_npo.getAttr("ty")) + + res_node = node.createMulNode(mul_node + ".outputX", + div_node + ".outputX") + + pm.connectAttr(res_node + ".outputX", self.tan1_npo.attr("ty")) # Tangent Mid -------------------------------------- if self.settings["centralTangent"]: - tanIntMat = aop.gear_intmatrix_op(self.tan0_npo.attr("worldMatrix"), self.tan1_npo.attr("worldMatrix"), .5) - aop.gear_mulmatrix_op(tanIntMat.attr("output"), self.tan_npo.attr("parentInverseMatrix[0]"), self.tan_npo) - pm.connectAttr(self.tan_ctl.attr("translate"), self.tan0_off.attr("translate")) - pm.connectAttr(self.tan_ctl.attr("translate"), self.tan1_off.attr("translate")) + tanIntMat = applyop.gear_intmatrix_op( + self.tan0_npo.attr("worldMatrix"), + self.tan1_npo.attr("worldMatrix"), + .5) + + applyop.gear_mulmatrix_op( + tanIntMat.attr("output"), + self.tan_npo.attr("parentInverseMatrix[0]"), + self.tan_npo) + pm.connectAttr(self.tan_ctl.attr("translate"), + self.tan0_off.attr("translate")) + + pm.connectAttr(self.tan_ctl.attr("translate"), + self.tan1_off.attr("translate")) # Curves ------------------------------------------- - op = aop.gear_curveslide2_op(self.slv_crv, self.mst_crv, 0, 1.5, .5, .5) + op = applyop.gear_curveslide2_op( + self.slv_crv, self.mst_crv, 0, 1.5, .5, .5) - pm.connectAttr(self.position_att, op+".position") - pm.connectAttr(self.maxstretch_att, op+".maxstretch") - pm.connectAttr(self.maxsquash_att, op+".maxsquash") - pm.connectAttr(self.softness_att, op+".softness") + pm.connectAttr(self.position_att, op + ".position") + pm.connectAttr(self.maxstretch_att, op + ".maxstretch") + pm.connectAttr(self.maxsquash_att, op + ".maxsquash") + pm.connectAttr(self.softness_att, op + ".softness") # Volume driver ------------------------------------ - crv_node = nod.createCurveInfoNode(self.slv_crv) + crv_node = node.createCurveInfoNode(self.slv_crv) # Division ----------------------------------------- for i in range(self.settings["division"]): @@ -275,61 +508,101 @@ def addOperators(self): # References u = i / (self.settings["division"] - 1.0) - cns = aop.pathCns(self.div_cns[i], self.slv_crv, False, u, True) - cns.setAttr("frontAxis", 1)# front axis is 'Y' - cns.setAttr("upAxis", 0)# front axis is 'X' + cns = applyop.pathCns( + self.div_cns[i], self.slv_crv, False, u, True) + cns.setAttr("frontAxis", 1) # front axis is 'Y' + cns.setAttr("upAxis", 0) # front axis is 'X' # Roll - intMatrix = aop.gear_intmatrix_op(self.ik0_ctl+".worldMatrix", self.ik1_ctl+".worldMatrix", u) - dm_node = nod.createDecomposeMatrixNode(intMatrix+".output") - pm.connectAttr(dm_node+".outputRotate", self.twister[i].attr("rotate")) - + intMatrix = applyop.gear_intmatrix_op( + self.ik0_ctl + ".worldMatrix", + self.ik1_ctl + ".worldMatrix", + u) - pm.parentConstraint(self.twister[i], self.ref_twist[i], maintainOffset=True) + dm_node = node.createDecomposeMatrixNode(intMatrix + ".output") + pm.connectAttr(dm_node + ".outputRotate", + self.twister[i].attr("rotate")) + pm.parentConstraint(self.twister[i], + self.ref_twist[i], + maintainOffset=True) - pm.connectAttr(self.ref_twist[i]+".translate", cns+".worldUpVector") - - #compensate scale reference - div_node = nod.createDivNode([1,1,1], [rootWorld_node+".outputScaleX", rootWorld_node+".outputScaleY", rootWorld_node+".outputScaleZ"]) + pm.connectAttr(self.ref_twist[i] + ".translate", + cns + ".worldUpVector") + # compensate scale reference + div_node = node.createDivNode([1, 1, 1], + [rootWorld_node + ".outputScaleX", + rootWorld_node + ".outputScaleY", + rootWorld_node + ".outputScaleZ"]) # Squash n Stretch - op = aop.gear_squashstretch2_op(self.scl_transforms[i], self.root, pm.arclen(self.slv_crv), "y", div_node+".output" ) - pm.connectAttr(self.volume_att, op+".blend") - pm.connectAttr(crv_node+".arcLength", op+".driver") - pm.connectAttr(self.st_att[i], op+".stretch") - pm.connectAttr(self.sq_att[i], op+".squash") + op = applyop.gear_squashstretch2_op( + self.scl_transforms[i], + self.root, + pm.arclen(self.slv_crv), + "y", + div_node + ".output") + + pm.connectAttr(self.volume_att, op + ".blend") + pm.connectAttr(crv_node + ".arcLength", op + ".driver") + pm.connectAttr(self.st_att[i], op + ".stretch") + pm.connectAttr(self.sq_att[i], op + ".squash") # Controlers if i == 0: - mulmat_node = aop.gear_mulmatrix_op(self.div_cns[i].attr("worldMatrix"), - self.root.attr("worldInverseMatrix")) - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") - pm.connectAttr(dm_node+".outputTranslate", self.fk_npo[i].attr("t")) + mulmat_node = applyop.gear_mulmatrix_op( + self.div_cns[i].attr("worldMatrix"), + self.root.attr("worldInverseMatrix")) + + dm_node = node.createDecomposeMatrixNode( + mulmat_node + ".output") + + pm.connectAttr(dm_node + ".outputTranslate", + self.fk_npo[i].attr("t")) else: - mulmat_node = aop.gear_mulmatrix_op(self.div_cns[i].attr("worldMatrix"), - self.div_cns[i - 1].attr("worldInverseMatrix")) - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") - mul_node = nod.createMulNode(div_node+".output", dm_node+".outputTranslate") - pm.connectAttr(mul_node+".output", self.fk_npo[i].attr("t")) + mulmat_node = applyop.gear_mulmatrix_op( + self.div_cns[i].attr("worldMatrix"), + self.div_cns[i - 1].attr("worldInverseMatrix")) + + dm_node = node.createDecomposeMatrixNode( + mulmat_node + ".output") - pm.connectAttr(dm_node+".outputRotate", self.fk_npo[i].attr("r")) + mul_node = node.createMulNode(div_node + ".output", + dm_node + ".outputTranslate") + pm.connectAttr(mul_node + ".output", + self.fk_npo[i].attr("t")) + pm.connectAttr(dm_node + ".outputRotate", self.fk_npo[i].attr("r")) # Orientation Lock - if i == 0 : - dm_node = nod.createDecomposeMatrixNode(self.ik0_ctl+".worldMatrix") - blend_node = nod.createBlendNode([dm_node+".outputRotate%s"%s for s in "XYZ"], [cns+".rotate%s"%s for s in "XYZ"], self.lock_ori0_att) + if i == 0: + dm_node = node.createDecomposeMatrixNode( + self.ik0_ctl + ".worldMatrix") + + blend_node = node.createBlendNode( + [dm_node + ".outputRotate%s" % s for s in "XYZ"], + [cns + ".rotate%s" % s for s in "XYZ"], + self.lock_ori0_att) + self.div_cns[i].attr("rotate").disconnect() - pm.connectAttr(blend_node+".output", self.div_cns[i]+".rotate") - elif i == self.settings["division"] - 1 : - dm_node = nod.createDecomposeMatrixNode(self.ik1_ctl+".worldMatrix") - blend_node = nod.createBlendNode([dm_node+".outputRotate%s"%s for s in "XYZ"], [cns+".rotate%s"%s for s in "XYZ"], self.lock_ori1_att) + pm.connectAttr(blend_node + ".output", + self.div_cns[i] + ".rotate") + + elif i == self.settings["division"] - 1: + dm_node = node.createDecomposeMatrixNode( + self.ik1_ctl + ".worldMatrix") + + blend_node = node.createBlendNode( + [dm_node + ".outputRotate%s" % s for s in "XYZ"], + [cns + ".rotate%s" % s for s in "XYZ"], + self.lock_ori1_att) + self.div_cns[i].attr("rotate").disconnect() - pm.connectAttr(blend_node+".output", self.div_cns[i]+".rotate") + pm.connectAttr(blend_node + ".output", + self.div_cns[i] + ".rotate") # Connections (Hooks) ------------------------------ @@ -341,9 +614,8 @@ def addOperators(self): # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.cnx0 self.relatives["eff"] = self.cnx1 diff --git a/scripts/mgear/maya/shifter/component/spine_ik_01/guide.py b/scripts/mgear/maya/shifter/component/spine_ik_01/guide.py index 22ce3c1..363f0d5 100644 --- a/scripts/mgear/maya/shifter/component/spine_ik_01/guide.py +++ b/scripts/mgear/maya/shifter/component/spine_ik_01/guide.py @@ -1,51 +1,21 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# +"""Guide Spine IK 01 module""" + from functools import partial -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [2,0,0] +VERSION = [2, 0, 0] TYPE = "spine_ik_01" NAME = "spine" DESCRIPTION = """An ik spine with an over top layer of fk controllers @@ -56,7 +26,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -67,30 +40,24 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "eff"] self.save_blade = ["blade"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [0,4,0]) + vTemp = transform.getOffsetPosition(self.root, [0, 4, 0]) self.eff = self.addLoc("eff", self.root, vTemp) self.blade = self.addBlade("blade", self.root, self.eff) centers = [self.root, self.eff] self.dispcrv = self.addDispCurve("crv", centers) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" # Default values self.pPosition = self.addParam("position", "double", 0, 0, 1) @@ -105,35 +72,41 @@ def addParameters(self): self.pCentralTangent = self.addParam("centralTangent", "bool", False) # FCurves - self.pSt_profile = self.addFCurveParam("st_profile", [[0,0],[.5,-1],[1,0]]) - self.pSq_profile = self.addFCurveParam("sq_profile", [[0,0],[.5,1],[1,0]]) + self.pSt_profile = self.addFCurveParam( + "st_profile", [[0, 0], [.5, -1], [1, 0]]) - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pSq_profile = self.addFCurveParam( + "sq_profile", [[0, 0], [.5, 1], [1, 0]]) + self.pUseIndex = self.addParam("useIndex", "bool", False) + + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) ########################################################## # Setting Page ########################################################## + class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -141,7 +114,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -151,28 +124,40 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - self.settingsTab.softness_slider.setValue(int(self.root.attr("softness").get()*100)) - self.settingsTab.position_spinBox.setValue(int(self.root.attr("position").get()*100)) - self.settingsTab.position_slider.setValue(int(self.root.attr("position").get()*100)) - self.settingsTab.lockOri_spinBox.setValue(int(self.root.attr("lock_ori").get()*100)) - self.settingsTab.lockOri_slider.setValue(int(self.root.attr("lock_ori").get()*100)) - self.settingsTab.softness_spinBox.setValue(int(self.root.attr("softness").get()*100)) - self.settingsTab.maxStretch_spinBox.setValue(self.root.attr("maxstretch").get()) - self.settingsTab.maxSquash_spinBox.setValue(self.root.attr("maxsquash").get()) - self.settingsTab.division_spinBox.setValue(self.root.attr("division").get()) + # populate component settings + self.settingsTab.softness_slider.setValue( + int(self.root.attr("softness").get() * 100)) + self.settingsTab.position_spinBox.setValue( + int(self.root.attr("position").get() * 100)) + self.settingsTab.position_slider.setValue( + int(self.root.attr("position").get() * 100)) + self.settingsTab.lockOri_spinBox.setValue( + int(self.root.attr("lock_ori").get() * 100)) + self.settingsTab.lockOri_slider.setValue( + int(self.root.attr("lock_ori").get() * 100)) + self.settingsTab.softness_spinBox.setValue( + int(self.root.attr("softness").get() * 100)) + self.settingsTab.maxStretch_spinBox.setValue( + self.root.attr("maxstretch").get()) + self.settingsTab.maxSquash_spinBox.setValue( + self.root.attr("maxsquash").get()) + self.settingsTab.division_spinBox.setValue( + self.root.attr("division").get()) + self.populateCheck(self.settingsTab.autoBend_checkBox, "autoBend") - self.populateCheck(self.settingsTab.centralTangent_checkBox, "centralTangent") + self.populateCheck(self.settingsTab.centralTangent_checkBox, + "centralTangent") def create_componentLayout(self): @@ -184,20 +169,52 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.softness_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.softness_slider, "softness")) - self.settingsTab.softness_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.softness_spinBox, "softness")) - self.settingsTab.position_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.position_slider, "position")) - self.settingsTab.position_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.position_spinBox, "position")) - self.settingsTab.lockOri_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.lockOri_slider, "lock_ori")) - self.settingsTab.lockOri_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.lockOri_spinBox, "lock_ori")) - self.settingsTab.maxStretch_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxStretch_spinBox, "maxstretch")) - self.settingsTab.maxSquash_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxSquash_spinBox, "maxsquash")) - self.settingsTab.division_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.division_spinBox, "division")) - self.settingsTab.autoBend_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.autoBend_checkBox, "autoBend")) - self.settingsTab.centralTangent_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.centralTangent_checkBox, "centralTangent")) - self.settingsTab.squashStretchProfile_pushButton.clicked.connect(self.setProfile) - - + self.settingsTab.softness_slider.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.softness_slider, + "softness")) + self.settingsTab.softness_spinBox.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.softness_spinBox, + "softness")) + self.settingsTab.position_slider.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.position_slider, + "position")) + self.settingsTab.position_spinBox.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.position_spinBox, + "position")) + self.settingsTab.lockOri_slider.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.lockOri_slider, + "lock_ori")) + self.settingsTab.lockOri_spinBox.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.lockOri_spinBox, + "lock_ori")) + self.settingsTab.maxStretch_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxStretch_spinBox, + "maxstretch")) + self.settingsTab.maxSquash_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxSquash_spinBox, + "maxsquash")) + self.settingsTab.division_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.division_spinBox, + "division")) + self.settingsTab.autoBend_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.autoBend_checkBox, + "autoBend")) + self.settingsTab.centralTangent_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.centralTangent_checkBox, + "centralTangent")) + self.settingsTab.squashStretchProfile_pushButton.clicked.connect( + self.setProfile) def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/spine_ik_02/__init__.py b/scripts/mgear/maya/shifter/component/spine_ik_02/__init__.py index 5fb567a..47c74f7 100644 --- a/scripts/mgear/maya/shifter/component/spine_ik_02/__init__.py +++ b/scripts/mgear/maya/shifter/component/spine_ik_02/__init__.py @@ -1,132 +1,234 @@ -# MGEAR is under the terms of the MIT License +"""Component Spine IK 02 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# -# Maya import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya.shifter import component -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec -import mgear.maya.applyop as aop -import mgear.maya.curve as cur -import mgear.maya.fcurve as fcu +from mgear.maya import node, fcurve, applyop, vector, curve +from mgear.maya import attribute, transform, primitive ############################################# # COMPONENT ############################################# -class Component(MainComponent): + +class Component(component.Main): + """Shifter component Class""" + + # ===================================================== + # OBJECTS + # ===================================================== def addObjects(self): + """Add all the objects needed to create the component.""" - # Auto bend with position controls ------------------------------------ + # Auto bend with position controls ------------------- if self.settings["autoBend"]: - self.autoBendChain= pri.add2DChain(self.root, self.getName("autoBend%s_jnt"), [self.guide.apos[0],self.guide.apos[1]], self.guide.blades["blade"].z*-1, False, True) + self.autoBendChain = primitive.add2DChain( + self.root, + self.getName("autoBend%s_jnt"), + [self.guide.apos[0], self.guide.apos[1]], + self.guide.blades["blade"].z * -1, + False, + True) + for j in self.autoBendChain: j.drawStyle.set(2) # Ik Controlers ------------------------------------ - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.guide.blades["blade"].z*-1, "yx", self.negate) - self.ik0_npo = pri.addTransform(self.root, self.getName("ik0_npo"), t) - self.ik0_ctl = self.addCtl(self.ik0_npo, "ik0_ctl", t, self.color_ik, "compas", w=self.size, tp=self.parentCtlTag) - att.setKeyableAttributes(self.ik0_ctl, self.tr_params) - att.setRotOrder(self.ik0_ctl, "ZXY") - att.setInvertMirror(self.ik0_ctl, ["tx", "ry", "rz"]) + t = transform.getTransformLookingAt( + self.guide.apos[0], + self.guide.apos[1], + self.guide.blades["blade"].z * -1, + "yx", + self.negate) + + self.ik0_npo = primitive.addTransform( + self.root, self.getName("ik0_npo"), t) + self.ik0_ctl = self.addCtl(self.ik0_npo, + "ik0_ctl", + t, + self.color_ik, + "compas", + w=self.size, + tp=self.parentCtlTag) + + attribute.setKeyableAttributes(self.ik0_ctl, self.tr_params) + attribute.setRotOrder(self.ik0_ctl, "ZXY") + attribute.setInvertMirror(self.ik0_ctl, ["tx", "ry", "rz"]) # hip base joint # TODO: add option in setting for on/off if True: - self.hip_lvl = pri.addTransform(self.ik0_ctl, self.getName("hip_lvl"), t) + self.hip_lvl = primitive.addTransform( + self.ik0_ctl, self.getName("hip_lvl"), t) self.jnt_pos.append([self.hip_lvl, "hip"]) - t = tra.setMatrixPosition(t, self.guide.apos[1]) + t = transform.setMatrixPosition(t, self.guide.apos[1]) if self.settings["autoBend"]: - self.autoBend_npo = pri.addTransform(self.root, self.getName("spinePosition_npo"), t) - self.autoBend_ctl = self.addCtl(self.autoBend_npo, "spinePosition_ctl", t, self.color_ik, "square", w=self.size, d=.3*self.size, tp=self.parentCtlTag) - att.setKeyableAttributes(self.autoBend_ctl, ["tx", "ty", "tz", "ry"]) - att.setInvertMirror(self.autoBend_ctl, ["tx", "ry"]) - - self.ik1_npo = pri.addTransform(self.autoBendChain[0], self.getName("ik1_npo"), t) - self.ik1autoRot_lvl = pri.addTransform(self.ik1_npo, self.getName("ik1autoRot_lvl"), t) - self.ik1_ctl = self.addCtl(self.ik1autoRot_lvl, "ik1_ctl", t, self.color_ik, "compas", w=self.size, tp=self.autoBend_ctl) + self.autoBend_npo = primitive.addTransform( + self.root, self.getName("spinePosition_npo"), t) + + self.autoBend_ctl = self.addCtl(self.autoBend_npo, + "spinePosition_ctl", + t, + self.color_ik, + "square", + w=self.size, + d=.3 * self.size, + tp=self.parentCtlTag) + + attribute.setKeyableAttributes(self.autoBend_ctl, + ["tx", "ty", "tz", "ry"]) + + attribute.setInvertMirror(self.autoBend_ctl, ["tx", "ry"]) + + self.ik1_npo = primitive.addTransform( + self.autoBendChain[0], self.getName("ik1_npo"), t) + + self.ik1autoRot_lvl = primitive.addTransform( + self.ik1_npo, self.getName("ik1autoRot_lvl"), t) + + self.ik1_ctl = self.addCtl(self.ik1autoRot_lvl, + "ik1_ctl", + t, + self.color_ik, + "compas", + w=self.size, + tp=self.autoBend_ctl) else: - t = tra.setMatrixPosition(t, self.guide.apos[1]) - self.ik1_npo = pri.addTransform(self.root, self.getName("ik1_npo"), t) - self.ik1_ctl = self.addCtl(self.ik1_npo, "ik1_ctl", t, self.color_ik, "compas", w=self.size, tp=self.ik0_ctl) - - att.setKeyableAttributes(self.ik1_ctl, self.tr_params) - att.setRotOrder(self.ik1_ctl, "ZXY") - att.setInvertMirror(self.ik1_ctl, ["tx", "ry", "rz"]) + t = transform.setMatrixPosition(t, self.guide.apos[1]) + self.ik1_npo = primitive.addTransform( + self.root, self.getName("ik1_npo"), t) + + self.ik1_ctl = self.addCtl(self.ik1_npo, + "ik1_ctl", + t, + self.color_ik, + "compas", + w=self.size, + tp=self.ik0_ctl) + + attribute.setKeyableAttributes(self.ik1_ctl, self.tr_params) + attribute.setRotOrder(self.ik1_ctl, "ZXY") + attribute.setInvertMirror(self.ik1_ctl, ["tx", "ry", "rz"]) # Tangent controllers ------------------------------- if self.settings["centralTangent"]: - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .33)) - self.tan0_npo = pri.addTransform(self.ik0_ctl, self.getName("tan0_npo"), t) - self.tan0_off = pri.addTransform(self.tan0_npo, self.getName("tan0_off"), t) - self.tan0_ctl = self.addCtl(self.tan0_off, "tan0_ctl", t, self.color_ik, "sphere", w=self.size*.1, tp=self.ik0_ctl) - att.setKeyableAttributes(self.tan0_ctl, self.t_params) - - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .66)) - self.tan1_npo = pri.addTransform(self.ik1_ctl, self.getName("tan1_npo"), t) - self.tan1_off = pri.addTransform(self.tan1_npo, self.getName("tan1_off"), t) - self.tan1_ctl = self.addCtl(self.tan1_off, "tan1_ctl", t, self.color_ik, "sphere", w=self.size*.1, tp=self.ik0_ctl) - att.setKeyableAttributes(self.tan1_ctl, self.t_params) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .33) + t = transform.setMatrixPosition(t, vec_pos) + + self.tan0_npo = primitive.addTransform( + self.ik0_ctl, self.getName("tan0_npo"), t) + + self.tan0_off = primitive.addTransform( + self.tan0_npo, self.getName("tan0_off"), t) + + self.tan0_ctl = self.addCtl(self.tan0_off, + "tan0_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .1, + tp=self.ik0_ctl) + + attribute.setKeyableAttributes(self.tan0_ctl, self.t_params) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .66) + + t = transform.setMatrixPosition(t, vec_pos) + + self.tan1_npo = primitive.addTransform( + self.ik1_ctl, self.getName("tan1_npo"), t) + + self.tan1_off = primitive.addTransform( + self.tan1_npo, self.getName("tan1_off"), t) + + self.tan1_ctl = self.addCtl(self.tan1_off, + "tan1_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .1, + tp=self.ik0_ctl) + + attribute.setKeyableAttributes(self.tan1_ctl, self.t_params) # Tangent mid control - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .5)) - self.tan_npo = pri.addTransform(self.tan0_npo, self.getName("tan_npo"), t) - self.tan_ctl = self.addCtl(self.tan_npo, "tan_ctl", t, self.color_fk, "sphere", w=self.size*.2, tp=self.ik1_ctl) - att.setKeyableAttributes(self.tan_ctl, self.t_params) - att.setInvertMirror(self.tan_ctl, ["tx"]) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .5) + t = transform.setMatrixPosition(t, vec_pos) + + self.tan_npo = primitive.addTransform( + self.tan0_npo, self.getName("tan_npo"), t) + + self.tan_ctl = self.addCtl(self.tan_npo, + "tan_ctl", + t, + self.color_fk, + "sphere", + w=self.size * .2, + tp=self.ik1_ctl) + + attribute.setKeyableAttributes(self.tan_ctl, self.t_params) + attribute.setInvertMirror(self.tan_ctl, ["tx"]) else: - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .33)) - self.tan0_npo = pri.addTransform(self.ik0_ctl, self.getName("tan0_npo"), t) - self.tan0_ctl = self.addCtl(self.tan0_npo, "tan0_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.ik0_ctl) - att.setKeyableAttributes(self.tan0_ctl, self.t_params) + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .33) + + t = transform.setMatrixPosition(t, vec_pos) + + self.tan0_npo = primitive.addTransform( + self.ik0_ctl, self.getName("tan0_npo"), t) - t = tra.setMatrixPosition(t, vec.linearlyInterpolate(self.guide.apos[0], self.guide.apos[1], .66)) - self.tan1_npo = pri.addTransform(self.ik1_ctl, self.getName("tan1_npo"), t) - self.tan1_ctl = self.addCtl(self.tan1_npo, "tan1_ctl", t, self.color_ik, "sphere", w=self.size*.2, tp=self.ik1_ctl) - att.setKeyableAttributes(self.tan1_ctl, self.t_params) + self.tan0_ctl = self.addCtl(self.tan0_npo, + "tan0_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.ik0_ctl) - att.setInvertMirror(self.tan0_ctl, ["tx"]) - att.setInvertMirror(self.tan1_ctl, ["tx"]) + attribute.setKeyableAttributes(self.tan0_ctl, self.t_params) + + vec_pos = vector.linearlyInterpolate(self.guide.apos[0], + self.guide.apos[1], + .66) + + t = transform.setMatrixPosition(t, vec_pos) + + self.tan1_npo = primitive.addTransform( + self.ik1_ctl, self.getName("tan1_npo"), t) + + self.tan1_ctl = self.addCtl(self.tan1_npo, + "tan1_ctl", + t, + self.color_ik, + "sphere", + w=self.size * .2, + tp=self.ik1_ctl) + + attribute.setKeyableAttributes(self.tan1_ctl, self.t_params) + + attribute.setInvertMirror(self.tan0_ctl, ["tx"]) + attribute.setInvertMirror(self.tan1_ctl, ["tx"]) # Curves ------------------------------------------- - self.mst_crv = cur.addCnsCurve(self.root, self.getName("mst_crv"), [self.ik0_ctl, self.tan0_ctl, self.tan1_ctl, self.ik1_ctl], 3) - self.slv_crv = cur.addCurve(self.root, self.getName("slv_crv"), [dt.Vector()]*10, False, 3) + self.mst_crv = curve.addCnsCurve( + self.root, + self.getName("mst_crv"), + [self.ik0_ctl, self.tan0_ctl, self.tan1_ctl, self.ik1_ctl], + 3) + self.slv_crv = curve.addCurve(self.root, self.getName("slv_crv"), + [datatypes.Vector()] * 10, + False, + 3) self.mst_crv.setAttr("visibility", False) self.slv_crv.setAttr("visibility", False) @@ -142,213 +244,372 @@ def addObjects(self): self.twister = [] self.ref_twist = [] - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.guide.blades["blade"].z*-1, "yx", self.negate) - parent_twistRef = pri.addTransform(self.root, self.getName("reference"), tra.getTransform(self.root)) + t = transform.getTransformLookingAt( + self.guide.apos[0], + self.guide.apos[1], + self.guide.blades["blade"].z * -1, + "yx", + self.negate) + + parent_twistRef = primitive.addTransform( + self.root, + self.getName("reference"), + transform.getTransform(self.root)) self.jointList = [] self.preiviousCtlTag = self.parentCtlTag for i in range(self.settings["division"]): # References - div_cns = pri.addTransform(parentdiv, self.getName("%s_cns"%i)) - pm.setAttr(div_cns+".inheritsTransform", False) + div_cns = primitive.addTransform(parentdiv, + self.getName("%s_cns" % i)) + pm.setAttr(div_cns + ".inheritsTransform", False) self.div_cns.append(div_cns) parentdiv = div_cns # Controlers (First and last one are fake) # if i in [0]: - # TODO: add option setting to add or not the first and last controller for the fk + # TODO: add option setting to add or not the first and + # last controller for the fk if i in [0, self.settings["division"] - 1] and False: - # if i in [0, self.settings["division"] - 1]: - fk_ctl = pri.addTransform(parentctl, self.getName("%s_loc"%i), tra.getTransform(parentctl)) + # if i in [0, self.settings["division"] - 1]: + fk_ctl = primitive.addTransform( + parentctl, + self.getName("%s_loc" % i), + transform.getTransform(parentctl)) + fk_npo = fk_ctl - if i in [ self.settings["division"] - 1]: + if i in [self.settings["division"] - 1]: self.fk_ctl.append(fk_ctl) else: - # fk_npo = pri.addTransform(parentctl, self.getName("fk%s_npo"%(i-1)), tra.getTransform(parentctl)) - fk_npo = pri.addTransform(parentctl, self.getName("fk%s_npo"%(i)), tra.getTransform(parentctl)) - fk_ctl = self.addCtl(fk_npo, "fk%s_ctl"%(i), tra.getTransform(parentctl), self.color_fk, "cube", w=self.size, h=self.size*.05, d=self.size, tp=self.preiviousCtlTag) - # fk_ctl = self.addCtl(fk_npo, "fk%s_ctl"%(i-1), tra.getTransform(parentctl), self.color_fk, "cube", w=self.size, h=self.size*.05, d=self.size, tp=self.preiviousCtlTag) - att.setKeyableAttributes(self.fk_ctl) - att.setRotOrder(fk_ctl, "ZXY") + fk_npo = primitive.addTransform( + parentctl, + self.getName("fk%s_npo" % (i)), + transform.getTransform(parentctl)) + + fk_ctl = self.addCtl(fk_npo, + "fk%s_ctl" % (i), + transform.getTransform(parentctl), + self.color_fk, + "cube", + w=self.size, + h=self.size * .05, + d=self.size, + tp=self.preiviousCtlTag) + + attribute.setKeyableAttributes(self.fk_ctl) + attribute.setRotOrder(fk_ctl, "ZXY") self.fk_ctl.append(fk_ctl) self.preiviousCtlTag = fk_ctl # setAttr(fk_npo+".inheritsTransform", False) self.fk_npo.append(fk_npo) parentctl = fk_ctl - scl_ref = pri.addTransform(parentctl, self.getName("%s_scl_ref"%i), tra.getTransform(parentctl)) + scl_ref = primitive.addTransform(parentctl, + self.getName("%s_scl_ref" % i), + transform.getTransform(parentctl)) + self.scl_transforms.append(scl_ref) # Deformers (Shadow) self.jnt_pos.append([scl_ref, i]) - #Twist references (This objects will replace the spinlookup slerp solver behavior) - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.guide.blades["blade"].z*-1, "yx", self.negate) - twister = pri.addTransform(parent_twistRef, self.getName("%s_rot_ref"%i), t) - ref_twist = pri.addTransform(parent_twistRef, self.getName("%s_pos_ref"%i), t) - ref_twist.setTranslation(dt.Vector(1.0,0,0), space="preTransform") + # Twist references (This objects will replace the spinlookup + # slerp solver behavior) + t = transform.getTransformLookingAt( + self.guide.apos[0], + self.guide.apos[1], + self.guide.blades["blade"].z * -1, + "yx", + self.negate) + + twister = primitive.addTransform( + parent_twistRef, self.getName("%s_rot_ref" % i), t) + + ref_twist = primitive.addTransform( + parent_twistRef, self.getName("%s_pos_ref" % i), t) + + ref_twist.setTranslation( + datatypes.Vector(1.0, 0, 0), space="preTransform") self.twister.append(twister) self.ref_twist.append(ref_twist) - #TODO: update this part with the optiona FK controls update - for x in self.fk_ctl[:-1]: - att.setInvertMirror(x, ["tx", "rz", "ry"]) + # TODO: update this part with the optiona FK controls update + for x in self.fk_ctl[:-1]: + attribute.setInvertMirror(x, ["tx", "rz", "ry"]) # Connections (Hooks) ------------------------------ - self.cnx0 = pri.addTransform(self.root, self.getName("0_cnx")) - self.cnx1 = pri.addTransform(self.root, self.getName("1_cnx")) + self.cnx0 = primitive.addTransform(self.root, self.getName("0_cnx")) + self.cnx1 = primitive.addTransform(self.root, self.getName("1_cnx")) def addAttributes(self): # Anim ------------------------------------------- - self.position_att = self.addAnimParam("position", "Position", "double", self.settings["position"], 0, 1) - self.maxstretch_att = self.addAnimParam("maxstretch", "Max Stretch", "double", self.settings["maxstretch"], 1) - self.maxsquash_att = self.addAnimParam("maxsquash", "Max Squash", "double", self.settings["maxsquash"], 0, 1) - self.softness_att = self.addAnimParam("softness", "Softness", "double", self.settings["softness"], 0, 1) - - self.lock_ori0_att = self.addAnimParam("lock_ori0", "Lock Ori 0", "double", self.settings["lock_ori"], 0, 1) - self.lock_ori1_att = self.addAnimParam("lock_ori1", "Lock Ori 1", "double", self.settings["lock_ori"], 0, 1) + self.position_att = self.addAnimParam( + "position", "Position", "double", self.settings["position"], 0, 1) + + self.maxstretch_att = self.addAnimParam("maxstretch", + "Max Stretch", + "double", + self.settings["maxstretch"], + 1) + + self.maxsquash_att = self.addAnimParam("maxsquash", + "Max Squash", + "double", + self.settings["maxsquash"], + 0, + 1) + + self.softness_att = self.addAnimParam( + "softness", "Softness", "double", self.settings["softness"], 0, 1) + + self.lock_ori0_att = self.addAnimParam("lock_ori0", + "Lock Ori 0", + "double", + self.settings["lock_ori"], + 0, + 1) + + self.lock_ori1_att = self.addAnimParam("lock_ori1", + "Lock Ori 1", + "double", + self.settings["lock_ori"], + 0, + 1) self.tan0_att = self.addAnimParam("tan0", "Tangent 0", "double", 1, 0) self.tan1_att = self.addAnimParam("tan1", "Tangent 1", "double", 1, 0) # Volume - self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) + self.volume_att = self.addAnimParam( + "volume", "Volume", "double", 1, 0, 1) if self.settings["autoBend"]: - self.sideBend_att = self.addAnimParam("sideBend", "Side Bend", "double", .5, 0, 2) - self.frontBend_att = self.addAnimParam("frontBend", "Front Bend", "double", .5, 0, 2) + self.sideBend_att = self.addAnimParam( + "sideBend", "Side Bend", "double", .5, 0, 2) + + self.frontBend_att = self.addAnimParam( + "frontBend", "Front Bend", "double", .5, 0, 2) # Setup ------------------------------------------ # Eval Fcurve - self.st_value = fcu.getFCurveValues(self.settings["st_profile"], self.settings["division"]) - self.sq_value = fcu.getFCurveValues(self.settings["sq_profile"], self.settings["division"]) - - self.st_att = [ self.addSetupParam("stretch_%s"%i, "Stretch %s"%i, "double", self.st_value[i], -1, 0) for i in range(self.settings["division"]) ] - self.sq_att = [ self.addSetupParam("squash_%s"%i, "Squash %s"%i, "double", self.sq_value[i], 0, 1) for i in range(self.settings["division"]) ] + self.st_value = fcurve.getFCurveValues( + self.settings["st_profile"], self.settings["division"]) + + self.sq_value = fcurve.getFCurveValues( + self.settings["sq_profile"], self.settings["division"]) + + self.st_att = [self.addSetupParam("stretch_%s" % i, + "Stretch %s" % i, + "double", + self.st_value[i], + -1, + 0) + for i in range(self.settings["division"])] + + self.sq_att = [self.addSetupParam("squash_%s" % i, + "Squash %s" % i, + "double", + self.sq_value[i], + 0, + 1) + for i in range(self.settings["division"])] + # ===================================================== + # OPERATORS + # ===================================================== def addOperators(self): + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ # Auto bend ---------------------------- if self.settings["autoBend"]: - mul_node = nod.createMulNode([self.autoBendChain[0].ry, self.autoBendChain[0].rz ], [self.sideBend_att, self.frontBend_att]) + mul_node = node.createMulNode( + [self.autoBendChain[0].ry, self.autoBendChain[0].rz], + [self.sideBend_att, self.frontBend_att]) + mul_node.outputX >> self.ik1autoRot_lvl.rz mul_node.outputY >> self.ik1autoRot_lvl.rx - self.ikHandleAutoBend = pri.addIkHandle(self.autoBend_ctl, self.getName("ikHandleAutoBend"), self.autoBendChain, "ikSCsolver") - + self.ikHandleAutoBend = primitive.addIkHandle( + self.autoBend_ctl, + self.getName("ikHandleAutoBend"), + self.autoBendChain, + "ikSCsolver") # Tangent position --------------------------------- # common part - d = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) - dist_node = nod.createDistNode(self.ik0_ctl, self.ik1_ctl) - rootWorld_node = nod.createDecomposeMatrixNode(self.root.attr("worldMatrix")) - div_node = nod.createDivNode(dist_node+".distance", rootWorld_node+".outputScaleX") - div_node = nod.createDivNode(div_node+".outputX", d) + d = vector.getDistance(self.guide.apos[0], self.guide.apos[1]) + dist_node = node.createDistNode(self.ik0_ctl, self.ik1_ctl) + rootWorld_node = node.createDecomposeMatrixNode( + self.root.attr("worldMatrix")) + + div_node = node.createDivNode(dist_node + ".distance", + rootWorld_node + ".outputScaleX") + + div_node = node.createDivNode(div_node + ".outputX", d) # tan0 - mul_node = nod.createMulNode(self.tan0_att, self.tan0_npo.getAttr("ty")) - res_node = nod.createMulNode(mul_node+".outputX", div_node+".outputX") - pm.connectAttr( res_node+".outputX", self.tan0_npo.attr("ty")) + mul_node = node.createMulNode(self.tan0_att, + self.tan0_npo.getAttr("ty")) + + res_node = node.createMulNode(mul_node + ".outputX", + div_node + ".outputX") + + pm.connectAttr(res_node + ".outputX", self.tan0_npo.attr("ty")) # tan1 - mul_node = nod.createMulNode(self.tan1_att, self.tan1_npo.getAttr("ty")) - res_node = nod.createMulNode(mul_node+".outputX", div_node+".outputX") - pm.connectAttr( res_node+".outputX", self.tan1_npo.attr("ty")) + mul_node = node.createMulNode(self.tan1_att, + self.tan1_npo.getAttr("ty")) + + res_node = node.createMulNode(mul_node + ".outputX", + div_node + ".outputX") + + pm.connectAttr(res_node + ".outputX", self.tan1_npo.attr("ty")) # Tangent Mid -------------------------------------- if self.settings["centralTangent"]: - tanIntMat = aop.gear_intmatrix_op(self.tan0_npo.attr("worldMatrix"), self.tan1_npo.attr("worldMatrix"), .5) - aop.gear_mulmatrix_op(tanIntMat.attr("output"), self.tan_npo.attr("parentInverseMatrix[0]"), self.tan_npo) - pm.connectAttr(self.tan_ctl.attr("translate"), self.tan0_off.attr("translate")) - pm.connectAttr(self.tan_ctl.attr("translate"), self.tan1_off.attr("translate")) + tanIntMat = applyop.gear_intmatrix_op( + self.tan0_npo.attr("worldMatrix"), + self.tan1_npo.attr("worldMatrix"), + .5) + applyop.gear_mulmatrix_op( + tanIntMat.attr("output"), + self.tan_npo.attr("parentInverseMatrix[0]"), + self.tan_npo) + + pm.connectAttr(self.tan_ctl.attr("translate"), + self.tan0_off.attr("translate")) + + pm.connectAttr(self.tan_ctl.attr("translate"), + self.tan1_off.attr("translate")) # Curves ------------------------------------------- - op = aop.gear_curveslide2_op(self.slv_crv, self.mst_crv, 0, 1.5, .5, .5) + op = applyop.gear_curveslide2_op( + self.slv_crv, self.mst_crv, 0, 1.5, .5, .5) - pm.connectAttr(self.position_att, op+".position") - pm.connectAttr(self.maxstretch_att, op+".maxstretch") - pm.connectAttr(self.maxsquash_att, op+".maxsquash") - pm.connectAttr(self.softness_att, op+".softness") + pm.connectAttr(self.position_att, op + ".position") + pm.connectAttr(self.maxstretch_att, op + ".maxstretch") + pm.connectAttr(self.maxsquash_att, op + ".maxsquash") + pm.connectAttr(self.softness_att, op + ".softness") # Volume driver ------------------------------------ - crv_node = nod.createCurveInfoNode(self.slv_crv) + crv_node = node.createCurveInfoNode(self.slv_crv) # Division ----------------------------------------- for i in range(self.settings["division"]): # References u = i / (self.settings["division"] - 1.0) - if i == 0: # we add extra 10% to the first vertebra - u =( 1.0 / (self.settings["division"] - 1.0)) /10 + if i == 0: # we add extra 10% to the first vertebra + u = (1.0 / (self.settings["division"] - 1.0)) / 10 - cns = aop.pathCns(self.div_cns[i], self.slv_crv, False, u, True) - cns.setAttr("frontAxis", 1)# front axis is 'Y' - cns.setAttr("upAxis", 0)# front axis is 'X' + cns = applyop.pathCns( + self.div_cns[i], self.slv_crv, False, u, True) - # Roll - intMatrix = aop.gear_intmatrix_op(self.ik0_ctl+".worldMatrix", self.ik1_ctl+".worldMatrix", u) - dm_node = nod.createDecomposeMatrixNode(intMatrix+".output") - pm.connectAttr(dm_node+".outputRotate", self.twister[i].attr("rotate")) + cns.setAttr("frontAxis", 1) # front axis is 'Y' + cns.setAttr("upAxis", 0) # front axis is 'X' + # Roll + intMatrix = applyop.gear_intmatrix_op( + self.ik0_ctl + ".worldMatrix", + self.ik1_ctl + ".worldMatrix", + u) - pm.parentConstraint(self.twister[i], self.ref_twist[i], maintainOffset=True) - + dm_node = node.createDecomposeMatrixNode(intMatrix + ".output") + pm.connectAttr(dm_node + ".outputRotate", + self.twister[i].attr("rotate")) - pm.connectAttr(self.ref_twist[i]+".translate", cns+".worldUpVector") + pm.parentConstraint(self.twister[i], + self.ref_twist[i], + maintainOffset=True) - #compensate scale reference - div_node = nod.createDivNode([1,1,1], [rootWorld_node+".outputScaleX", rootWorld_node+".outputScaleY", rootWorld_node+".outputScaleZ"]) + pm.connectAttr(self.ref_twist[i] + ".translate", + cns + ".worldUpVector") + # compensate scale reference + div_node = node.createDivNode([1, 1, 1], + [rootWorld_node + ".outputScaleX", + rootWorld_node + ".outputScaleY", + rootWorld_node + ".outputScaleZ"]) # Squash n Stretch - op = aop.gear_squashstretch2_op(self.scl_transforms[i], self.root, pm.arclen(self.slv_crv), "y", div_node+".output" ) - pm.connectAttr(self.volume_att, op+".blend") - pm.connectAttr(crv_node+".arcLength", op+".driver") - pm.connectAttr(self.st_att[i], op+".stretch") - pm.connectAttr(self.sq_att[i], op+".squash") + op = applyop.gear_squashstretch2_op(self.scl_transforms[i], + self.root, + pm.arclen(self.slv_crv), + "y", + div_node + ".output") + + pm.connectAttr(self.volume_att, op + ".blend") + pm.connectAttr(crv_node + ".arcLength", op + ".driver") + pm.connectAttr(self.st_att[i], op + ".stretch") + pm.connectAttr(self.sq_att[i], op + ".squash") # Controlers if i == 0: - mulmat_node = aop.gear_mulmatrix_op(self.div_cns[i].attr("worldMatrix"), - self.root.attr("worldInverseMatrix")) - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") - pm.connectAttr(dm_node+".outputTranslate", self.fk_npo[i].attr("t")) + mulmat_node = applyop.gear_mulmatrix_op( + self.div_cns[i].attr("worldMatrix"), + self.root.attr("worldInverseMatrix")) + + dm_node = node.createDecomposeMatrixNode( + mulmat_node + ".output") + + pm.connectAttr(dm_node + ".outputTranslate", + self.fk_npo[i].attr("t")) else: - mulmat_node = aop.gear_mulmatrix_op(self.div_cns[i].attr("worldMatrix"), - self.div_cns[i - 1].attr("worldInverseMatrix")) - dm_node = nod.createDecomposeMatrixNode(mulmat_node+".output") - mul_node = nod.createMulNode(div_node+".output", dm_node+".outputTranslate") - pm.connectAttr(mul_node+".output", self.fk_npo[i].attr("t")) + mulmat_node = applyop.gear_mulmatrix_op( + self.div_cns[i].attr("worldMatrix"), + self.div_cns[i - 1].attr("worldInverseMatrix")) + + dm_node = node.createDecomposeMatrixNode( + mulmat_node + ".output") - pm.connectAttr(dm_node+".outputRotate", self.fk_npo[i].attr("r")) + mul_node = node.createMulNode(div_node + ".output", + dm_node + ".outputTranslate") + pm.connectAttr(mul_node + ".output", self.fk_npo[i].attr("t")) + pm.connectAttr(dm_node + ".outputRotate", self.fk_npo[i].attr("r")) # Orientation Lock - if i == 0 : - dm_node = nod.createDecomposeMatrixNode(self.ik0_ctl+".worldMatrix") - blend_node = nod.createBlendNode([dm_node+".outputRotate%s"%s for s in "XYZ"], [cns+".rotate%s"%s for s in "XYZ"], self.lock_ori0_att) - self.div_cns[i].attr("rotate").disconnect() - pm.connectAttr(blend_node+".output", self.div_cns[i]+".rotate") - elif i == self.settings["division"] - 1 : - dm_node = nod.createDecomposeMatrixNode(self.ik1_ctl+".worldMatrix") - blend_node = nod.createBlendNode([dm_node+".outputRotate%s"%s for s in "XYZ"], [cns+".rotate%s"%s for s in "XYZ"], self.lock_ori1_att) + if i == 0: + dm_node = node.createDecomposeMatrixNode( + self.ik0_ctl + ".worldMatrix") + + blend_node = node.createBlendNode( + [dm_node + ".outputRotate%s" % s for s in "XYZ"], + [cns + ".rotate%s" % s for s in "XYZ"], + self.lock_ori0_att) + self.div_cns[i].attr("rotate").disconnect() - pm.connectAttr(blend_node+".output", self.div_cns[i]+".rotate") - # hip lvl position - # pm.pointConstraint(self.scl_transforms[0], self.hip_lvl, mo) + pm.connectAttr(blend_node + ".output", + self.div_cns[i] + ".rotate") - # Connections (Hooks) ------------------------------ + elif i == self.settings["division"] - 1: + dm_node = node.createDecomposeMatrixNode( + self.ik1_ctl + ".worldMatrix") - # pm.parentConstraint(self.scl_transforms[0], self.cnx0) + blend_node = node.createBlendNode( + [dm_node + ".outputRotate%s" % s for s in "XYZ"], + [cns + ".rotate%s" % s for s in "XYZ"], + self.lock_ori1_att) + + self.div_cns[i].attr("rotate").disconnect() + pm.connectAttr(blend_node + ".output", + self.div_cns[i] + ".rotate") + + # Connections (Hooks) ------------------------------ pm.parentConstraint(self.hip_lvl, self.cnx0) - # pm.scaleConstraint(self.scl_transforms[0], self.cnx0) pm.scaleConstraint(self.hip_lvl, self.cnx0) pm.parentConstraint(self.scl_transforms[-1], self.cnx1) pm.scaleConstraint(self.scl_transforms[-1], self.cnx1) @@ -356,9 +617,8 @@ def addOperators(self): # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.cnx0 self.relatives["eff"] = self.cnx1 diff --git a/scripts/mgear/maya/shifter/component/spine_ik_02/guide.py b/scripts/mgear/maya/shifter/component/spine_ik_02/guide.py index ad360dc..ef98b3e 100644 --- a/scripts/mgear/maya/shifter/component/spine_ik_02/guide.py +++ b/scripts/mgear/maya/shifter/component/spine_ik_02/guide.py @@ -1,54 +1,25 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -############################################# -# GLOBAL -############################################# +"""Guide Spine IK 02 module""" + from functools import partial -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget + import settingsUI as sui -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() # guide info AUTHOR = "Jeremie Passerin, Miquel Campos" URL = "www.jeremiepasserin.com, www.miquel-campos.com" EMAIL = "geerem@hotmail.com, hello@miquel-campos.com" -VERSION = [2,0,0] +VERSION = [2, 0, 0] TYPE = "spine_ik_02" NAME = "spine" -DESCRIPTION = """This version have an extra hip joint. An ik spine with an over top layer of fk controllers +DESCRIPTION = """This version have an extra hip joint. An ik spine with an +over top layer of fk controllers that follow the ik position. Optional auto bend ik control and central tangent control. """ @@ -56,7 +27,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -67,30 +41,24 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "eff"] self.save_blade = ["blade"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [0,4,0]) + vTemp = transform.getOffsetPosition(self.root, [0, 4, 0]) self.eff = self.addLoc("eff", self.root, vTemp) self.blade = self.addBlade("blade", self.root, self.eff) centers = [self.root, self.eff] self.dispcrv = self.addDispCurve("crv", centers) - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" # Default values self.pPosition = self.addParam("position", "double", 0, 0, 1) @@ -105,11 +73,16 @@ def addParameters(self): self.pCentralTangent = self.addParam("centralTangent", "bool", False) # FCurves - self.pSt_profile = self.addFCurveParam("st_profile", [[0,0],[.5,-1],[1,0]]) - self.pSq_profile = self.addFCurveParam("sq_profile", [[0,0],[.5,1],[1,0]]) + self.pSt_profile = self.addFCurveParam( + "st_profile", [[0, 0], [.5, -1], [1, 0]]) - self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pSq_profile = self.addFCurveParam( + "sq_profile", [[0, 0], [.5, 1], [1, 0]]) + + self.pUseIndex = self.addParam("useIndex", "bool", False) + + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) ########################################################## @@ -117,23 +90,24 @@ def addParameters(self): ########################################################## class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -141,7 +115,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -151,28 +125,39 @@ def setup_componentSettingWindow(self): def create_componentControls(self): return - def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") - #populate component settings - self.settingsTab.softness_slider.setValue(int(self.root.attr("softness").get()*100)) - self.settingsTab.position_spinBox.setValue(int(self.root.attr("position").get()*100)) - self.settingsTab.position_slider.setValue(int(self.root.attr("position").get()*100)) - self.settingsTab.lockOri_spinBox.setValue(int(self.root.attr("lock_ori").get()*100)) - self.settingsTab.lockOri_slider.setValue(int(self.root.attr("lock_ori").get()*100)) - self.settingsTab.softness_spinBox.setValue(int(self.root.attr("softness").get()*100)) - self.settingsTab.maxStretch_spinBox.setValue(self.root.attr("maxstretch").get()) - self.settingsTab.maxSquash_spinBox.setValue(self.root.attr("maxsquash").get()) - self.settingsTab.division_spinBox.setValue(self.root.attr("division").get()) + # populate component settings + self.settingsTab.softness_slider.setValue( + int(self.root.attr("softness").get() * 100)) + self.settingsTab.position_spinBox.setValue( + int(self.root.attr("position").get() * 100)) + self.settingsTab.position_slider.setValue( + int(self.root.attr("position").get() * 100)) + self.settingsTab.lockOri_spinBox.setValue( + int(self.root.attr("lock_ori").get() * 100)) + self.settingsTab.lockOri_slider.setValue( + int(self.root.attr("lock_ori").get() * 100)) + self.settingsTab.softness_spinBox.setValue( + int(self.root.attr("softness").get() * 100)) + self.settingsTab.maxStretch_spinBox.setValue( + self.root.attr("maxstretch").get()) + self.settingsTab.maxSquash_spinBox.setValue( + self.root.attr("maxsquash").get()) + self.settingsTab.division_spinBox.setValue( + self.root.attr("division").get()) self.populateCheck(self.settingsTab.autoBend_checkBox, "autoBend") - self.populateCheck(self.settingsTab.centralTangent_checkBox, "centralTangent") + self.populateCheck(self.settingsTab.centralTangent_checkBox, + "centralTangent") def create_componentLayout(self): @@ -184,20 +169,52 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.softness_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.softness_slider, "softness")) - self.settingsTab.softness_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.softness_spinBox, "softness")) - self.settingsTab.position_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.position_slider, "position")) - self.settingsTab.position_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.position_spinBox, "position")) - self.settingsTab.lockOri_slider.valueChanged.connect(partial(self.updateSlider, self.settingsTab.lockOri_slider, "lock_ori")) - self.settingsTab.lockOri_spinBox.valueChanged.connect(partial(self.updateSlider, self.settingsTab.lockOri_spinBox, "lock_ori")) - self.settingsTab.maxStretch_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxStretch_spinBox, "maxstretch")) - self.settingsTab.maxSquash_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.maxSquash_spinBox, "maxsquash")) - self.settingsTab.division_spinBox.valueChanged.connect(partial(self.updateSpinBox, self.settingsTab.division_spinBox, "division")) - self.settingsTab.autoBend_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.autoBend_checkBox, "autoBend")) - self.settingsTab.centralTangent_checkBox.stateChanged.connect(partial(self.updateCheck, self.settingsTab.centralTangent_checkBox, "centralTangent")) - self.settingsTab.squashStretchProfile_pushButton.clicked.connect(self.setProfile) - - + self.settingsTab.softness_slider.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.softness_slider, + "softness")) + self.settingsTab.softness_spinBox.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.softness_spinBox, + "softness")) + self.settingsTab.position_slider.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.position_slider, + "position")) + self.settingsTab.position_spinBox.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.position_spinBox, + "position")) + self.settingsTab.lockOri_slider.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.lockOri_slider, + "lock_ori")) + self.settingsTab.lockOri_spinBox.valueChanged.connect( + partial(self.updateSlider, + self.settingsTab.lockOri_spinBox, + "lock_ori")) + self.settingsTab.maxStretch_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxStretch_spinBox, + "maxstretch")) + self.settingsTab.maxSquash_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.maxSquash_spinBox, + "maxsquash")) + self.settingsTab.division_spinBox.valueChanged.connect( + partial(self.updateSpinBox, + self.settingsTab.division_spinBox, + "division")) + self.settingsTab.autoBend_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.autoBend_checkBox, + "autoBend")) + self.settingsTab.centralTangent_checkBox.stateChanged.connect( + partial(self.updateCheck, + self.settingsTab.centralTangent_checkBox, + "centralTangent")) + self.settingsTab.squashStretchProfile_pushButton.clicked.connect( + self.setProfile) def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/squash4Sides_01/__init__.py b/scripts/mgear/maya/shifter/component/squash4Sides_01/__init__.py index 5a11220..3e2c6a8 100644 --- a/scripts/mgear/maya/shifter/component/squash4Sides_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/squash4Sides_01/__init__.py @@ -1,138 +1,165 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# Maya +"""Component Squash 4 Sides 01 module""" + import pymel.core as pm -import pymel.core.datatypes as dt +from pymel.core import datatypes +from mgear.maya.shifter import component -# mgear -from mgear.maya.shifter.component import MainComponent +from mgear.maya import attribute, transform, primitive, node, vector -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.applyop as aop -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec +############################################# +# COMPONENT +############################################# -########################################################## -# COMPONENT -########################################################## -## The main component class. -class Component(MainComponent): +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - ## Add all the objects needed to create the component. - # @param self def addObjects(self): + """Add all the objects needed to create the component.""" - ctlSize = vec.getDistance(self.guide.apos[0], self.guide.apos[1])/3.0 + ctlSize = vector.getDistance( + self.guide.apos[0], self.guide.apos[1]) / 3.0 t_root = self.guide.tra["root"] - t_root = tra.setMatrixScale(t_root) + t_root = transform.setMatrixScale(t_root) + + self.ik_cns = primitive.addTransform( + self.root, self.getName("ik_cns"), t_root) + + t = transform.setMatrixPosition(t_root, self.guide.pos["top"]) - self.ik_cns = pri.addTransform(self.root, self.getName("ik_cns"), t_root) + self.top_npo = primitive.addTransform( + self.ik_cns, self.getName("top_npo"), t) - t = tra.setMatrixPosition(t_root, self.guide.pos["top"]) + self.top_ctl = self.addCtl(self.top_npo, + "top_ctl", + t, + self.color_ik, + "arrow", + w=ctlSize, + ro=datatypes.Vector(1.5708, 1.5708, 0), + tp=self.parentCtlTag) - self.top_npo = pri.addTransform(self.ik_cns, self.getName("top_npo"), t) - self.top_ctl = self.addCtl(self.top_npo, "top_ctl", t, self.color_ik, "arrow", w=ctlSize, ro=dt.Vector(1.5708,1.5708,0), tp=self.parentCtlTag) - att.setKeyableAttributes(self.top_ctl, ["ty"] ) + attribute.setKeyableAttributes(self.top_ctl, ["ty"]) + + t = transform.setMatrixPosition(t_root, self.guide.pos["bottom"]) + self.bottom_npo = primitive.addTransform( + self.top_npo, self.getName("bottom_npo"), t) - t = tra.setMatrixPosition(t_root, self.guide.pos["bottom"]) - self.bottom_npo = pri.addTransform(self.top_npo, self.getName("bottom_npo"), t) self.bottom_npo.rz.set(180) - self.bottom_ctl = self.addCtl(self.bottom_npo, "bottom_ctl", t, self.color_ik, "arrow", w=ctlSize, ro=dt.Vector(1.5708,1.5708,0), tp=self.parentCtlTag) + self.bottom_ctl = self.addCtl(self.bottom_npo, + "bottom_ctl", + t, + self.color_ik, + "arrow", + w=ctlSize, + ro=datatypes.Vector(1.5708, 1.5708, 0), + tp=self.parentCtlTag) + self.bottom_ctl.rz.set(0) - att.setKeyableAttributes(self.bottom_ctl, ["ty"] ) - self.bottom_pivot = pri.addTransform(self.bottom_npo, self.getName("bottom_pivot"), tra.getTransform(self.top_ctl)) + attribute.setKeyableAttributes(self.bottom_ctl, ["ty"]) + self.bottom_pivot = primitive.addTransform( + self.bottom_npo, + self.getName("bottom_pivot"), + transform.getTransform(self.top_ctl)) + + t = transform.setMatrixPosition(t_root, self.guide.pos["ext"]) + self.ext_npo = primitive.addTransform( + self.bottom_pivot, self.getName("ext_npo"), t) - t = tra.setMatrixPosition(t_root, self.guide.pos["ext"]) - self.ext_npo = pri.addTransform(self.bottom_pivot, self.getName("ext_npo"), t) self.ext_npo.rz.set(-90) - self.ext_ctl = self.addCtl(self.ext_npo, "ext_ctl", t, self.color_ik, "arrow", w=ctlSize, ro=dt.Vector(1.5708,1.5708,0), tp=self.parentCtlTag) + self.ext_ctl = self.addCtl(self.ext_npo, + "ext_ctl", + t, + self.color_ik, + "arrow", + w=ctlSize, + ro=datatypes.Vector(1.5708, 1.5708, 0), + tp=self.parentCtlTag) + self.ext_ctl.rz.set(0) - att.setKeyableAttributes(self.ext_ctl, ["ty"] ) + attribute.setKeyableAttributes(self.ext_ctl, ["ty"]) + + t = transform.setMatrixPosition(t_root, self.guide.pos["int"]) + self.int_npo = primitive.addTransform( + self.ext_npo, self.getName("int_npo"), t) - t = tra.setMatrixPosition(t_root, self.guide.pos["int"]) - self.int_npo = pri.addTransform(self.ext_npo, self.getName("int_npo"), t) self.int_npo.rz.set(180) - self.int_ctl = self.addCtl(self.int_npo, "int_ctl", t, self.color_ik, "arrow", w=ctlSize, ro=dt.Vector(1.5708,1.5708,0), tp=self.parentCtlTag) + self.int_ctl = self.addCtl(self.int_npo, + "int_ctl", + t, + self.color_ik, + "arrow", + w=ctlSize, + ro=datatypes.Vector(1.5708, 1.5708, 0), + tp=self.parentCtlTag) + self.int_ctl.rz.set(0) - att.setKeyableAttributes(self.int_ctl, ["ty"] ) - self.int_pivot = pri.addTransform(self.int_npo, self.getName("int_pivot"), tra.getTransform(self.ext_ctl)) + attribute.setKeyableAttributes(self.int_ctl, ["ty"]) - self.anchor = pri.addTransform(self.int_pivot, self.getName("int_npo"), tra.getTransform(self.ik_cns)) + self.int_pivot = primitive.addTransform( + self.int_npo, + self.getName("int_pivot"), + transform.getTransform(self.ext_ctl)) + self.anchor = primitive.addTransform( + self.int_pivot, + self.getName("int_npo"), + transform.getTransform(self.ik_cns)) if self.settings["joint"]: self.jnt_pos.append([self.anchor, 0, None, False]) - # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" - self.volume_att = self.addAnimParam("volume", "Volume", "double", 1, 0, 1) + self.volume_att = self.addAnimParam( + "volume", "Volume", "double", 1, 0, 1) # Ref if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): - pairs = [ [self.top_ctl, self.bottom_npo, 1, 2], - [self.bottom_ctl, self.bottom_pivot, 2, 1], - [self.ext_ctl, self.int_npo, 3, 4], - [self.int_ctl, self.int_pivot, 4, 3]] + """Create operators and set the relations for the component rig + + Apply operators, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ + pairs = [[self.top_ctl, self.bottom_npo, 1, 2], + [self.bottom_ctl, self.bottom_pivot, 2, 1], + [self.ext_ctl, self.int_npo, 3, 4], + [self.int_ctl, self.int_pivot, 4, 3]] for pair in pairs: - d = vec.getDistance(self.guide.apos[pair[2]], self.guide.apos[pair[3]]) - sum_node = nod.createPlusMinusAverage1D([d, pair[0].ty]) - mul_node = nod.createMulNode(pair[0].ty, self.volume_att) - sum2_node = nod.createPlusMinusAverage1D([d, mul_node.outputX]) - mul2_node = nod.createDivNode([sum2_node.output1D, sum_node.output1D, sum2_node.output1D], [d, d, d]) + d = vector.getDistance(self.guide.apos[pair[2]], + self.guide.apos[pair[3]]) + + sum_node = node.createPlusMinusAverage1D([d, pair[0].ty]) + mul_node = node.createMulNode(pair[0].ty, self.volume_att) + sum2_node = node.createPlusMinusAverage1D([d, mul_node.outputX]) + mul2_node = node.createDivNode( + [sum2_node.output1D, sum_node.output1D, sum2_node.output1D], + [d, d, d]) + sum3D_node = pm.createNode("plusMinusAverage") sum3D_node.attr("operation").set(2) sum3D_node.input3D[0].input3Dx.set(2) @@ -143,15 +170,11 @@ def addOperators(self): mul2_node.outputY >> pair[1].sy sum3D_node.output3D.output3Dx >> pair[1].sz - - - # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.anchor self.relatives["top"] = self.anchor self.relatives["bottom"] = self.anchor @@ -164,7 +187,6 @@ def setRelation(self): self.controlRelatives["int"] = self.int_ctl self.controlRelatives["ext"] = self.ext_ctl - if self.settings["joint"]: self.jointRelatives["root"] = 0 self.jointRelatives["top"] = 0 @@ -172,7 +194,5 @@ def setRelation(self): self.jointRelatives["int"] = 0 self.jointRelatives["ext"] = 0 - ## standard connection definition. - # @param self def connect_standard(self): self.connect_standardWithSimpleIkRef() diff --git a/scripts/mgear/maya/shifter/component/squash4Sides_01/guide.py b/scripts/mgear/maya/shifter/component/squash4Sides_01/guide.py index 63977d6..57458c4 100644 --- a/scripts/mgear/maya/shifter/component/squash4Sides_01/guide.py +++ b/scripts/mgear/maya/shifter/component/squash4Sides_01/guide.py @@ -1,61 +1,33 @@ -# MGEAR is under the terms of the MIT License +"""Guide Squash 4 Sides 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## from functools import partial +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra -import settingsUI as sui - - -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() + +import settingsUI as sui # guide info AUTHOR = "Miquel Campos" URL = "www.miquel-campos.com" EMAIL = "hello@miquel-campos.com" -VERSION = [1,0,0] +VERSION = [1, 0, 0] TYPE = "squash4Sides_01" NAME = "squash4Sides" -DESCRIPTION = "Squash4Sides component. NOTE: this component use the full rotation of the root." +DESCRIPTION = "Squash4Sides component. NOTE: this component use the full " \ + "rotation of the root." ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -66,73 +38,69 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" self.save_transform = ["root", "top", "bottom", "ext", "int"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [0,1,0]) + vTemp = transform.getOffsetPosition(self.root, [0, 1, 0]) self.top_loc = self.addLoc("top", self.root, vTemp) centers = [self.root, self.top_loc] self.dispcrv = self.addDispCurve("crv", centers) - vTemp = tra.getOffsetPosition( self.root, [0,-1,0]) + vTemp = transform.getOffsetPosition(self.root, [0, -1, 0]) self.bottom_loc = self.addLoc("bottom", self.root, vTemp) centers = [self.root, self.bottom_loc] self.dispcrv = self.addDispCurve("crv", centers) - vTemp = tra.getOffsetPosition( self.root, [1,0,0]) + vTemp = transform.getOffsetPosition(self.root, [1, 0, 0]) self.ext_loc = self.addLoc("ext", self.root, vTemp) centers = [self.root, self.ext_loc] self.dispcrv = self.addDispCurve("crv", centers) - vTemp = tra.getOffsetPosition( self.root, [-1,0,0]) + vTemp = transform.getOffsetPosition(self.root, [-1, 0, 0]) self.int_loc = self.addLoc("int", self.root, vTemp) centers = [self.root, self.int_loc] self.dispcrv = self.addDispCurve("crv", centers) - - - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" - self.pRefArray = self.addParam("ikrefarray", "string", "") + self.pRefArray = self.addParam("ikrefarray", "string", "") self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + + self.pParentJointIndex = self.addParam( + "parentJointIndex", "long", -1, None, None) + self.pJoint = self.addParam("joint", "bool", True) ########################################################## # Setting Page ########################################################## + class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -140,7 +108,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -151,11 +119,13 @@ def create_componentControls(self): return def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") refArrayItems = self.root.attr("ikrefarray").get().split(",") @@ -172,8 +142,14 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.refArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.refArray_listWidget, "ikrefarray")) - self.settingsTab.refArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.refArray_listWidget, "ikrefarray")) + self.settingsTab.refArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.refArray_listWidget, + "ikrefarray")) + self.settingsTab.refArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.refArray_listWidget, + "ikrefarray")) self.settingsTab.refArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -185,4 +161,4 @@ def eventFilter(self, sender, event): return QtWidgets.QDialog.eventFilter(self, sender, event) def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/component/squash_01/__init__.py b/scripts/mgear/maya/shifter/component/squash_01/__init__.py index 4e99421..caec27a 100644 --- a/scripts/mgear/maya/shifter/component/squash_01/__init__.py +++ b/scripts/mgear/maya/shifter/component/squash_01/__init__.py @@ -1,126 +1,145 @@ -# MGEAR is under the terms of the MIT License +"""Component Squash 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## -# Maya import pymel.core as pm import pymel.core.datatypes as dt +from mgear.maya.shifter import component -# mgear -from mgear.maya.shifter.component import MainComponent - -import mgear.maya.primitive as pri -import mgear.maya.transform as tra -import mgear.maya.applyop as aop -import mgear.maya.attribute as att -import mgear.maya.node as nod -import mgear.maya.vector as vec - +from mgear.maya import primitive, transform, applyop, attribute, node, vector ########################################################## # COMPONENT ########################################################## -## The main component class. -class Component(MainComponent): + + +class Component(component.Main): + """Shifter component Class""" # ===================================================== # OBJECTS # ===================================================== - ## Add all the objects needed to create the component. - # @param self def addObjects(self): + """Add all the objects needed to create the component.""" - self.normal = self.guide.blades["blade"].z*-1 + self.normal = self.guide.blades["blade"].z * -1 self.binormal = self.guide.blades["blade"].x - t = tra.getTransformLookingAt(self.guide.apos[0], self.guide.apos[1], self.normal, axis="yx", negate=self.negate) - - self.ctl_npo = pri.addTransform(self.root, self.getName("ctl_npo"), t) - self.ctl = self.addCtl(self.ctl_npo, "base_ctl", t, self.color_ik, "square", w=1.0, tp=self.parentCtlTag) - - self.ref_base = pri.addTransform(self.ctl, self.getName("ref_base"), t) - - t = tra.setMatrixPosition(t, self.guide.apos[1]) - self.ik_cns = pri.addTransform(self.ctl, self.getName("ik_cns"), t) - self.squash_npo = pri.addTransform(self.ik_cns, self.getName("squash_npo"), t) - self.squash_ctl = self.addCtl(self.squash_npo, "squash_ctl", t, self.color_ik, "crossarrow", w=1.0, ro=dt.Vector(1.5708,0,0), tp=self.ctl) - att.setKeyableAttributes(self.squash_ctl, ["tx", "ty", "tz"] ) - - self.ref_squash = pri.addTransform(self.squash_ctl, self.getName("ref_squash"), t) + t = transform.getTransformLookingAt(self.guide.apos[0], + self.guide.apos[1], + self.normal, + axis="yx", + negate=self.negate) + self.ctl_npo = primitive.addTransform(self.root, + self.getName("ctl_npo"), t) + self.ctl = self.addCtl(self.ctl_npo, + "base_ctl", + t, + self.color_ik, + "square", + w=1.0, + tp=self.parentCtlTag) + + self.ref_base = primitive.addTransform(self.ctl, + self.getName("ref_base"), + t) + + t = transform.setMatrixPosition(t, self.guide.apos[1]) + + self.ik_cns = primitive.addTransform(self.ctl, + self.getName("ik_cns"), + t) + self.squash_npo = primitive.addTransform(self.ik_cns, + self.getName("squash_npo"), + t) + self.squash_ctl = self.addCtl(self.squash_npo, + "squash_ctl", + t, + self.color_ik, + "crossarrow", + w=1.0, + ro=dt.Vector(1.5708, 0, 0), + tp=self.ctl) + + attribute.setKeyableAttributes(self.squash_ctl, ["tx", "ty", "tz"]) + + self.ref_squash = primitive.addTransform(self.squash_ctl, + self.getName("ref_squash"), + t) self.div_cns = [] - div_cns = pri.addTransform(self.root, self.getName("div0_loc")) + div_cns = primitive.addTransform(self.root, self.getName("div0_loc")) self.div_cns.append(div_cns) self.jnt_pos.append([div_cns, 0, None, False]) - # ===================================================== - # PROPERTY + # ATTRIBUTES # ===================================================== - ## Add parameters to the anim and setup properties to control the component. - # @param self def addAttributes(self): + """Create the anim and setupr rig attributes for the component""" # Ref if self.settings["ikrefarray"]: ref_names = self.settings["ikrefarray"].split(",") if len(ref_names) > 1: - self.ikref_att = self.addAnimEnumParam("ikref", "Ik Ref", 0, self.settings["ikrefarray"].split(",")) + self.ikref_att = self.addAnimEnumParam( + "ikref", + "Ik Ref", + 0, + self.settings["ikrefarray"].split(",")) # ===================================================== # OPERATORS # ===================================================== - ## Apply operators, constraints, expressions to the hierarchy.\n - # In order to keep the code clean and easier to debug, - # we shouldn't create any new object in this method. - # @param self def addOperators(self): - aop.aimCns(self.ref_base, self.squash_ctl, axis="yx", wupType=2, wupVector=[1,0,0], wupObject=self.ctl, maintainOffset=False) - aop.aimCns(self.ref_squash, self.ctl, axis="-yx", wupType=2, wupVector=[1,0,0], wupObject=self.squash_ctl, maintainOffset=False) + """Create operators and set the relations for the component rig + + Apply operators/Solvers, constraints, expressions to the hierarchy. + In order to keep the code clean and easier to debug, + we shouldn't create any new object in this method. + + """ + applyop.aimCns(self.ref_base, + self.squash_ctl, + axis="yx", + wupType=2, + wupVector=[1, 0, 0], + wupObject=self.ctl, + maintainOffset=False) + applyop.aimCns(self.ref_squash, + self.ctl, + axis="-yx", + wupType=2, + wupVector=[1, 0, 0], + wupObject=self.squash_ctl, + maintainOffset=False) bIncrement = 1.0 - blend=0 + blend = 0 for i, div_cns in enumerate(self.div_cns): - intMatrix = aop.gear_intmatrix_op(self.ref_base.attr("worldMatrix"), self.ref_squash.attr("worldMatrix"), blend) - aop.gear_mulmatrix_op(intMatrix.attr("output"), div_cns.attr("parentInverseMatrix[0]"), div_cns) + intMatrix = applyop.gear_intmatrix_op( + self.ref_base.attr("worldMatrix"), + self.ref_squash.attr("worldMatrix"), + blend) - blend = blend+bIncrement + applyop.gear_mulmatrix_op(intMatrix.attr("output"), + div_cns.attr("parentInverseMatrix[0]"), + div_cns) - d = vec.getDistance(self.guide.apos[0], self.guide.apos[1]) - dist_node = nod.createDistNode(self.squash_ctl, self.ctl) - rootWorld_node = nod.createDecomposeMatrixNode(self.ctl.attr("worldMatrix")) - div_node = nod.createDivNode(dist_node+".distance", rootWorld_node+".outputScaleY") - div_node = nod.createDivNode(div_node+".outputX", d) - rev_node = nod.createReverseNode(div_node+".outputX") - add_node = pm.createNode("plusMinusAverage") + blend = blend + bIncrement + d = vector.getDistance(self.guide.apos[0], self.guide.apos[1]) + dist_node = node.createDistNode(self.squash_ctl, self.ctl) + + rootWorld_node = node.createDecomposeMatrixNode( + self.ctl.attr("worldMatrix")) + + div_node = node.createDivNode(dist_node + ".distance", + rootWorld_node + ".outputScaleY") + + div_node = node.createDivNode(div_node + ".outputX", d) + rev_node = node.createReverseNode(div_node + ".outputX") + add_node = pm.createNode("plusMinusAverage") add_node.input1D[0].set(1.0) rev_node.outputX >> add_node.input1D[1] @@ -129,26 +148,24 @@ def addOperators(self): add_node.output1D >> self.ref_base.scaleX add_node.output1D >> self.ref_base.scaleZ - # ===================================================== # CONNECTOR # ===================================================== - ## Set the relation beetween object from guide to rig.\n - # @param self def setRelation(self): + """Set the relation beetween object from guide to rig""" self.relatives["root"] = self.ref_base self.relatives["squash"] = self.ref_squash self.controlRelatives["root"] = self.ctl self.controlRelatives["squash"] = self.squash_ctl - for i in range(0, len(self.div_cns)-1): - self.relatives["%s_loc"%i] = self.div_cns[i+1] - self.jointRelatives["%s_loc"%i] = i+1 - self.relatives["%s_loc"%(len(self.div_cns)-1)] = self.div_cns[-1] - self.jointRelatives["%s_loc"%(len(self.div_cns)-1)] = len(self.div_cns)-1 + for i in range(0, len(self.div_cns) - 1): + self.relatives["%s_loc" % i] = self.div_cns[i + 1] + self.jointRelatives["%s_loc" % i] = i + 1 + self.relatives["%s_loc" % (len(self.div_cns) - 1)] = self.div_cns[-1] + jnt_rel_len = len(self.div_cns) - 1 + self.jointRelatives["%s_loc" % (len(self.div_cns) - 1)] = jnt_rel_len - ## standard connection definition. - # @param self def connect_standard(self): + """standard connection definition for the component""" self.connect_standardWithSimpleIkRef() diff --git a/scripts/mgear/maya/shifter/component/squash_01/guide.py b/scripts/mgear/maya/shifter/component/squash_01/guide.py index 5c2ccc6..f26f712 100644 --- a/scripts/mgear/maya/shifter/component/squash_01/guide.py +++ b/scripts/mgear/maya/shifter/component/squash_01/guide.py @@ -1,53 +1,21 @@ -# MGEAR is under the terms of the MIT License +"""Guide Squash 01 module""" -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -########################################################## -# GLOBAL -########################################################## from functools import partial +from mgear.maya.shifter.component import guide +from mgear.maya import transform, pyqt +from mgear.vendor.Qt import QtWidgets, QtCore -# mgear -from mgear.maya.shifter.component.guide import ComponentGuide -import mgear.maya.transform as tra -import settingsUI as sui - - -#Pyside -from mgear.maya.shifter.component.guide import componentMainSettings -import mgear.maya.pyqt as gqt from maya.app.general.mayaMixin import MayaQWidgetDockableMixin from maya.app.general.mayaMixin import MayaQDockWidget -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() + +import settingsUI as sui # guide info AUTHOR = "Miquel Campos" URL = "www.miquel-campos.com" EMAIL = "hello@miquel-campos.com" -VERSION = [1,0,0] +VERSION = [1, 0, 0] TYPE = "squash_01" NAME = "squash" DESCRIPTION = "Linear squash component" @@ -55,7 +23,10 @@ ########################################################## # CLASS ########################################################## -class Guide(ComponentGuide): + + +class Guide(guide.ComponentGuide): + """Component Guide Class""" compType = TYPE compName = NAME @@ -66,60 +37,58 @@ class Guide(ComponentGuide): email = EMAIL version = VERSION - - # ===================================================== - ## - # @param self def postInit(self): + """Initialize the position for the guide""" + self.save_transform = ["root", "tip"] self.save_blade = ["blade"] - # ===================================================== - ## Add more object to the object definition list. - # @param self def addObjects(self): + """Add the Guide Root, blade and locators""" self.root = self.addRoot() - vTemp = tra.getOffsetPosition( self.root, [2,0,0]) + vTemp = transform.getOffsetPosition(self.root, [2, 0, 0]) self.loc = self.addLoc("tip", self.root, vTemp) self.blade = self.addBlade("blade", self.root, self.loc) centers = [self.root, self.loc] self.dispcrv = self.addDispCurve("crv", centers) - - - # ===================================================== - ## Add more parameter to the parameter definition list. - # @param self def addParameters(self): + """Add the configurations settings""" - self.pRefArray = self.addParam("ikrefarray", "string", "") + self.pRefArray = self.addParam("ikrefarray", "string", "") self.pUseIndex = self.addParam("useIndex", "bool", False) - self.pParentJointIndex = self.addParam("parentJointIndex", "long", -1, None, None) + self.pParentJointIndex = self.addParam("parentJointIndex", + "long", + -1, + None, + None) ########################################################## # Setting Page ########################################################## + class settingsTab(QtWidgets.QDialog, sui.Ui_Form): + """The Component settings UI""" def __init__(self, parent=None): super(settingsTab, self).__init__(parent) self.setupUi(self) -class componentSettings(MayaQWidgetDockableMixin, componentMainSettings): +class componentSettings(MayaQWidgetDockableMixin, guide.componentMainSettings): + """Create the component setting window""" - def __init__(self, parent = None): + def __init__(self, parent=None): self.toolName = TYPE # Delete old instances of the componet settings window. - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) - super(self.__class__, self).__init__(parent = parent) + super(self.__class__, self).__init__(parent=parent) self.settingsTab = settingsTab() - self.setup_componentSettingWindow() self.create_componentControls() self.populate_componentControls() @@ -127,7 +96,7 @@ def __init__(self, parent = None): self.create_componentConnections() def setup_componentSettingWindow(self): - self.mayaMainWindow = gqt.maya_main_window() + self.mayaMainWindow = pyqt.maya_main_window() self.setObjectName(self.toolName) self.setWindowFlags(QtCore.Qt.Window) @@ -138,11 +107,13 @@ def create_componentControls(self): return def populate_componentControls(self): - """ - Populate the controls values from the custom attributes of the component. + """Populate the controls values. + + Populate the controls values from the custom attributes of the + component. """ - #populate tab + # populate tab self.tabs.insertTab(1, self.settingsTab, "Component Settings") refArrayItems = self.root.attr("ikrefarray").get().split(",") @@ -159,8 +130,14 @@ def create_componentLayout(self): def create_componentConnections(self): - self.settingsTab.refArrayAdd_pushButton.clicked.connect(partial(self.addItem2listWidget, self.settingsTab.refArray_listWidget, "ikrefarray")) - self.settingsTab.refArrayRemove_pushButton.clicked.connect(partial(self.removeSelectedFromListWidget, self.settingsTab.refArray_listWidget, "ikrefarray")) + self.settingsTab.refArrayAdd_pushButton.clicked.connect( + partial(self.addItem2listWidget, + self.settingsTab.refArray_listWidget, + "ikrefarray")) + self.settingsTab.refArrayRemove_pushButton.clicked.connect( + partial(self.removeSelectedFromListWidget, + self.settingsTab.refArray_listWidget, + "ikrefarray")) self.settingsTab.refArray_listWidget.installEventFilter(self) def eventFilter(self, sender, event): @@ -172,4 +149,4 @@ def eventFilter(self, sender, event): return QtWidgets.QDialog.eventFilter(self, sender, event) def dockCloseEventTriggered(self): - gqt.deleteInstances(self, MayaQDockWidget) + pyqt.deleteInstances(self, MayaQDockWidget) diff --git a/scripts/mgear/maya/shifter/customStep.py b/scripts/mgear/maya/shifter/customStep.py index 111ce79..0fee9f8 100644 --- a/scripts/mgear/maya/shifter/customStep.py +++ b/scripts/mgear/maya/shifter/customStep.py @@ -1,43 +1,17 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - -#maya import pymel.core as pm - class customShifterMainStep(object): ''' Main Class for shifter custom steps ''' + def run(self, storedDic): """This function mus be re implemented for each custom step. Args: - storedDic (dic): We have to pass the stored dictionary from the previous pass + storedDic (dic): We have to pass the stored dictionary from the + previous pass Raises: Exception: Description @@ -49,8 +23,8 @@ def dup(self, source, name=None): Args: source (PyNode): The Source object to duplicate - name (None, string): The name for the new object. If the value is None - the name will be set by using the custom step name + name (None, string): The name for the new object. If the value + is None the name will be set by using the custom step name Returns: PyNode: The new duplicated object. diff --git a/scripts/mgear/maya/shifter/customStepUI.py b/scripts/mgear/maya/shifter/customStepUI.py index b0ff6da..1182736 100644 --- a/scripts/mgear/maya/shifter/customStepUI.py +++ b/scripts/mgear/maya/shifter/customStepUI.py @@ -1,31 +1,6 @@ -# MGEAR is under the terms of the MIT License - -# Copyright (c) 2016 Jeremie Passerin, Miquel Campos - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -# Author: Jeremie Passerin geerem@hotmail.com www.jeremiepasserin.com -# Author: Miquel Campos hello@miquel-campos.com www.miquel-campos.com -# Date: 2016 / 10 / 10 - import mgear.maya.pyqt as gqt -QtGui, QtCore, QtWidgets, wrapInstance = gqt.qt_import() +from mgear.vendor.Qt import QtCore, QtWidgets + class Ui_Form(object): def setupUi(self, Form): @@ -45,51 +20,81 @@ def setupUi(self, Form): self.preCustomStep_checkBox.setObjectName("preCustomStep_checkBox") self.verticalLayout.addWidget(self.preCustomStep_checkBox) self.preCustomStep_horizontalLayout = QtWidgets.QHBoxLayout() - self.preCustomStep_horizontalLayout.setObjectName("preCustomStep_horizontalLayout") + self.preCustomStep_horizontalLayout.setObjectName( + "preCustomStep_horizontalLayout") self.preCustomStep_verticalLayout_1 = QtWidgets.QVBoxLayout() - self.preCustomStep_verticalLayout_1.setObjectName("preCustomStep_verticalLayout_1") + self.preCustomStep_verticalLayout_1.setObjectName( + "preCustomStep_verticalLayout_1") self.preCustomStep_listWidget = QtWidgets.QListWidget(self.groupBox) self.preCustomStep_listWidget.setDragDropOverwriteMode(True) - self.preCustomStep_listWidget.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove) - self.preCustomStep_listWidget.setDefaultDropAction(QtCore.Qt.MoveAction) + self.preCustomStep_listWidget.setDragDropMode( + QtWidgets.QAbstractItemView.InternalMove) + self.preCustomStep_listWidget.setDefaultDropAction( + QtCore.Qt.MoveAction) self.preCustomStep_listWidget.setAlternatingRowColors(True) - self.preCustomStep_listWidget.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) + self.preCustomStep_listWidget.setSelectionMode( + QtWidgets.QAbstractItemView.ExtendedSelection) self.preCustomStep_listWidget.setProperty("isWrapping", False) self.preCustomStep_listWidget.setViewMode(QtWidgets.QListView.ListMode) self.preCustomStep_listWidget.setObjectName("preCustomStep_listWidget") - self.preCustomStep_verticalLayout_1.addWidget(self.preCustomStep_listWidget) - self.preCustomStep_horizontalLayout.addLayout(self.preCustomStep_verticalLayout_1) + self.preCustomStep_verticalLayout_1.addWidget( + self.preCustomStep_listWidget) + self.preCustomStep_horizontalLayout.addLayout( + self.preCustomStep_verticalLayout_1) self.preCustomStep_verticalLayout_2 = QtWidgets.QVBoxLayout() - self.preCustomStep_verticalLayout_2.setObjectName("preCustomStep_verticalLayout_2") + self.preCustomStep_verticalLayout_2.setObjectName( + "preCustomStep_verticalLayout_2") self.preCustomStepAdd_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepAdd_pushButton.setObjectName("preCustomStepAdd_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepAdd_pushButton) + self.preCustomStepAdd_pushButton.setObjectName( + "preCustomStepAdd_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepAdd_pushButton) self.preCustomStepNew_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepNew_pushButton.setObjectName("preCustomStepNew_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepNew_pushButton) - spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) - self.preCustomStep_verticalLayout_2.addItem(spacerItem) - self.preCustomStepDuplicate_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepDuplicate_pushButton.setObjectName("preCustomStepDuplicate_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepDuplicate_pushButton) - self.preCustomStepRemove_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepRemove_pushButton.setObjectName("preCustomStepRemove_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepRemove_pushButton) + self.preCustomStepNew_pushButton.setObjectName( + "preCustomStepNew_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepNew_pushButton) + self.preCustomStepDuplicate_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.preCustomStepDuplicate_pushButton.setObjectName( + "preCustomStepDuplicate_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepDuplicate_pushButton) + self.preCustomStepRemove_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.preCustomStepRemove_pushButton.setObjectName( + "preCustomStepRemove_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepRemove_pushButton) self.preCustomStepRun_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepRun_pushButton.setObjectName("preCustomStepRun_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepRun_pushButton) - self.preCustomStepEdit_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepEdit_pushButton.setObjectName("preCustomStepEdit_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepEdit_pushButton) - self.preCustomStepExport_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepExport_pushButton.setObjectName("preCustomStepExport_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepExport_pushButton) - self.preCustomStepImport_pushButton = QtWidgets.QPushButton(self.groupBox) - self.preCustomStepImport_pushButton.setObjectName("preCustomStepImport_pushButton") - self.preCustomStep_verticalLayout_2.addWidget(self.preCustomStepImport_pushButton) - spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.preCustomStepRun_pushButton.setObjectName( + "preCustomStepRun_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepRun_pushButton) + self.preCustomStepEdit_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.preCustomStepEdit_pushButton.setObjectName( + "preCustomStepEdit_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepEdit_pushButton) + self.preCustomStepExport_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.preCustomStepExport_pushButton.setObjectName( + "preCustomStepExport_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepExport_pushButton) + self.preCustomStepImport_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.preCustomStepImport_pushButton.setObjectName( + "preCustomStepImport_pushButton") + self.preCustomStep_verticalLayout_2.addWidget( + self.preCustomStepImport_pushButton) + spacerItem1 = QtWidgets.QSpacerItem( + 20, 40, QtWidgets.QSizePolicy.Minimum, + QtWidgets.QSizePolicy.Expanding) self.preCustomStep_verticalLayout_2.addItem(spacerItem1) - self.preCustomStep_horizontalLayout.addLayout(self.preCustomStep_verticalLayout_2) + self.preCustomStep_horizontalLayout.addLayout( + self.preCustomStep_verticalLayout_2) self.verticalLayout.addLayout(self.preCustomStep_horizontalLayout) self.verticalLayout_3.addLayout(self.verticalLayout) self.line = QtWidgets.QFrame(self.groupBox) @@ -105,50 +110,87 @@ def setupUi(self, Form): self.postCustomStep_checkBox.setObjectName("postCustomStep_checkBox") self.verticalLayout_2.addWidget(self.postCustomStep_checkBox) self.preCustomStep_horizontalLayout_2 = QtWidgets.QHBoxLayout() - self.preCustomStep_horizontalLayout_2.setObjectName("preCustomStep_horizontalLayout_2") + self.preCustomStep_horizontalLayout_2.setObjectName( + "preCustomStep_horizontalLayout_2") self.preCustomStep_verticalLayout_3 = QtWidgets.QVBoxLayout() - self.preCustomStep_verticalLayout_3.setObjectName("preCustomStep_verticalLayout_3") + self.preCustomStep_verticalLayout_3.setObjectName( + "preCustomStep_verticalLayout_3") self.postCustomStep_listWidget = QtWidgets.QListWidget(self.groupBox) self.postCustomStep_listWidget.setDragDropOverwriteMode(True) - self.postCustomStep_listWidget.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove) - self.postCustomStep_listWidget.setDefaultDropAction(QtCore.Qt.MoveAction) + self.postCustomStep_listWidget.setDragDropMode( + QtWidgets.QAbstractItemView.InternalMove) + self.postCustomStep_listWidget.setDefaultDropAction( + QtCore.Qt.MoveAction) self.postCustomStep_listWidget.setAlternatingRowColors(True) - self.postCustomStep_listWidget.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) - self.postCustomStep_listWidget.setViewMode(QtWidgets.QListView.ListMode) + self.postCustomStep_listWidget.setSelectionMode( + QtWidgets.QAbstractItemView.ExtendedSelection) + self.postCustomStep_listWidget.setViewMode( + QtWidgets.QListView.ListMode) self.postCustomStep_listWidget.setWordWrap(False) self.postCustomStep_listWidget.setSelectionRectVisible(False) - self.postCustomStep_listWidget.setObjectName("postCustomStep_listWidget") - self.preCustomStep_verticalLayout_3.addWidget(self.postCustomStep_listWidget) - self.preCustomStep_horizontalLayout_2.addLayout(self.preCustomStep_verticalLayout_3) + self.postCustomStep_listWidget.setObjectName( + "postCustomStep_listWidget") + self.preCustomStep_verticalLayout_3.addWidget( + self.postCustomStep_listWidget) + self.preCustomStep_horizontalLayout_2.addLayout( + self.preCustomStep_verticalLayout_3) self.preCustomStep_verticalLayout_4 = QtWidgets.QVBoxLayout() - self.preCustomStep_verticalLayout_4.setObjectName("preCustomStep_verticalLayout_4") - self.postCustomStepAdd_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepAdd_pushButton.setObjectName("postCustomStepAdd_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepAdd_pushButton) - self.postCustomStepNew_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepNew_pushButton.setObjectName("postCustomStepNew_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepNew_pushButton) - self.postCustomStepDuplicate_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepDuplicate_pushButton.setObjectName("postCustomStepDuplicate_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepDuplicate_pushButton) - self.postCustomStepRemove_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepRemove_pushButton.setObjectName("postCustomStepRemove_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepRemove_pushButton) - self.postCustomStepRun_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepRun_pushButton.setObjectName("postCustomStepRun_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepRun_pushButton) - self.postCustomStepEdit_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepEdit_pushButton.setObjectName("postCustomStepEdit_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepEdit_pushButton) - self.postCustomStepExport_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepExport_pushButton.setObjectName("postCustomStepExport_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepExport_pushButton) - self.postCustomStepImport_pushButton = QtWidgets.QPushButton(self.groupBox) - self.postCustomStepImport_pushButton.setObjectName("postCustomStepImport_pushButton") - self.preCustomStep_verticalLayout_4.addWidget(self.postCustomStepImport_pushButton) - spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.preCustomStep_verticalLayout_4.setObjectName( + "preCustomStep_verticalLayout_4") + self.postCustomStepAdd_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepAdd_pushButton.setObjectName( + "postCustomStepAdd_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepAdd_pushButton) + self.postCustomStepNew_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepNew_pushButton.setObjectName( + "postCustomStepNew_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepNew_pushButton) + self.postCustomStepDuplicate_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepDuplicate_pushButton.setObjectName( + "postCustomStepDuplicate_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepDuplicate_pushButton) + self.postCustomStepRemove_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepRemove_pushButton.setObjectName( + "postCustomStepRemove_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepRemove_pushButton) + self.postCustomStepRun_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepRun_pushButton.setObjectName( + "postCustomStepRun_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepRun_pushButton) + self.postCustomStepEdit_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepEdit_pushButton.setObjectName( + "postCustomStepEdit_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepEdit_pushButton) + self.postCustomStepExport_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepExport_pushButton.setObjectName( + "postCustomStepExport_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepExport_pushButton) + self.postCustomStepImport_pushButton = QtWidgets.QPushButton( + self.groupBox) + self.postCustomStepImport_pushButton.setObjectName( + "postCustomStepImport_pushButton") + self.preCustomStep_verticalLayout_4.addWidget( + self.postCustomStepImport_pushButton) + spacerItem2 = QtWidgets.QSpacerItem( + 20, 40, QtWidgets.QSizePolicy.Minimum, + QtWidgets.QSizePolicy.Expanding) self.preCustomStep_verticalLayout_4.addItem(spacerItem2) - self.preCustomStep_horizontalLayout_2.addLayout(self.preCustomStep_verticalLayout_4) + self.preCustomStep_horizontalLayout_2.addLayout( + self.preCustomStep_verticalLayout_4) self.verticalLayout_2.addLayout(self.preCustomStep_horizontalLayout_2) self.verticalLayout_3.addLayout(self.verticalLayout_2) self.gridLayout_2.addLayout(self.verticalLayout_3, 0, 0, 1, 1) @@ -159,23 +201,41 @@ def setupUi(self, Form): def retranslateUi(self, Form): Form.setWindowTitle(gqt.fakeTranslate("Form", "Form", None, -1)) - self.groupBox.setTitle(gqt.fakeTranslate("Form", "Custom Steps", None, -1)) - self.preCustomStep_checkBox.setText(gqt.fakeTranslate("Form", "Pre Custom Step", None, -1)) - self.preCustomStepAdd_pushButton.setText(gqt.fakeTranslate("Form", "Add", None, -1)) - self.preCustomStepNew_pushButton.setText(gqt.fakeTranslate("Form", "New", None, -1)) - self.preCustomStepDuplicate_pushButton.setText(gqt.fakeTranslate("Form", "Duplicate", None, -1)) - self.preCustomStepRemove_pushButton.setText(gqt.fakeTranslate("Form", "Remove", None, -1)) - self.preCustomStepRun_pushButton.setText(gqt.fakeTranslate("Form", "Run Sel.", None, -1)) - self.preCustomStepEdit_pushButton.setText(gqt.fakeTranslate("Form", "Edit", None, -1)) - self.preCustomStepExport_pushButton.setText(gqt.fakeTranslate("Form", "Export", None, -1)) - self.preCustomStepImport_pushButton.setText(gqt.fakeTranslate("Form", "Import", None, -1)) - self.postCustomStep_checkBox.setText(gqt.fakeTranslate("Form", "Post Custom Step", None, -1)) - self.postCustomStepAdd_pushButton.setText(gqt.fakeTranslate("Form", "Add", None, -1)) - self.postCustomStepNew_pushButton.setText(gqt.fakeTranslate("Form", "New", None, -1)) - self.postCustomStepDuplicate_pushButton.setText(gqt.fakeTranslate("Form", "Duplicate", None, -1)) - self.postCustomStepRemove_pushButton.setText(gqt.fakeTranslate("Form", "Remove", None, -1)) - self.postCustomStepRun_pushButton.setText(gqt.fakeTranslate("Form", "Run Sel.", None, -1)) - self.postCustomStepEdit_pushButton.setText(gqt.fakeTranslate("Form", "Edit", None, -1)) - self.postCustomStepExport_pushButton.setText(gqt.fakeTranslate("Form", "Export", None, -1)) - self.postCustomStepImport_pushButton.setText(gqt.fakeTranslate("Form", "Import", None, -1)) - + self.groupBox.setTitle(gqt.fakeTranslate( + "Form", "Custom Steps", None, -1)) + self.preCustomStep_checkBox.setText( + gqt.fakeTranslate("Form", "Pre Custom Step", None, -1)) + self.preCustomStepAdd_pushButton.setText( + gqt.fakeTranslate("Form", "Add", None, -1)) + self.preCustomStepNew_pushButton.setText( + gqt.fakeTranslate("Form", "New", None, -1)) + self.preCustomStepDuplicate_pushButton.setText( + gqt.fakeTranslate("Form", "Duplicate", None, -1)) + self.preCustomStepRemove_pushButton.setText( + gqt.fakeTranslate("Form", "Remove", None, -1)) + self.preCustomStepRun_pushButton.setText( + gqt.fakeTranslate("Form", "Run Sel.", None, -1)) + self.preCustomStepEdit_pushButton.setText( + gqt.fakeTranslate("Form", "Edit", None, -1)) + self.preCustomStepExport_pushButton.setText( + gqt.fakeTranslate("Form", "Export", None, -1)) + self.preCustomStepImport_pushButton.setText( + gqt.fakeTranslate("Form", "Import", None, -1)) + self.postCustomStep_checkBox.setText( + gqt.fakeTranslate("Form", "Post Custom Step", None, -1)) + self.postCustomStepAdd_pushButton.setText( + gqt.fakeTranslate("Form", "Add", None, -1)) + self.postCustomStepNew_pushButton.setText( + gqt.fakeTranslate("Form", "New", None, -1)) + self.postCustomStepDuplicate_pushButton.setText( + gqt.fakeTranslate("Form", "Duplicate", None, -1)) + self.postCustomStepRemove_pushButton.setText( + gqt.fakeTranslate("Form", "Remove", None, -1)) + self.postCustomStepRun_pushButton.setText( + gqt.fakeTranslate("Form", "Run Sel.", None, -1)) + self.postCustomStepEdit_pushButton.setText( + gqt.fakeTranslate("Form", "Edit", None, -1)) + self.postCustomStepExport_pushButton.setText( + gqt.fakeTranslate("Form", "Export", None, -1)) + self.postCustomStepImport_pushButton.setText( + gqt.fakeTranslate("Form", "Import", None, -1)) diff --git a/scripts/mgear/maya/shifter/customStepUI.ui b/scripts/mgear/maya/shifter/customStepUI.ui index bd8ca23..d4df848 100644 --- a/scripts/mgear/maya/shifter/customStepUI.ui +++ b/scripts/mgear/maya/shifter/customStepUI.ui @@ -6,8 +6,8 @@If this option is checked. The channel name will have unique full name.
i.e: "arm_L0_blend"
If the option is unchecked. The channel will use the simple name.
i.e: "arm_blend"
NOTE: With the option unchecked. If the channel host (uiHost) have 2 or more componets of the same type. The connection will be shared amoung all the componets with the same name channel.
i.e: If we have 2 arms, the channels will be shared for both arms. To avoid this behaviour with the unchecked option, please use a unique channel host for each component.
", None, -1)) self.classicChannelNames_checkBox.setText(gqt.fakeTranslate("Form", "Use Classic Channel Names (All channels will have unique names.)", None, -1)) + self.groupBox_7.setTitle(gqt.fakeTranslate("Form", "Base Rig Control", None, -1)) + self.worldCtl_checkBox.setToolTip(gqt.fakeTranslate("Form", "Shifter creates by default a Base control called "global_C0_ctl".
Since this control is not accesible from any guide locator. Is not possible to add it as a space reference.
If this option is active, The base control will be named "world_ctl" and we can add "global_C0_ctl" as a regular "Control_01" component.
This way we can use it as space reference.
The biped guide template is configured with this structure.
", None, -1)) + self.worldCtl_checkBox.setText(gqt.fakeTranslate("Form", "Use World Ctl", None, -1)) diff --git a/scripts/mgear/maya/shifter/guideUI.ui b/scripts/mgear/maya/shifter/guideUI.ui index 0b338db..4831e84 100644 --- a/scripts/mgear/maya/shifter/guideUI.ui +++ b/scripts/mgear/maya/shifter/guideUI.ui @@ -14,7 +14,7 @@