Light Racer 3D - Days 10-11 - Camera work and modeling

Turning 90 degreees in an instant is hard on human eyes. After the game was working, I decided that the camera needs to be active and quick but also needs to be limited to a certain amount of movement. I added 4 camera modes to the world renderer: Above, Behind player, Beside player and Spinning. I then added the same code that I use to control player movement to the camera. Now, for every frame rendered, the camera checks where it is supposed to be, then tries to move there at the rate that I defined. I also really liked the way that the original F-Zero for SNES did the overhead view and zoom down to behind the player, so I added a similar sort of effect to the level intros. Besides camera work, there was a lot of modeling and texturing happening. None of us are very good at 3D modelling but by the end of the 2 days, we had already learned several tricks. All it takes is an ADC2 deadline to make you learn fast!

Day 10 - What was done:

Moved camera to behind player
Made user perspective adjustable with up/down
Add triangle to front of trail (to match racer geometry better)
Added top/bottom colors to trails for shading (looks way better)
Zoom works
Added camera modes (follow behind player, rotate_z, follow player side)
Added clockwise spin at slow rate on results
Explosion depth issue kinda fixed, tilt corrected
Fixed up HUD
Items are textured and rendering correctly w/ a slow rotation.
Created white racer texture and showed blink

Day 11 - What was done:

Make a better texture for the grid w/closer lines - blue for campaign, green for speed trials
Added Tilt view control - looks 60 degrees to the side when phone is tilted 25 degrees or more. Tried variable tilt but had problems with speaker interference.
Modeled and textured the decimator
Added rendering code in for the decimator
Modeled and textured the emitter map object
Modeled and partially textured the laser cannon
Began experimenting with portal models


The laser cannon model took the longest of any. It is simple but is still the most complex thing in the game. Below is a photo of the cannon from before we had textured it at all. It just has a default wood grain on it. There is also the first attempt at a decimator. We ended up changing the texture but the geometry stayed the same (very simple - gotta keep that triangle count down for android!).

Wooden Laser CannonWooden Laser Cannon Decimator first textureDecimator first texture

For the lightning emitters we preshaded two textures. One is normal, the other is "on." Here is the "on" one:

Glowing Lightning EmitterGlowing Lightning Emitter

And finally here is a video of the game after day 10:

1 Comment

Post a comment here or discuss this and other topics in the forums

Problem in setting Camera in 3D Android using opengles

that was gr8 work done by you.....

can you give me some method so that i can set my camera according to the view i want...right now i am working on simple cube rendering...if i have more than 1 object then to change the view i have to rotate all the objects accordingly i want to change just one camera setting so that i can see my whole world of objects from top....can you please provide some code regarding that......


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.