Tuesday, June 4, 2013

You're Doing It Wrong: CGI Feathered Dinosaurs

YIKES.
Promotional still from When Dinosaur Roamed America,
Discovery Channel 2001
CGI dinosaurs have come a long way since Jurassic Park. Unfortunately, due to the discovery that these animals were far more bird-like than reptile-like, that direction is straight down a seemingly bottomless pit. For many CGI artists and animators, the key concept that is presenting a very steep learning curve is the idea that these animals need to be restored as feathered dinosaurs, not "dinosaurs with feathers." It looks like many people modeling feathered dinosaurs start out by rendering a featherless dinosaur and then using various modeling or rendering tricks to add the feathers. As you'll see below, this never, ever works.

A few things came together to inspire this post, and I want to emphasize up front that I'm not here to slam any of the artists involved, but rather to point out common errors or technique problems that are so common it's fair to describe them as systemic in modern paleoart, at least when it comes to 3D computer-generated models.

The first and most immediate were comments on this otherwise very nice looking CGI Dromaeosaurus model made by Matthew E. Dempsey and posted at DeviantArt. The first comment on the piece noted that the feathers should probably be longer. That's probably right. We know that basal paravians generally had pretty long body feathers, and there isn't much reason to suspect they were proportionately much shorter in larger individuals. Modern flightless birds may reduce the complexity of their plumage, but not generally the volume or length. You'll never, for example, see a bird with a short-cropped, cat-like pelt. This may be because the beneficial effects of feathers, such as nest brooding, insulation from heat and cold, and occasionally waterproofing, require a decent length beyond the skin and a good degree of overlap not possible if the body feathers are very short.

Matthew Dempsey (aka Sketchy-raptor) pointed out the biggest hurdle to making CGI maniraptor models this way: he wanted the feathers to be longer, but due to the way hair is rendered in CG programs (feather rendering is extremely complex and usually limited to specialized big-budget films like Up), adding long feathers to the CG "naked" raptor base resulted in absurd-looking sticky-out plumage that made it look as though the animal were being electrocuted. The compromise was to reduce the body plumage to essentially a glorified texture map, which makes the end result look like a dinosaur with feathers tacked on, rather than a feathered dinosaur.

Similar problems occur even in coordinated attempts to earnestly create believable and accurate feathered maniraptors. There is currently an Indiegogo movie project called Dino Hunt in production. The intent of this project is to create a realistic short film featuring dromaeosaurs hunting a ceratopsian, and it's close to reaching its fundraising goal for production. The overall project looks really cool. The web site features interviews with the producers who discuss their desire to see a nature-style dino doc done right, as accurately as possible. From the test footage, it seems to be a silent nature drama along the lines of Phil Tippet's classic Prehistoric Beast. If done right, this could be just the kind of dinosaur doc we've been clamoring for. No narration, no talking heads, no anthropomorphism, just a slice of Mesozoic life.

