Browse

Browsing projects where Tag is 3D.

Karma3D

  1. Using physics engine to move boxes.
  2. Using physics engine to shoot at objects.
  3. Interaction with NPC.
  4. First person shooter mode.
  5. Rocket boots power-up.
PreviousNext Using physics engine to move boxes.Using physics engine to shoot at objects.Interaction with NPC.First person shooter mode.Rocket boots power-up.

I just wanted to share a project we made in an introcuction course to 3D computer graphics. Before we started, none of us had never written a single code segment in C++. So during a period of two months, we had to learn both C++ and OGRE from scratch (while at same time reading two other engineering courses). Our goal was not to make a complete game but to explore the process of game creation as much as possible. We did not completely model anything on our own, instead we modified already created models (for example we had to create animations to our game character). We used the PhysX wrapper NxOgre to handle the physics and irrklang for sound. We also used a modified version of spacegaiers "Advanced Ogre Framework" to handle different states.


Skeleton animation

  1. Walking cycle.
  2. Close-up.
  3. Skeleton demonstration.
  4. Walking cycle from GUI PoV.
  5. Low-poly character.
PreviousNext Walking cycle.Close-up.Skeleton demonstration.Walking cycle from GUI PoV.Low-poly character.

In a course called 3D Computer Graphics at my university we had the option to either focus on programming or modeling and animation in the final project. Since I decided to go full out on the programming, I took a distance course in learning the basics of modeling and animation in 3D software. The school that hosted this course couldn’t supply the students with versions of very expensive 3D software that exist and therefore we used the free and open source application Blender. At first I was bit skeptic to Blender but the more I learnt the more I realized how impressive it is considering its license. After a lot of exercises, we were free to specialize in anything around animation in a final project. Since I only weeks before had tried to make a successful walking cycle (and failed big time), I decided to try animating a skeleton setup. Eventually I managed to create a cartoon character with facial expressions, walking cycle, constraints similar to joints in a human body and with the ability to animate different parts of the body with inverse kinematics.


The final render.


Real maps to Heightmaps

  1. Final result with a texture added.
  2. Converting height changes to an image.
  3. Heightmap in Matlab before convolution.
  4. Heightmap in Matlab after convolution.
PreviousNext Final result with a texture added.Converting height changes to an image. Heightmap in Matlab before convolution.Heightmap in Matlab after convolution.

The aim with this project was to convert a normal map (i.e from Google Maps) to a heightmap with values corresponding to a three dimensional representation of the area. Since the circles in a map represent height changes, I painted the areas between the circles with different tone values. In order to get a smooth transition between each circle, I used 2D convolution together with a mean value kernel. This process was done in a Matlab environment and could therefore be accomplished with very few written lines of code. The major drawback of this project was that I never figured out how to completely automatize the filling of the cirlces. I solved it by doing it manually in Illustrator. I might return to this step later on in my education when I have read more courses about image processing.


Computer Graphics

Already in the first year at university we had courses in Computer Graphics. As soon as the Linear Algebra course was done, we were introduced to the basic concepts of 3D computer graphics. We were given an existing and working framework (taking care of mainly animation and rendering) in Java where we had to write our own functions for culling, shading, depth sorting, parallell and perspective projection. In order to get a higher grade, one had to implement Phong highlights.


Sumary of the course. Movie made by Marcus Stenbeck.


Version 1.0. Dev by Per Karlsson (Log in) 10-11-20 Validate xhtml Validate CSS