Jump to content


Multi-layered procedural muscles WiP

muscles procedural character

  • Please log in to reply
20 replies to this topic

#1 Zanozza

Zanozza

    Peon

  • Members
  • Pip
  • 67 posts
  • Joined: 12-March 07
  • Location:London
  • Name:Vladimir Yudin

Posted 10 April 2013 - 04:07 AM

Hi!

I've been very impressed by Weta's "Digital Tissues" ( http://www.fxguide.c...-tissue-system/ ) so decides to try to create simplified muscle rig.

The target:

1. Muscles can be created procedurally.
2. Muscles can be created manually (sculpted) but placed procedurally.
3. Muscles not intersected with bones or another muscle layer.
4. Muscles can move by active or passive way (joint bended by muscle itself or by another force).
5. Muscle can be affected by gravity, acceleration, in-between muscle layer or skin.

So, this is the first, very simple iteration:



How this works for now? (simplifier version):

We have a shulder and sub-shoulder:

muscle.01.01.png

Place the main points of muscle and tendon attachment:

muscle.01.02.png

Generate the points normals, perpendicular to surfaces:

muscle.01.03.png

Project points to surfaces:

muscle.01.04.png

Left muscle points only:

muscle.01.05.png

Generate the spline from one muscle point to another on bone surface:

muscle.01.06.png

Sure, we can do the same including the tendon' attachment:

muscle.01.07.png

Now generate the muscle based on this spline and given muscle profile:

muscle.01.08.png

The parameters of muscle:

muscle-UI.png

The form of muscle is based on "form" curve. The form changes with muscle contraction is controlled by "width scale" and "height scale" curves. They depend from joint angle.

muscle-form-setup.png

So, to be continued! :)

Any questions or suggestions is welcome!
  • gui likes this
........Sr. Technical Artist
Microsoft SOHO Productions

my web ..................my vimeo

#2 abvfx

abvfx

    Houdini Master

  • Members
  • PipPipPipPip
  • 524 posts
  • Joined: 13-July 04
  • Location:London, UK
  • Name:Andrew Browne

Posted 10 April 2013 - 04:22 AM

This is very cool, i will be looking forward to more updates. Great work!

blog - updated (12/05/14)

twitter


#3 Sifis

Sifis

    Initiate

  • Members
  • PipPip
  • 108 posts
  • Joined: 28-October 10
  • Location:Thessaloniki, Greece
  • Name:iosif kefalas

Posted 10 April 2013 - 04:44 AM

Looks promising, I 'm looking forward to see what it might bring.

#4 edward

edward

    Grand Master

  • Members
  • PipPipPipPipPip
  • 3,833 posts
  • Joined: 10-September 02
  • Name:e.d.w.a.r.d. .

Posted 10 April 2013 - 06:30 PM

Now generate the muscle based on this spline and given muscle profile:


Interesting. If you generate a "center" spline in between, then I wonder how well the Inflate SOP will work with this on some skin geometry.
don't panic!

#5 Netvudu

Netvudu

    Houdini Master

  • Members
  • PipPipPipPip
  • 913 posts
  • Joined: 24-May 06
  • Location:Barcelona, Spain
  • Name:Javier MeroƱo

Posted 11 April 2013 - 07:52 AM

oooh...keep at it, please. It looks like a nice tip of the iceberg :)

#6 Zanozza

Zanozza

    Peon

  • Members
  • Pip
  • 67 posts
  • Joined: 12-March 07
  • Location:London
  • Name:Vladimir Yudin

Posted 15 April 2013 - 03:45 AM

Thank you, my friends, for a warm feedback! :)

I haven't so much time as I would to spend for this wip, but, anywa, there is the new week and I have something to show you again! :)

Today is "Fat Skin Day" :)

Please take a look on video of sliding skin:

This sphere' skin have most of "freedom" of "fat under" sphere' Equator and less freedom on sphere' Poles.

