Sprint | Updating mDrake and Face Blocks WIP

I’ll be updating this post through the sprint. This post will stay public until the end of the sprint when it will be Patron only. Trying this public to private method as an experiment.

Intro

Continuing the plan of add mDrake has been out a few months and needs an update to the new build setup as well as some other bits to make it more useful.

Plan

What do we need to do?

  • Geo | There were some polish I was looking at way back I need to revisit and see what’s going forward
  • Pistol | Making the pistol a work fully
    • Separate to a new asset
    • Trigger
    • Slide
    • Magazine
  • Prop handle | New Profile for handle
  • Face | Need to update the facial blocks and make sure they’re building
  • Fresh build | new build of the rig
    • New foot setup

Geo

mDrake

Time to look at the old stuff and see where we were and what I was concerned with.

  • Shoe | was a little uniform and wanted to tweak the form a little
  • Eye | shifted to a concave iris for better rendering
  • Arm | slight tweak to shape and how the rolled sleeve lay
  • Teeth| lowered teeth line

Holster

We need a way to unfasten it believably and reclose it so some slight modification will be necessary

Jump in maya…

Pistol

The pistol needs some work to make sure the geo will move properly

  • Slide
  • Trigger
  • Mag

Started digging into the model to make this work and it’s going to take more effort than the mesh quality would make sense for. So I reached out to turbosquid to see if I can purchase a model there for use with an asset.

…Nope. Looks like we won’t be able to use turbosquid stuff to add props to assets. Best hop to.

Mesh

  • Split the barrel from the slide along with the spring attachemnt
  • Split out the chamber cover
  • Extended barrel
  • Tweak to housing to get the slide kinda okay
  • Fixes to uvs

Textures

  • Toned down bump/normal
  • Toned down pistol textures till we can really get a great quality asset.

Pistol rig

We need to do a few things with the pistol. Some of them new for MRS stuff.

  • We want the ability to add space targets to then connect to another asset
    • This may be as simple as named space pivots or it might be something else
  • We want to have more controls
    • Pistol
      • Trigger
      • Slide
      • Mag

Form

Plan out how many shapers I’ll need…

  • 4 Blocks
  • Showing off puppet mesh above
  • Loft setups for most of it. Added dup of the barrel geo to base for better proxy represenation

Prerig

There’s two things we need to look at doing here.

  • SDK Groups | I want to setup a trigger pull sdk that will drive the, trigger, and slide so we need a way to toggle this to wire.
  • Pivot space | We use the pivot setup all over. Want to try to not use this as an on all the time thing but as a kind of space pivot. Maybe bankSpacePivot?
  • Prop spaces | We need a concept for adding named space targets so we can add these for left/hand right hand, etc. We could potentially do that just via alias after the build and have them update the alias

Adding some new attributes to handles:

  • buildSDK | enum | none:dag | This is our starting setup for this.
  • buildBankPivot | enum | none:base | want to do this like space pivots but they are like space pivots with our bank rig. Not sure I’ll have time to do this one this pass but just wanting to think through it. Thought about doing it as number of bank pivots but I think
  • numSpacePivots | just adding this standard one. Then the questions is how many do we need. For our first pass here I’m going to try using space pivots as our targets for attaching to our character thus we’ll need:
    • hand l/r, holster + an extra = 4

SDK

After we build we need to setup our sdks on the rig.

  • Add a float driver on the main handle
  • Setup sdks on a post repeating cycle so you can play with timing easily
  • add some simple fire

Face

First take a look at where we are.

  • General
    • Make sure all are building
    • Experiment with the controller tags with proximity setup
    • Start fleshing out face block documenation
  •  Eye
    • Not happy with lid shape. Add more handles
    • Incorporate patch fix on lids
  • Brow
    • Maybe revisit the surface/offset stuff
  • Lower
    • ?

Eye Block

Profiles

Check various profiles

  •  eyeSimple
    • Working again
    • Without IK?
      • Changes to skeleton setup and some other bugs to make work
  • eyeClamLid
    • need a lot of work on lid stuff