The producers, while they may have initially underestimated the sticklerism of paleo fans, seem to be game for fixing things in preproduction when called out on inaccuracies. For example, they initially had pronated hands on their dromaeosaurs. Once this was pointed out to them, they not only fixed the mistake, but posted a video about the classic paleoart mantra "clappers, not slappers." (Yes, the "fixed" version still has naked repto-fingers sticking out of the wing for some reason. Wings are modified hands, not things that stick off the hand. But it's getting closer!).

Despite these efforts, the overall look of the dromaeosaurs (at least based on available concept art) still suffers from the "body first, feathers later" technique. It is simply impossible to render a realistic bird-like animal by starting with a naked body and putting feathers over the musculature. Feathers are too complex for modern CGI to make that process yield even remotely believable results. As great a concept as Dino Hunt is, I have a bad feeling that Gorilla Suit Syndrome might completely break the illusion for myself and many other paleo-fans, whom this project seems to be aimed at.

As much as I eat up any and all dino-related media, I don't think I could get behind something that looked like.... well, like this:

CGI restoration of Aurornis xui, by Masato Hattori.
This is an image distributed for news outlets covering the discovery of the new basal avialan Aurornis xui. While an obvious amount of time and effort have gone into the painstaking modeling of feathers, I really hate to say it, but, the reconstruction looks like a hot mess. It's apparent from this image that the artist started by modeling the animal as naked musculature, with feathers added on later, whether modeled separately or rendered using a hair/fur brush. The result looks a bit stiff, but at the same time scruffy, like the poor bird hasn't preened itself for weeks. The contrast between the inexplicably hairlike "protofeathers" (somewhere Jakob Vinther is weeping) and the hand-modelled wing feathers is striking. There are no smooth transitions by way of scapulars, coverts, or contour feathers of any kind on the legs. Yes, it's hard to render realistic looking feathers. But there is a solution.

Don't. Render. Individual. Feathers.

It seems simple. A little too simple. But this is how CGI birds are always done, and it's something paleoartists need to figure out.

Imagine you were commissioned to do a CGI movie featuring chickens. If you were a paleoartist, you might spend hours or days modeling something that looked like this:

From Amusing Planet
You'd then render a bunch of unruly hair, but not hair so long it covers up the contours of the neck and legs you just spent so much time working on. Add a few wing and tail feathers that stick out at uncannily stiff angles to the bones, and call it a day.

But what you should have done is have realized that the muscles and even much of the skeleton of birds or any other maniraptorans probably did not contribute much at all to the life appearance of the animal. Those things are just scaffolding for feathers. Don't waste your time! A smart CG artist would use something like this as the base for a chicken:

By HomeCG.com
Here, the artist simply rendered the basic outline of the animal in life, feathers included, and applied textures and highlight feathers where necessary. I can guarantee you the artist did not start with a muscle model. The feathers don't stick out weirdly or look like fur, because they're not individually rendered. Why should they be? Feathers, thanks to their interlocking barbs, form a Transformer-like dynamic shell around the whole animal. There is simply no need to render (or draw) individual feathers except on the parts that are supposed to stick out, like the tail and tips of the wings.

Some CG feathered dinosaurs are improving in this way. The trailers for the new Walking With Dinosaurs 3D film seems to feature brief glimpses of maniraptors that have realistic, natural-looking feathers on the body (the lizard-faced troodont notwithstanding). They seem to have started from an appropriately fluffed-up base, and added just the tips of shaggy, ratite-like feathers, which gives both moving feather textures and the appropriate volume.

In the end, my advice to people making CG model of maniraptors will be a little counter-intuative. Ignore the underlying bone and muscle. Ignore it! You're just wasting your time rendering it, and it makes your finished product less believable to look at. Instead, sketch out a naturalistic version of what the animal would have looked like in life, figure out the contours of the feather covering, and just render that. You can then add as many shaggy feather tips as you want, but because you started with a realistic base, the whole thing will be much more accurate.

13 comments:

  1. Good post, I completely agree: most people continue to see feathered dinosaurs as scaly dinosaurs covered with feathers.
    Although the Hattori's Aurornis is a good work, I'm a bit partisan, and prefer Emiliano Troco's version... probably bacause he made it under my supervision ;-). When Troco asked me how to do the recostruction of Aurornis, I wrote him to image a mix between a tinamou and a pheasant.

    ReplyDelete
    Replies
    1. Yes, Troco's painting is really beautiful. Exactly what I'd imagine the real animal to look like in its environment.

      Delete
  2. Yup!

    That said, I would LOVE to see a model in which all feathers are individually rendered correctly - computed, I guess, for a year or so on a distributed network big enough to crack all CIA encryption simultaneously ;)

    ReplyDelete
    Replies
    1. Apparently this is basically what they did for the bird in Up. It's really impressive to see the feathers moving around in a realistic way, and not just the outermost layers. The key is that the feathers seem to *not* be moving most of the time, except when the tail is jostled around or they're being fluffed out in a threat display.
      https://www.youtube.com/watch?v=eeJ38HE8Q7U

      Delete
  3. Cool post, Matt. I think the feathered dinosaurs in 'Planet Dinosaur' were done in the way you indicate here. I'd never seen feathers rendered like that before, but it makes perfect sense. Hopefully it'll catch on.

    ReplyDelete
  4. YES! And... no.

    Especially when referring to cg models for animation.
    If you want the neck to possess the full range of dynamism, you'll need to solve the fact that feathers preserve volume while sliding over one another. Turn that chicken's head towards the back and those polys will collapse.
    Solution should respect boths needs....

    Heinrich, there are ways to fake the dynamics involved. One way is to have a volume grid, so all the feathers point to a respective point on a 'shell'. Then you just need to avoid them breaking through eah other.Not easy, but definitely not CIA encryption level :-)

    ReplyDelete
    Replies
    1. May require a more complex model to solve this:

      Neck is a construct with multiple segments, but feathers on the neck have to be constrected as different modules, ones which are bound to their neck segment, but align to one another. They stick out appropriately, but when the neck beds the feathers attempt to align to the raches of their neighbor neck-segment feathers. Heavy layering, such as when the neck is more U-shaped, should result in less apparent feather movement despite deep neck movement. Noting that feathers move in tracts may help: you don't need to feather every segment!

      Delete
  5. Well stated! Glad to see this issue summarized very clearly.

    I learned a lot of this in school a number of years ago when modeling/shading a cormorant. I quickly ended up skipping any sort of fur systems, and essentially using instanced geometry of a couple of different types of modeled feathers, changing up scale/orientation attributes here and there - but I only did this for the wings/scapulars/tailfeathers. The more I left the body alone, with a simple, relatively flat shader the better it looked - especially for the sleek silhouette of a diving bird.

    There's really no reason to do individual feathers that cover the entire body. If you need the detail, that can be a done as a special case, with a system designed specifically for the shots in mind. And even with that, you would want to start with some sort of base shape resembling the body contours. Plus if you plan on animating the animal, avoiding all the inter-penetration is just going to drive you crazy, even with a really great feather rig.

    ReplyDelete
  6. Great post Matt. I might defend the Aurornis reconstruction a bit in that, while it does look a bit like an unpreened, ragged, molting animal, I rather wonder if that was on purpose - the final render looks a lot like a juvenile modern bird molting into adult contour feathers. Since body feathers are not well known for many non-avian maniraptorans, and given some of the thoughts on heterochrony in bird origins/evolution, this seems like a bit of a neat idea to me. That said, I agree that it probably is not strictly correct - it is more likely that, as you say, the feathering pretty much looked like a modern adult bird (based on the handful of body feather preservation examples we have from paravians etc).

    I also note, like you have, that even when the hands are corrected with regards to their degree of pronation, the fingers are often modeled as exposed from the wing. I suspect that this is the result of trying to keep the fingers "free" as weapons - a bit of mental and artistic gymnastics that goes away as soon as you stop trying to jury rig the forelimbs into prey capture units.

    ReplyDelete
  7. You're doing it wrong - the makers of Jurassic Park 4 should also note that feathered raptors look much scarier than lizard raptors. But then again, I wonder how the JP team would go if they wanted to restore real raptors ...

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. I think while your advice is spot on in general, it all depends what your budget & knowledge is.
    The biggest issue is just having a feather groom tool that allows specifying a full body silhouette shape (basically an offset surface of the actual body consisting of a mesh representing the actual skin) which then steers feather length.

    The longer the feathers, the bigger the issue of interpenetration becomes.

    Even if you are on small budget, here's a master thesis that has solutions using off the shelf tools (Maya) to get feather interpenetration solved: http://nccastaff.bournemouth.ac.uk/jmacey/MastersProjects/Msc05/mnewport_MastersThesis.pdf
    There is also a paper detailing the solution used for the movie 'Rango'. Not many details are given in
    http://webstaff.itn.liu.se/~perla/Siggraph2011/content/talks/20-bowline.pdf but there is a reference to the paper "Collision-Free Construction of Animated Feathers Using Implicit Constraint Surfaces" of which I wasn't able to find publicly accessible copy online, unfortunately.

    Also of interest:
    http://cg.cs.uni-bonn.de/project-pages/hairmodeling/

    ReplyDelete
  10. Complex simplicity! It's hard to be rid of the popular image of reptilian dinosaurs because people love it. Don't worry, in time the majority of us will grow to better like the "feathery future". All we need is more awesome art depicting this accuracy in movies and renderings alike.

    ReplyDelete