Bonus is - skin is polygonal object and can have ANY topology structure. On this example I have very low-poly polygonal object. Sure, with more polygonal dense we can get more "smoothed" topology deformation (or "flow"). Dynamic itself will stay same.

Sure, every elasticity attribute can be painted or settled procedurally:

- "freedom";
- layer of "fat thickness";
- fat linear constant;
- fat linear damp;
- fat angular constant;
- fat angular constant;

So, this is original sphere:

slidingSkin.01.01.png

Painted "freedom" attribute:

slidingSkin.01.02.png

Finally, this is visuar representation of "freedom" as a normals length (for your visual consideration):

slidingSkin.01.03.png
........Sr. Technical Artist
Microsoft SOHO Productions

my web ..................my vimeo

#7 Zanozza

Zanozza

    Peon

  • Members
  • Pip
  • 67 posts
  • Joined: 12-March 07
  • Location:London
  • Name:Vladimir Yudin

Posted 15 April 2013 - 04:58 AM

Interesting. If you generate a "center" spline in between, then I wonder how well the Inflate SOP will work with this on some skin geometry.


This is not muscle (yet), but some hard obstacle, like knee (sure, imagine a Pretty Girl' knee! :) ), ribs, clavicle etc movement under skin:



obstacleUnderSkin_24.jpg
  • gui likes this
........Sr. Technical Artist
Microsoft SOHO Productions

my web ..................my vimeo

#8 Zanozza

Zanozza

    Peon

  • Members
  • Pip
  • 67 posts
  • Joined: 12-March 07
  • Location:London
  • Name:Vladimir Yudin

Posted 18 April 2013 - 08:50 AM

Another small update:

muscles_03_40.jpg

video:

As you can see, the muscles can slide one on another and working completely independently.

Sure, every "bottom" layer affect to "upper".
........Sr. Technical Artist
Microsoft SOHO Productions

my web ..................my vimeo

#9 Fabiano Berlim

Fabiano Berlim

    Initiate

  • Members
  • PipPip
  • 207 posts
  • Joined: 24-June 08
  • Location:Brazil
  • Name:Fabiano Berlim

Posted 18 April 2013 - 02:12 PM

That's a very nice tool! Keep it going please!

#10 goldleaf

goldleaf

    Initiate

  • Members
  • PipPip
  • 182 posts
  • Joined: 24-April 08
  • Name:Chris Rydalch

Posted 18 April 2013 - 08:22 PM

Very cool!

Does the system remain pretty responsive when applied to a character? (if you've had the chance, of course; if not, still very, very nice!)

Kudos!

#11 Zanozza

Zanozza

    Peon

  • Members
  • Pip
  • 67 posts
  • Joined: 12-March 07
  • Location:London
  • Name:Vladimir Yudin

Posted 19 April 2013 - 12:37 AM

Today this system in "prototype" condition, so I don't worry (yet) about performance. Sure, this isn't realtime, but approx 10-15 fps.

I'm planning to write own solvers later, for muscles, inter-organs(muscles) layers, ribs and skins. But I want to create a working solution by standard Houdini operators first.

Thank you for your warm feedback, my friends! :)
........Sr. Technical Artist
Microsoft SOHO Productions

my web ..................my vimeo

#12 Zanozza

Zanozza

    Peon

  • Members
  • Pip
  • 67 posts
  • Joined: 12-March 07
  • Location:London
  • Name:Vladimir Yudin

Posted 19 April 2013 - 08:56 AM

Another short update (sorry, this is my hobby).

As you can see, I've got control on int-muscle sliding.

1 - muscles sliding without affect;
2 - under layer is "pulling" higher muscle layer in full affect;
3 - "pulling" is variable and depends from higher muscle' tension.

muscles_04_114.jpg


........Sr. Technical Artist
Microsoft SOHO Productions

my web ..................my vimeo





Also tagged with one or more of these keywords: muscles, procedural, character

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users