Sprint | Finishing mDrake update

WIP POST
This post brought to you by the support of our MRS Patrons.
Intro
The last few months we’ve been updating the face blocks for MRS. To finalize this push I’m going to be updating mDrake with the new setup and update the asset for those users who have access.
You can see the previous sprint posts here:
Goals for this sprint:
- Finish mDrake
- Compile sprint update notes for a mrsDev branch merge to main
- Hit minor bugs from users
mDrake
Build is up.
Pistol
Need to do a few things to finish prep for this to use.
- Readd the holster to our mDrake template
- Find the position for the hoslter joint to match gun for snapping in engine so we don’t need a prop joint there
- Do we need prop joints on the hands?
Demo of a method for snapping geo.
Build
Working through a build.
To fix
- Naming
- space locator getting weird cgmAlias
- Happening during control registration?
- Nope, cgmPosition is getting set on the the skeleton phase to none
- Went back to BLOCKUTILS.skeleton_getNameDicts | this now checks for bad string values [‘none’,’None’,”,’False’]
- Still there. Looks like it’s at the prerig state
- Updated BLOCKUTILS.prerigHandles_getNameDat | same checks as before
- SpacePivots alias fixed
- space alias on parents off | the arm going pointing to chest_direct_anim_master for example.
- Went to the dynParent target finder and fixed the alias maker there.
- space locator getting weird cgmAlias
- General
- Rotate order | haven’t been happy with fk order on LIMB.
- Trying zyx (aimupout) for next LIMB build. Liking the segment one for now
- New paradigm by main rotAxis – out | zxy , up| zyx
- Rotate order | haven’t been happy with fk order on LIMB.
- Prop
- New profile for handle called snapPoint that doesn’t build extra bits
- Settings
- Some users have issues with setting placement
- Move to prerig phase like with head
For users:
- Weird alias names for spaces | you’ll have to go back to skeleton state and rebuild to get rid of the bad attrs making this issue
Pass 1
- Grab skinning dat from last build
- Trying ngSkin
Issues
- Geo
Teeth still a bit big- Thumbs
- Blocks
Left leg isn’t mirrored right- Thumb block to match new thumb
- Controls
lid handles need to be out a little furtherChange orient of sneer to be less along surfaceChange holster pivot to be more under arm- Move lip corners way out
- Joints
Move first upr/lowr lip joints closer to corner. Think having more fidelity there will give more bang for the buck
- Setup
- Position gun in hand and fix those snapPoints
Position- check after joint
Get rid of ears and hair on this proxy- Maybe look at transparent shader again
- Position gun in hand and fix those snapPoints
- Poses
- Setup initial pose library
- Post
- Mirror mapping on face blocks feels off. Is the verify breaking it?
Pass 2
To do:
- Naming
- lip corners | check lip joints
- Controls
- lid handles need to be out a little further
- Change orient of sneer to be less along surface
- Change pivot
- Joints
- Move first upr/lowr lip joints closer to corner. Think having more fidelity there will give more bang for the buck
- Setup
- Position gun in hand and fix those snapPoints
- Get rid of ears and hair on this proxy
- Maybe look at transparent shader again
- Poses
- Setup initial pose library
- Post
- Mirror mapping on face blocks feels off. Is the verify breaking it?
Pass 3
To do:
- Setup
- Add upr cheek control |Done
prerigcheekUprSetup
jointrig
- Add smile
- prerig
- joint
- rig_skeleton
- rig_shapes
- rig_controls
- Add upr cheek control |Done
- Geo
- Implement new geo changes – smaller teeth, tweak to under neck
- mesh_v12
- Mirror
- Facial mirror verify isn’t working right. Resolve.
- Easiest solution would probably be to wired the mirror controls at build and then let the verify handle indexing on that process
- Wire mirror controls
- Brow
- rig_controls
- Muzzle
- rig_skeleton | mirrorControl mapped. Here since we have all the left right splits there
- rig_controls| mirror side set here since we register the mirrorSide
- puppet_utils | Modified mirror_verify to look for a mapped mirrorControl. Added ability to match left and right on a single module (like face)
- Brow
- Facial mirror verify isn’t working right. Resolve.
Issues
Maya Crashes
This is something we’ve run into with others rigs as well. Did some googling and came across this post which actually seems to be holding up for now.
l = [] for o in mc.ls(type='mesh'): l.append(cgmMeta.asMeta(o).getDag()) mc.select(l)
Then edit>delete by type> non deformer history
Thumb issue
Benn found a bug where the thumb is twisting on form state. Digging in…
- Looks to be stemming from the reaiming work a bit ago
- Also found a bug on LIMB where some of the define state constraints will be deleted inadvertantly
- Added typeMask, typeFilter to getConstraintsTo/From on cgmObject and CONSTRAINT calls to match
- Fixed initially – removed the block reset orient of the end Handle. However I need to fix it when we have pivot setups. The simplest solution is to have a few modes and just have that be an attribute.
- formEndAim
- none
- back
- block
- formEndAim
Prop Handle | snapPoint
We need a simple prop block handle for game work. Initially I experimented with a whole new blockType. In the end simply adding a new blockProfile snapPoint
to handle it.
It does some special things for the handle block. The when this profile is active it no longer sets up the proxy mesh stuff. Just simple handles.
What matters:
- addJoint
- basicShape
- shapeDirection
Need to:
- When we have a parent block, add a vis setup to the settings for it
- to rig_dataBuffer | added a get settings thing like we used with muzzle and brow to find the module parent settings or master
- Wires to an attr there called snapPoint_partNameString
New Settings setup
Benn had a good idea to move the settings shape creation to prerig so you could tweak it before build.
So…
- Added the ability to create in BLOCKSHAPES
- BLOCKUTILS.get_handleIndices | new base call for generating those cast targets. because prerig handles aren’t placed where you want them by default I’m using the formHandles for casting.
Proxy Stuff
Lid geo proxy off.
Forgotten I’d turned this off. Wondering if workwhile to readd just to have ability to test.
…
Remember why it was off. It’s not a great look at present. My thought with clam was to just make some geo that rotated with the lid. Probably worth it for testing purposes.
Animate
Marking Menu
Bokser wants the marking menu to only do current time context and leave the other options to the ui.
- Implemented new marking menu ui kill to try to get rid of some crash cases
- Marking Menu calls now assume current frame time context
Other
- Puppet menu radial reset has a broken link to the right call