xcrypt at November 21st, 2012 07:05 — #1
I'm planning to implement animation in my direct3d11 engine sometime soon. But I haven't found any good tutorials on the subject yet.
Where or how can I learn all about animation for game graphics - and it's optimization?
fireside at November 21st, 2012 08:27 — #2
Bone animation is probably the most common aside from simple translation. You'd just have to do a search I think.
vilem_otte at November 21st, 2012 09:39 — #3
Maybe a bit off topic, but when I was on other forums site, I discovered some interesting project - watch a video - https://www.youtube.com/watch?v=PvZchE30StQ&feature=plcp
- at some 2:00 and maybe also 7:35 and on.
The thing is, they're using kinematics to solve the motion. It isn't anything new though - you can use inverse kinematics for movement, ragdolls are quite common for falls, standing up is quite tricky, because you need to keep balance for the character, for swinging sword, you can use forward kinematics. It isn't nothing brand-new, although they put together kinematics, physics and good parameter fine-tuning and it looks very good (although I think that hand-made animations look better).
Anyway doing inverse kinematics for walk & run isn't that hard and in my opinion it's worth it. Combine this with rag-doll physics and let artists do their awesome work on the rest.
And other note, building mocap system in house isn't that expensive today (basically it could work just with kinect and some little fine-tuning in the end) - you probably won't get accurate animation like Gollum had in LotR, but for most games it will be enough (note that always an artist can touch it and add some stuff if needed - like animating fingers, etc. - to achieve as good animation as Gollum had ).
xcrypt at November 21st, 2012 14:30 — #4
I definitely want to add physics to my animations some day since I'm going for physics programmer, but for now, I'm just curious as to how "normal" animation can be performantly and efficiently be implemented
v1technologies at January 23rd, 2013 01:26 — #5
you can find also online tutoria.
rouncer at January 23rd, 2013 05:14 — #6
even you only include little physics, a physics ready bone system can be really good for blending multiple keyframes together (running and swinging sword at same time) heres a demo of my last animation system...
took about 3 days to finish, so be prepared to put a bit of effort into it, but i got okish (albiet with a few issues) results. theres definitely an art to hand making key frames, youve got to get the "weight" of the character into them.
How I do it?
Its a fairly sound system, and totally home grown, just takes a bit of thinking.
The main action is -> translate to bone axis, rotate, translate from bone axis. each bone has a basis of rotation, the model goes where the sticks point. you multiply the translations and rotation to a single matrix you pass to the shader.
All the bone parts work independant from a heirarchy, I know theres heirarchical methods but i just sorta "glue the bits to a stick man" so they all orientate independantly fine, with no heirarchical matrix building.
theres a matrix sent to the skinning shader per bone, and each point has an id to what bone it is, computationally its just an extra matrix multiply per vertex. this method is great cause if you want to add the advanced physics or ANN's its ready to go as is.
A human or an animal is a hard thing to animate, doing cars, ships and airplanes is heaps easier (they dont need a rigging skeleton), I just go that route alot of the time.
fireside at January 23rd, 2013 07:50 — #7
Good start, but needs some constraints so he doesn't turn his arm too far or awkwardly.
rouncer at January 23rd, 2013 08:16 — #8
yeh, totally natural animation like assassins creed is an advanced thing, i guess my animator was a bit clunky, but it prooves a point, needs polish...