This is the second part of the step-by-step tutorial for building a simple game menu in XNA. Previously we have set up the project, the game loop, and added the UI theme. Now it’s time to implement the game logic…
The latest release of the DigitalRune Engine contains a new sample called GameStatesSample which covers a some of the basics:
The result is a stripped down XNA application – no fancy graphics, no gameplay, just a few screens and menus. Take a look:
Skeletal animation is the most common way to animate a 3D character: Transformations are applied to a set of bones (skeleton), which is then used to deform the mesh (skin) of the character. When using key frame animations the bone transforms need to be stored at certain key times. Depending on the complexity of the character and the length of the animation, the required amount of data can become quite large. Let’s see what we can do to reduce the amount of data.
Here is a code snippet that draws the bones of a 3D character skeleton for debugging (similar to the original SkeletonHelper.DrawBones method). The result looks like this:
(Click image to enlarge.)
Here is the code:
Manually creating good ragdolls in code can be tough. This blog post takes you on a hands-on ragdoll creation journey and provides several tips.
The DigitalRune Animation library supports ragdolls. DigitalRune Animation has a lot of helpful methods for character animation and ragdoll creation, but it does not yet have a method that visualizes ragdoll constraints. Choosing good joint limits and correct joint orientations can be really difficult without a visualization. – But do not fear, constraint visualization is here!
The following .zip archive contains a “RagdollHelper” class that draws constraints for a ragdoll. It also contains an updated “DudeRagdollCreator.cs”.
In DigitalRune Animation, motion retargeting (or more precise: animation retargeting) is the process of transferring the animations of one character to another character with a different skeleton topology.
In the video below, the walk animation of the Dude model (left) is applied to the PlayerMarine model (right).
At the first look the models seem similar, but a look at skeletal structure reveals a number of differences: …
This time we take a look at the TwoJointIKSolver class of DigitalRune Animation. This IK solver can be used to control an arm or a leg. In the following video the IK solver is used for foot placement:
The DigitalRune Animation library contains several inverse kinematics (IK) controllers that can be used to procedurally animate a 3D character. This blog post demonstrates the Look-At IK solver. So, have a look:
We are about to release the first (alpha) version of our new animation library for XNA: DigitalRune Animation.
I am currently working on the documentation and have just finished writing the summary of all features. This library is packed with features! I dare to say that this is the most comprehensive animation library for .NET and XNA to date.
(I am personally really excited about this new product. It is the result of months – actually years – of research and hard work.)
The current alpha release of the DigitalRune Game UI does not not have built-in support for animations. This will change when we release our DigitalRune Animation library. Here is a preview video of an XNA application with animated GUI controls:
A collection of the most useful blog articles can be found here:
(on Documentation page)
DigitalRune is a trademark of Garstenauer Information Technology OG.
Garstenauer Information Technology OG
Weingartenstrasse 35, 4452 Ternberg