Hi Somersault,
The maths of 3D is not that hard... XNA (and Managed DirectX) abstract so much of it. That is not to say it is not daunting; but you can over come it quite fast.
The problem is 3D assets... it is much easier to make 2D graphics than it is 3D.
I myself have made an MD2 model loader. MD2 models are a dime a dozen, and while they are not the fanciest 3D graphics around they do look good.
There are plenty of MD2 models for the fantasy genre and the modern 'shot-em-up' genre. The other great thing is that MD2 models can be customised by essentially 2D editing methods (its amazing how much changing a model's skin changes its look and feel).
I am currently in the process of writing a library to help people like yourself make the transition to 3D by abstracting all the 'complex' 3D work; but at the same time not making it invisible (it is open-source, and my encourage method of installing it is for people to just add the classes to their projects).
The current release of my 'framework' allows you to load an MD2 model, position it by defining a vector3 (X,Y,Z) and rotate it by degrees (you can currently only rotate on 1 axis by this method in the current release).
The model can be animated by simply defining the start frame and end frame.
So the only difference between 2D and 3D is that you have to specify a Z position.
Currently you have to define the matrix of the camera which sounds scary, but the tutorial clearly demonstrates it... however the current version I am working on, and intend to release by wednesday includes:
- A camera object that sets it self up, you simply attach it to a model (Camera.AttachTo(Model)) and specify how far from the model you want it to be on each axis (Camera.OffsetX = 10, etc)
You don't need to worry about perspective, or anything. (You can ofcouse manualy set the perspective, view, etc matrices if you are so inclined).
- Model loading is much simpler... was simply already, but now it is very simple. I have also abstracted everything out in to abstract classes and interfaces so when you are ready to delve in to 3D you can do so in steps.
There are three things my framework is missing (or for the public, will be missing after wednesday):
- Maps... by the end of this week I intend to include atleast a basic map maker / loader.
- Lighting... going to squeeze this in sometime soon, mabey even by wednesday.
- Physics... specifically gravity... need the map load first for obvious reasons.
I don't intend the mapping in my 'framework' to be great... it will basically be textures blocks at first, and then textured cut off blocks (a block with its corner triangled).
This is not top of the end 3D graphics, but that is not my intent ... my intent is to allow people to make 3D games simply, with the resources that are plentiful (2D textures and older 3D models).
If you would like to have a look at my model loader: http://forums.xna.com/thread/7103.aspx
If you have questions about 3D: lynch82@gmail.com
If you want a bunch of MD2 model to play around with, contact me and I can point you in the right directions... at the moment I am trying to colate over 200 models in to a single library but I am waiting on permissions to republish from the various authors.