Creating Manikin 'skin / flesh' (3D Brep) over 'skeleton / frame' (2D Curves, Points) ...?

This is a strange one … a bit of fun !

First off, of course I know that Rhino / Grasshopper is probably not the ideal software for this … but why not !


I am just going to start trying to make a script to model a cartoon hand (see reference images); with the idea that Grasshopper could be used to modify the position of the hand, the angle of the fingers, and thumb - ie. so that by modifying these angles the hand can assume a range of postures.

This idea came from an initial need to model a set of 2D vector hand drawings in 3D, which I did in Grasshopper (see attached model).

My script which references the 2D vector hand drawings is cumbersome, and I figured that a better solution would be to script a ‘skeleton’ (points for joints, curves for digits) and then wrap that skeleton in ‘flesh’ (either by pipes, offsets etc to form breps).


I have made a sketch of how I am thinking to go about this. Each point/curve will need to have its axis defined, and then its relation to other digits etc.

I was wondering if anyone had attempted something similar, or has any other suggestions or thoughts of how to start?


JJC.


ref_cartoon-hand-3d

hands-model.3dm (119.0 KB)
hands-model.gh (75.0 KB)

@DanielPiker has been working on something like this:
https://discourse.mcneel.com/t/ergonomic-bodies-character-animation-and-poses

ah this is great - thanks for pointing out!

Here’s a go at something like this with the ‘MeshCageMorph’ component. (from here)
This is still pretty experimental right now, so please limit your expectations for its usability!


handrig_test.gh (89.3 KB)

The ‘cage’ being used here is actually composed of multiple disjoint boxes


which are kept rigid, and linked with hinges at the green lines with Kangaroo.
You could also skip the Kangaroo part, and just move the mesh cage in Rhino.
The bigger the gaps between the cage parts, the more smoothly the mesh will bend there. There are no joint limits included, so fingers can bend the wrong way.

Hopefully a better option will be the bone based skinning
(what is shown in the animations I posted in the thread Jeremy linked above)
since that doesn’t require building a cage around the geometry, but just needs central lines or points.
However, there’s more work to be done on that before it is ready for release - particularly for automatically generating the skinning weights, and for constraining the rig more intuitively.

I want to make this stuff better in Rhino, but I’ll also be honest and say that right now this is something that would be much easier done in something like Blender

3 Likes

Thanks so much for this Daniel, I will download and take a look; I’ll post something back once I’ve had a play for your interest!

JJC.