Dragon head - with scales

I didn’t want to dig up my old thread due to the age and the flame war on it. Anyway I’ve bean working on a way to animate them without deforming.

The concept:


sorry, I don’t actually know your old thread…

…and the results? :slight_smile: Looks nice :slight_smile:

do you mean you only want to animate the scales? sorry, im not quite following.

I think, he means, to animate how the scales would move, while the head is moving.
For human skin, with very soft (and small^^) “scales”, which deform anyway, you don’t need that, but reptile-scales are way rougher and rigid. That gives the need of animating them in a special way…

The scales are rigid and attached individually. This makes a simple deformation strange as real scales move individually without deformation.

There was one problem with the mesh cage approach; how do you copy the weight paint of the head to the cage? Sounds like a complicated problem with no apparent solution, or?
40 lines of python and the result:


And please ignore the crazy bend on the neck. The rig is still under development…

could you add a short screencapture gif or animated render? That would probably clarify the effect :slight_smile:
Right now, it looks like red tris above a grey material…

Not really. If you make an armadillo, then yes this is the case otherwise not. Lizards and snakes both have scales which are attached to each other and don’t overlap. Although the individual scales are rather rigid the entire skin is still rather deformable. Fish are another topic since their scales overlap each other but then again they hardly move except their fins which are not covered in scales. You can try to animate the individual scales but a dragon with individual scales on looks looks out of place. Besides the head is what is called a “semi stiff facial mask”. With other words nothing except the jaw actually moves so there’s no need to animate something which doesn’t move. Makes your life a lot easier.

And how do you suppose I am going to make facial expression with a stiff head?

There’s more than facial animation to convey emotions. The other is called “body language”. In fact it is far more powerful than facial animation but also more difficult. It’s definitely going to look strange if scales are moving around while the mouth moves or alike. That said thought in the end it’s your call on that model.

Apparently my last post post got lost in the system. But I’ll try again.

The rig has bean recreated, now it is much more stable and easier to control.


And the scales are taking shape.


I’m personally not a friend of b-spline bones. They tend to overshoot and twist since they are “under-defined”. Conventional rigs are more complex but better to control and predictable.

if you finished your scale-layer to some extend, could you show a short sample animation?

I haven’t tried a conventional rig because none of the ones I found had any support for twisting or IK and the weight paint to 10+ bones sounds like a nightmare to me.

The current b-spine bone neck rig have some stability problems (Mostly tweaking of the IK chain needed), and some poses causes the twist in the B-bone to miss-align with the next B-bone. Twisting is not perfect but works ok.


The scale rig seams to work well, and keeps the scales on the skin without intersection.

No need for 10+ bones. Animals have a certain number of neck bones and for animation you need at most 5 to get a neck of that length working. 4 or 3 might be even enough in this situation. Short necks are a lot easier to do than long ones.

Looks greeeat!

One evening I drew a layout for the scales to the head of the dragon.



After half a year since I worked on this project I dug it up and compared the drawing with the actual model:


The similarities are striking considering the fact that this was drawn with a only a half year old memory as a reference.

Anyway, the idea for the scales is to position them in such a way that they do not intersect or have to much space between them. I’ve tried several setups and ended up with a shrink wrapped double mesh for positioning an partial rotation and a script (with more bugs, hacks, workarounds, and experimental test code than actual code) for the final rotation.
Sample image:

Sample animation on YouTube
NOTE: The animation was sort of mocked together in a short period of time using recycled IPO curves!
PS: You can watch it in 720p HD! But thats kind of waste of bandwidth since the original animation was rendered in half that resolution and then scaled up to 720x1280.

Looks awesome. Check this tutorial out on blendercookie.com about making reptilian scales with alpha maps. I really don’t know if it would be easier for you but I thought I would give you the link. Hope it helps, and I will be following this WIP. I hope to see more updates soon!

http://www.blendercookie.com/2010/01/08/sculpting-reptile-scales-with-alpha-maps-in-blender-2-5/

you might possibly think about parenting the scales to vertices. This would cause them to move with the skin but NOT deform.

Scales are looking nice as far as I can see.

The trick would get fitting them all to the Dragon mesh and animating them, but it seems you’re getting that figured out.

@Genin-jc987:
The tutorial deals with sculpting the scales as a geometric feature. This is unfortunately not very useful for this model as each scale is modeled as an individual object.

The current setup of scales is as follows: Each scale is parented to a simple “lowres” version. The simple scale is vertex-parented to a mesh with a copied weight and shrinkwrapped to the head model. This vertex parent positions the scale and rotates it partially. The scale is only partially rotated since the vertex parent can’t predict the position of the scale before it. It’s here the python script calculates the distance to the previous scales and tries to rotate it the last bit, right over the scales before it without intersections.

The result is a mess. A mess to set up. To add on the rest of the scales I just have to follow these 10 simple steps:

  • Expand the the vertex parent mesh
  • Create a scale
  • Create a “lowres” version
  • Position both
  • Parent verts -> lowres -> scale
  • Create a vertex group in the vertex parent mesh
  • Edit the dependencies to the scale (and possibly to affected scales)
  • Pray you did not created a circular dependency.
  • Repeat step 1-8 with the next 600+ scales
  • Crash blender and put your faith in the autosave featur

Something went wrong near step 9…