Define

  • Few bugs from changes to systems
  • The sizing is baking by default, implementing the new sizing method
  • Added a better flagging method for making vector arrows track handles via an arrowFollow kw
  • BaseSize

Define Curves

Want to bring in the define curves from muzzle to make it feel more consistent

  • I tried linear and cubic curves. Thinking we keep define state linear so users don’t get to tied up with the look and just the points.

Form

I want to have more form definition for the lid without going too crazy. I came across this amazing image on facebook a while back and want to use it for ref.


From Anatomy For Sculptors

We need a plan to better flesh out our shapers for our new lids setup. So we head to photoshop for some drawovers.

  • Need to add new handles, maybe use numShapers?
    • Maybe just have a set count by the curve
  • Curves needed
    • Upr/Lwr
      • contact
      • line
      • mid
      • edge
    • Think we’ll hold off on the full out trace till the next pass till we decide if we want that eye orb as a part of the muzzle or eye setup…
  • Next pass
    • Add closed lid base setup
    • iris
    • pupil
    • non spherical eye

To Do

  • Build new handles
  • Build Curves
  • Build Surfaces
  • Wiring
    • setup self mirror ability like muzzle/brow
      • Looking into it, enforcing a self mirror ability isn’t worth the limitation. I’d have to always have a consistent count on left/right of the center split which isn’t ideal
    • try the new maya control stuff to start working through that

Attributes

  • numShapersLine
  • numShapersOuter
  • pupilBuild
  • irisBuild
  • irisDepth
  •  numLidLwr/UprShapers
    • Setting this to min of 3 for now
  • lidType | simple:full | Unsure on this one

Process

Gut out the old form stuff. Start pulling from muzzle block as that was the furthest along facial block.

Handles

  • Rather than fixed names, we’ll do an iterated name list from inner to outer
  • So for each ‘line’ we need to
    • Get the handle number
    • Generate tags
    • Generate positions
    • Build handles
    • Build curves
    • Build loft dicts

Pass 1

Notes…

  • Need to add control hiding via the control tagging
  • Play with the surface setup
  • A bit busy. Lose the joint labels
  • Define – add eye surface rather than nurbs
    • Should we deal with pupil/iris size?

Pass 2

  • Tweaked MRS shaders. diffuse way down, spec down. Trying to get them not so offensive to work with
  • Define stuff hides better now
  • Checked coloring
  • Added pupil/iris size helpers — will probably need to have those not there when we don’t care. Was thinking that it would aid in building proxy geo to have that.
  • Testing simple raycast snapping workflow to see if I need specific snap to surface calls

Notes…

  • Think we don’t need the vector line helpers from define
  • Add a visDefineVolume (?) to hide the eye suface so we don’t have to manage that all the time. If invisible may need the old curve as well and just toggle the surface on and off.
  • Wondering if we need an overall lid mover for more ease in offsetting the lid from the iris line and if w do that do we need to be able to rotate the orb of the ball?

Pass 3

  • UI
    • Adding initial ui for eye
    • Added calls to
      • Snap selected to surface
      • Snap state handles – still working through this one
  •  Define
    • Removed vectors
    • Added proximity setup on handles
    • Projecting curves
      • Tried this with the pupil, iris. Works but is really slow
    • Duplicating some live curves on the surface to give more frame and I kinda like it
    • At end, snapping the define handles to the surface. It feels good. Think we may need this for
  • Proxy
    • Reworked how the eyeball proxy is generated at after rig to incorporate the pupil/iris data

Notes…

  •  Gen
    • Bring mesh in to start building towards mDrake
    • Start fleshing out docs
  •  Define
    • Need an offset value for the pupils and to know how much to offset ‘skin’
    • Move aimer from prerig to define
    • Connect pupil/iris to that
  • Form
    • Select ui not working as intended
    • Look at adding the extra ring of mesh, maybe just to upr?

