[Maya] Rigging Non Spherical Eyes Using Only Joints


Normally, to rig a non-spherical eyes, I’d use FFD or Blendshape but I’m supposed to use only joints on this task.

There are already existing threads about this topic. Like this one or this one but they are inconclusive (i.e. the OP didn’t get back to them).

The closest working suggestion is animating UV instead or having a pseudo eye rig in Maya and make an actual eye rig in the game engine.

But I’m still wondering if it can still be done solely by using joints.

The conclusive thread I can gather is this one but its in blender. And I’m not sure how to translate it to Maya since Blender has this local/world space configuration between driver and driven constraint objects.

Is there a way around this?

RiggingDojo #rigtip Unity cartoon eye - YouTube might give you some ideas

1 Like

Maybe computing a project matrix for joint could work?
* But:

  1. the Vertices of eye iris may not fetch on the eyeball mesh
  2. affected by skin-weight
1 Like

I’ve seen this approach in ‘joint only’ game pipelines: Use rivet constraints to drive joints with a mesh that uses other deformers (like blend shapes).

  • copy your final (export) mesh to an intermediate ‘driver’ mesh
  • use blend shapes to deform the driver mesh
  • use rivet constraints to drive joints with the driver mesh
  • and then , finally, skin the final mesh to those joints

Thanks for the responses!

@bclark I checked this but its mostly for lids and not for the eye rotation (my main problem). But I guess its related to the solution I picked below

@MineClever Admittedly this is beyond my current skill set (i.e. fiddling with matrix). So I wasn’t able to test this. Sorry about that.

@Mambo4 I went with this one. It’s a bit cumbersome to set-up but its the closer result that I was looking for on purely joint based set-up.

Thanks again for the replies! Have a great day ahead!

I don’t know if this is what are you looking for.

  1. Create sphere and 2 joints. Parent joint1 under joint2.
  2. Skin sphere to joint1.
  3. Scale joint 2 to get desired shape of non Spherical eye.
  4. Now try to rotate joint1.




I can confirm this works. Thanks for the illustration.

I actually tried this one before but it didn’t work. Then your post made me rethink the process.
I guess what I forgot is to turn off Segment Scale Compensate.

Thanks again!

1 Like