MRS: Branch Update 03.13.2019
Current Sprint: MK Base
- Time Context
- Continuing to iterate
MRS Branch Update –
If you’re currently using MRS you’ll wanna look at these until I get a chance to update the docs.
BIG – ‘Template’ Block State is now ‘Form ‘
Templatestate is now
FormState to avoid confusion with
.templateattribute and calling a guide collection a template as well as be more direct to what it is.
- You can check blocks with the Block Current Call? below. It will report if a rigBlock needs to be changed.
- AFTER the change you’ll need run the update patcher on your template files
import cgm.core.mrs.lib.general_utils as BLOCKGEN reload(BLOCKGEN) BLOCKGEN.patch_templateToForm()
- New Menus/Options
- Reorganized Context menu to make it sort by function better
Contextual>Prerig>Handles Lock/Unlock| Lock and unlock prerig handles when you need them to not move when you’re doing shaping stuff
- Reordered Contextual menu so the rig states are at the top to keep them more organized
Contextual BlockDat| Only load the data from certain states
Contextual>Names>nameList | edit| added ability to work with nameLists along with the prerig validation in LIMB
- To ScriptEditor | Right click menu on block to initialize the selected block to the script editor as mBlock
- Fixed a bug where the create size could get funky values. Now has a core min of .1 units
- Builder had a .5 sec sleep on the contextual calls I’d forgotten to pull when I was doing the progress bar work. Should be much faster.
- Major iteration on leg setup
- New foot setup options
- Quad leg much better
- New settings
- attribute – old option
- control – new option
- aim – aim the end lever
- full – build the full ik chain
- Added baseIK Control aim setup when present.
- Was having issues with the settings auto placement at rig time. Instead at prerig state a settings shape helper is created the user places where they want
- Added baseIK control aim setup when not a hips setup
- Redid how lever shape happens. Much more exact to form
- Sizing on the up/rp handles should be much more intuitive now
- Added ability to scale start/end define handles to better shape things at define
- The start/end handles not being able to scale felt weird. Now you can
- New tech/calls implemented to update blocks if you’ve not messed with them in a while
We decided to change over to gitHub. Let’s do it!
Setup account Transfer repos Transfer ssh key
Setup issue tracking
Single download update tool
New site means new api and working through the issues of getting those pulls.
from urllib2 import Request, urlopen, URLError import json urlopen('https://api.github.com/repos/cgmTools') response= urlopen('https://api.github.com/users/jjburton') response= urlopen('https://api.github.com/repos/jjburton/cgmTools/branches/master/commit/') response= urlopen('https://api.github.com/repos/jjburton/cgmTools/commits') response= urlopen('https://api.github.com/repos/jjburton/cgmTools/commits') response= urlopen('https://api.github.com/repos/jjburton/cgmTools/branches/master') response= urlopen('https://api.github.com/repos/jjburton/cgmTools/releases') json.load(response)
- Had to work through a lot of issues from the changes between how bitbucket and gitHub provide data
- Wasn’t too bad, just not the kind of coding I normally do
Reworked some calls to get data.
import cgmUpdate as cgmUPDATE reload(cgmUPDATE) cgmUPDATE.get_dat('MRSDEV',5)#...get dat list for last 5 commits of MRSDEV branch cgmUPDATE.get_download('MRSDEV',0,'url')#...get download link for the 0 idx commit of MRSDEV
Working with nameLists wasn’t intuitive. Took a few stabs at names and ended up with validating the namelist at the prerig state on LIMB to test to make sure there are enough names. If not, a prompt comes up.
Simplify limb End Settings
Much work on trying to get this to a better state. We’re simplifying what were two options at times to an enum covering both of those.
We’re simplifying to
The idea being that:
- none | do nothing
- dag | dag framework, no joint
- joint | dag and joint
Quad leg/direct foot control setup
WordPress was down a few days and I couldn’t work on the class materials so I started updating the horse template for the new stuff and when I built it I wasn’t happy with the foot. There’s been a request for a while on the queue to offer direct foot roll control setup. This seemed like a good match to that
Here’s the first pass on the quad leg
- Wasn’t happy with the fullIK option here so split that out to two different options
Wasn’t thrilled with how the define state shaping was just a box. Added taper ability and it feels much better.
Updating old templates
In getting mDrake’s template updated from the new stuff ran into a few issues.
- baseDat wasn’t getting reset. This is something that had presented before but not caused issue. It is now.
- Wrote a bunch of calls to implement this
- Tutorial Post
Define vector sizing
I tried this a couple of ways and kept getting hit with eval cycles as I wanted the sizing to be live but the handles being driven by eachother kept getting a loop. So…
- Re implemented the sizing of these handles being live
- The measure nodes wire back into baseSize
- At Template state, this connection is broken to avoid loops
- At templateDelete, the connection is restored