As shown in the last posts, we can use scattered interpolation for height field creation or to animate a hand model with a data glove. Now, it is time to dive into the mathematics. Especially, we examine scattered interpolation using radial basis functions.
In the last blog post (Scattered Interpolation – Example 1: Smooth Height Fields) we introduced the concept of scattered interpolation, how scattered interpolation is supported in DigitalRune Mathematics, and how it can be used to create smooth height fields. Here is another example that shows how useful this technique is. The mathematical details of scattered interpolation will follow in the next blog post.
Scattered Interpolation is a very useful mathematical method, but it is not widely known among game developers. Once you understand it, it can solve many problems. Creating smooth height fields from random points or smoothly interpolating animations are only two examples. It is definitely worth to dig through a bit of mathematics to add a handy new tool to your toolbox. This tool is also readily available in the DigitalRune Mathematics library.
In this post we are going to look at an examples. In future blog posts, we will look at other examples and explain Scattered Interpolation with all the scary mathematics.
Do you multiply matrices and quaternions from the left or from the right? Do you use a left-handed or a right handed coordinate system? How do you define the front-side of a triangle? What units of measurement do you use? – This blog post explores the math conventions that we use and a few more helpful details…
In the last articles (Part 1 and Part 2), we have introduced our input service and commonly used functions of the input service. In this post we will delve into more advanced functions. We will discuss how we
In the last post, we introduced the (still empty) input service interface. Now it is time to add a few functions. This blog post describes
XNA makes input handling very easy. It provides one static class for each input device: Keyboard, Mouse, and GamePad. In each frame, you can query the device states and examine the current key and button states. But sooner or later you discover that there are a few tasks that are not supported:
This becomes especially apparent when you create a game with a complex user interface (windows, text boxes, etc.).
And to be clear: It is ok that these tasks are not supported because the XNA Framework is not a game engine!
While creating our XNA GUI library (see DigitalRune Game UI), we have identified several commonly needed tasks and packed them into an input service. This and the next blog posts describe our input service design.
The DigitalRune Game UI package is a set of .NET libraries that help to handle device input and create graphical user interfaces (GUIs) in XNA. The libraries support Windows, Xbox 360 and Windows Phone 7. The GUI can be controlled using mouse, keyboard, gamepad or touch input.
With the DigitalRune Game UI you can create a simple game menu for your Xbox 360 or Windows Phone 7 game. Or, you can create a complex user interface for your MMORPG or your game editor. The GUI can be a normal 2D user interface, but is also possible to project the GUI onto 3D surfaces to create in-game user interfaces.
We have made several improvements to our 3D character controller, which we want to discuss in this post. (Reminder: A character controller is the game module that computes the movement of a player character, including walking, jumping, climbing, etc.)
Following video shows the new character controllers in action. (The code is included in the DigitalRune Physics Bundle).
We have recently added 3D vehicle physics to our DigitalRune Physics library. In this post we will explain how the car physics works, so that you can either create your own car physics, or you can understand and tune the car physics that comes with our libraries.
Let’s have a look at what we want to achieve. Following Vehicle Sample is an XNA example project that is included in the DigitalRune Physics Bundle:
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