Pass 4

  • Define
    • Major change ups…
    • Tried moving the orient and pivot handle to define state
      • In the end this was an undependable way to position the
    • Iris/pupil now tracks the surface to make non uniform eye setup work
    • Iris/pupil changed from attribute driven to direct
    • irisDepth added
    • Iris/pupil helpers now conditional on if there is a build option for them
  • Form
    • Added lid follow on the contact handles driven by the lid line
  • Prerig
    • Orient helper aims at iris position for base now
    • Changed out control curve
  • Post
    • Initial pass on making the proxy work without pupil. Looks like a tasty egg…no?

Pass 5

To do…05.21

  • General
    • Bring in mDrake to work towards
    • Check mirroring setup
      • Define
      • Form
  • Define
    • Added way to visualize lidDepth
  • Form
    • The track curve now gets initial pos via closest point
      • Contact/Line
    • Renamed tags – contact,line,edge,orb
    • Made follows on surface point rather than parent constraints
  • Prerig
    • Changed out handle shape
  • Rig
    • Lid building
    • Get bug fix in
      • Those curves need to got to eyeRoot anim rather than rigNull
    • Changed fk control shape to a loli using the iris look at control

Next Pass

  • Form
    • Add pick walking
    • Add extra shaping curve for the curve of lid. Maybe call curvature
      • Constain those handles between mid and line, maybe rename some
  • Prerig
    • Rework initial pos for joints – need a curve that goes through the ‘barrel’ of the lid form

Brow Block

Review

Looking at the old setup, what works, what doesn’t. Bokser and I have had some discussion on the eye squeeze/eye orb stuff and aren’t sure where to implement. On Morpheus 2 I considered the squeeze and upr cheek as a part of the brow. This might be weird on a animal/critter (was watching How to Train Your Dragon with the kids last night) and Toothless brow is much more a part of his eye. A frog would be similar. So… this is something to work through.

  • Define
    • Just the volume may not be as useful as the visible framework like with muzzle
  • Form
    • Move the prerig curve to prerig

Planning for define.

Pass 1

  • Define
    • Implement handles
    • Self mirror setup

Muzzle

Define

Attatch to Surface With Driver

To do what I want with eye I need a more standardized way to attach things to a surface. To do this I need:

  • Surface to attach to
  • Object to drive (I’ll use the attach to surface setup just add the driver)

Notes

  • Need the transversal surface to not be with the pole at the front where the iris is for best use. It flips. To avoid extra setup, we’ll have a differently oriented surface for the ball.
  • This is implemented on the iris and contact handles for eye block

Just working with nurbs for now.

Bokser Gig

Nub

  • Single joint setup was messed up from the workshop update. Fixed

Controller

mc.controller(‘uprEdge_3_defineHandle’)
mc.controller(‘uprEdge_3_defineHandle’,q=True)

 

General

baseSize

This has been a hard concept to iterate through. It keeps coming back up as not quite working how I want.

  • The baseSize for a profile should be in the baseDat and not just set via value

Change Log

Bugs

  • Marking menu
    • Changed reset call to use channels when selected
  • Benn
    • Patcher wigging out. See if that fix for Christine messed that up.

General

  • master_tdSet | Implemented to simplify outliner with a single master object set
  • Block deletion | noTrans define nulls weren’t being found. Should be working now

Head

  • Change to naming. Neck handles will not have an iterator if there is only one handle anymore. Prerig rebuild necessary for this to happen.

Handle

  • NEW – SDK dags
  • NEW – Space pivot support
  • Bugs

Eye

  • Proxy mesh gen – change over to new system
  • Attr Mask implemented

Limb

  • BUG | Fix for nub not building as expected for a Bokser project
  • BUG | Fix for lever shape not using the loft shape variant

Core

Curves

  • New loft curves
    • loftCircleHalfUp/Down/Pos/Neg | will see about adding to loft setup. Mainly wanted for eye lid control shapes for now

Josh Burton

[MRS Project Lead | CG Monks] Josh is an animator turned TD who hails from Oklahoma, pre-undergrad in the Marine Corps, animation basics at Savannah College of Art and Design, cut his teeth in gaming and commercials before co-founding CG Monks and more recently the CG Monastery. The Morpheus Rigging System is a culmination of years of R&D and he is now thrilled to see what users can create, collaborate and expand on with this open source MRS platform.