Advertisement

Should I Write a Book on Modern Real-Time Animations?

Started by November 20, 2013 11:36 PM
16 comments, last by JohnnyCode 10 years, 11 months ago

I have a book in the works but I’ve been thinking about starting another one either concurrently or afterwards on modern real-time animations.

First-off, my research shows no books covering what I intend to cover, but before I list them I will explain what I would initially plan to cover.

  1. Modern. GPU/shader-accelerated.
  2. Intended for games. Shader code (and perhaps included run-time code) for OpenGL GLSL, OpenGL ES ESSL, Direct3D 9 HLSL, and Direct3D 11 HLSL.
  3. Forward and inverse kinematics.
  4. Parsing an existing file format such as .FBX and/or .DAE to show how to extract animation data, save it to your own format, load it into your own game, and run it.
  5. Animation blending.
  6. Animation mixing.
  7. Hair animation.
  8. Morph targets/facial animations.
  9. Etc. Open to ideas.

I came up with the best 3, which are:

My questions:

  1. Do you know of any existing books that cover what I intend to cover?
  2. If not, would you like to see a book of this type?
  3. What else would you like to see covered in this type of book?
  4. Any other input?

Thank you.

L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

I though morph targets were not used anymore o.o.

I implemented a rather hacky morph target animation on unity because our artist could produce facial expressions much faster and better with this technique than rigging the characters face...So there was a face model for each expression, and you would morph (interpolate vertices) between them, is that it? Its really used?

(And you could interpolate between multiple expressions if they use independent groups of vertices, like different eyes expressions x different mouth expressions.)

BTW, isnt fbx "private"? you will have to manage an authorization for that wouldnt you?

Something missing is about mixing physics engine and animation engine, when one takes control over another?how that happens? not sure if theres enough to discuss that enough to need a book chapter.. You mention hair, would it react with physics?

Advertisement

I though morph targets were not used anymore o.o.

I am urged by Japanese to support it in my engine. It is at least still popular here.


and you would morph (interpolate vertices) between them, is that it? Its really used? (And you could interpolate between multiple expressions if they use independent groups of vertices, like different eyes expressions x different mouth expressions.)

Yes.

BTW, isnt fbx "private"? you will have to manage an authorization for that wouldnt you?

No.
I already have a chapter on it for my current book and Autodesk® has agreed to fact-check it prior to release.
Not only that but if I am to have 2 books covering FBX is some way, I feel I will have a bit more weight when I request features from them such as new parameters for materials that are more physically plausible etc. Autodesk® has been pretty cooperative with my current book and hell, maybe my 3rd could be just about parsing FBX files. Then they’de definitely have to listen to my requests for features!

Something missing is about mixing physics engine and animation engine, when one takes control over another?how that happens? not sure if theres enough to discuss that enough to need a book chapter..

I will plan on covering that. It is basically implicitly part of adding the ability to add controllers/overrides to the standard joint-animation system. By default, the skeleton animation system will produce a set of joint matrices that you can just plug in and play and get the same animation as during modeling. But you can add a secondary step after that which allows the user to create a matrix as well, and the logic for that is entirely up to the user. It could have special logic to make a head look at something while the rest of the body is animated normally, for example, or it can be derived from a physics simulation.
The base skeletal animation layer and the secondary user-controlled layer can also be mixed via interpolation (as in 20% base, 80% user, etc.), which allows the head to smoothly go from its default animation to looking at a target.
You can transfer control to physics immediately by setting it to 0% and 100%, or you can keep some amount of the base layer and have the character somewhat “resist” physics controls.

Inverse kinematics are a form of physics as well, and you can do the same to smoothly transition from a standard animation to an IK one.


Well, I suppose I should save some information for the book…


You mention hair, would it react with physics?

Probably not. Fake physics at best.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Seems like an awesome book content =)

I have the Character Animation With Direct3D book and it is very good although a little dated.

If you are going to write a book on Real-Time Animation. Could you make it get directly to the point?
I don't want to read 5 introductory chapters on DirectX or OpenGL (if I did I'd read a beginers book).

Other than that the concepts you are proposing sound awesome.

Since I am presenting code for 4 different platforms I will expect the reader to already be familiar with at least 1 of them. It’s far too much book to use on introducing 4 platforms/API’s.

L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Advertisement

Sounds like you've found a topic in need of a current text. No reason why you shouldn't be the one to write it. I'd definitely say you're qualified.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

1.

Nope

2.

Sounds awesome, I would definitely get it if/when it comes out.

3,4.

Being a mobile guy, I love you plan to include ES examples, would appreciate some notes on performance and memory usage comparisons too, and maybe some tricks and gotchas when your shader resources are very limited. (in comparison to desktop and console)

I think this would be a great idea. I also have the Granberg book, and have found myself wishing that there was an updated edition.

One thing that I think would be excellent to include would be some discussion of Assimp, since it supports many of the common model formats.

Eric Richards

SlimDX tutorials - http://www.richardssoftware.net/

Twitter - @EricRichards22

I learnt animation techniques from http://www.amazon.co.uk/Computer-Animation-Algorithms-Rick-Parent/dp/0124158420 sadly often I used it as a guide to understand why algorithms came about rather than implementing them, it is a small book and tbh I found at times a statics / dynamics engineering book to make more sense, I think even the collada doc explained how to implement better. The DX9 book "Character Animation With Direct3D" was great for getting ideas.

I did find animation to be the worst covered area in graphics so I can safely say, yes, do make this book

This topic is closed to new replies.

Advertisement