by date
Plan for Brett Fattori
Plan for Brett Fattori
| Name: | Brett Fattori | ![]() |
|---|---|---|
| Date Posted: | Jul 27, 2005 | |
| Rating: | Not Rated | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Brett Fattori |
Blog post
Decals, skidmarks, and UV Coordinates... oh my!
Hey folks, it's been a while since I last posted a .plan for y'all to read. I've been watching others post theirs and got the itch to submit my latest developments. dRacer progresses -- slowly. We're addressing the issues that would cause us to go from being a good title, to a great title. Lately I've been working on getting the static decal system merged with our dynamic decaler.

The dynamic decaler is a system that lets us put decals anywhere on the level, on any surface, and network them to the clients. Decals can be spot decals (essentially a square of texture) or a linked decal (like a smear or a skid). The system handles all the under-the-hood stuff like memory pooling and resource management, and exposes a couple of simple methods to add, update, and remove decals.
Here is what the skidmarks looked like, and what I was aiming for:
vs. 
These skids were essentially a solid texture that was alpha blended onto the track as a linked decal. The UV coordinates weren't really calculated since the texture was solid. This was the simplest way of doing things, but I was never happy with how they looked. The edges were too sharp, making them look too "computerized".
I sat down and started working out the way to get texture coordinates in a format that I needed to support nice soft skidmarks. I needed to be able to draw a texture across the decal, regardless of how it lined up in world or object coordinates. This led to some challenges and late nights, but eventually I came up with (what I think is) a good solution. I knew it worked when I first saw my test texture line up properly.

Now I could be assured that the skids would bend and twist properly as the car bounced off of walls and careened across the road. I had to try it, so let me share my first test image after getting them to work properly:

...and, just a little showing off -- letting the AI generate lots and lots of skids:

- Brett

The dynamic decaler is a system that lets us put decals anywhere on the level, on any surface, and network them to the clients. Decals can be spot decals (essentially a square of texture) or a linked decal (like a smear or a skid). The system handles all the under-the-hood stuff like memory pooling and resource management, and exposes a couple of simple methods to add, update, and remove decals.
Here is what the skidmarks looked like, and what I was aiming for:
vs. 
These skids were essentially a solid texture that was alpha blended onto the track as a linked decal. The UV coordinates weren't really calculated since the texture was solid. This was the simplest way of doing things, but I was never happy with how they looked. The edges were too sharp, making them look too "computerized".
I sat down and started working out the way to get texture coordinates in a format that I needed to support nice soft skidmarks. I needed to be able to draw a texture across the decal, regardless of how it lined up in world or object coordinates. This led to some challenges and late nights, but eventually I came up with (what I think is) a good solution. I knew it worked when I first saw my test texture line up properly.

Now I could be assured that the skids would bend and twist properly as the car bounced off of walls and careened across the road. I had to try it, so let me share my first test image after getting them to work properly:

...and, just a little showing off -- letting the AI generate lots and lots of skids:

- Brett
Recent Blog Posts
| List: | 01/10/08 - A small hello 02/18/07 - Recent Stuph 03/03/06 - So long and so out of touch... 12/15/05 - Plan for Brett Fattori 11/01/05 - Plan for Brett Fattori 10/14/05 - Plan for Brett Fattori 09/29/05 - Plan for Brett Fattori 08/24/05 - Plan for Brett Fattori |
|---|
Submit your own resources!| John Rockefeller (Jul 27, 2005 at 01:48 GMT) |
I am also making a racing game :)
| nibbuls (Jul 27, 2005 at 02:02 GMT) |
Congrats on getting it to work.
| Tom Bampton (Jul 27, 2005 at 04:18 GMT) |
[17:16] <Cow|Too> damn skidmarks
[17:16] <Cow|Too> I can make these things in my drawers all day
[17:16] <Cow|Too> but on the computer.... NOOOOOOOOOOOOOOOOOO
:)
| James Laker (BurNinG) (Jul 27, 2005 at 07:11 GMT) |
| Andrew Nicholson (Jul 27, 2005 at 09:05 GMT) |
| Peter Dwyer (Jul 27, 2005 at 10:04 GMT) |
Are you moving this over to TSE when done?
| Brett Fattori (Jul 27, 2005 at 13:19 GMT) |
@John: About 1 1/2 years so far.. It's been a lot of work since there was a need to redo the entire vehicle system and physics system and networking and... well, you get the point. :-)
@Peter: There's certainly a possibility that this will go TSE. However, TSE doesn't have a big enough reach right now with DirectX only. Once it's OpenGL and supporting Mac and Linux, it'll be a better platform.
- Brett
| Tom Bampton (Jul 27, 2005 at 13:23 GMT) |
T.
| Darren Stuart (Jul 27, 2005 at 16:59 GMT) |
| Clint S. Brewer (Jul 27, 2005 at 19:21 GMT) |
| Anders Linder-Noren (Aug 04, 2005 at 20:41 GMT) |
| Stefan Beffy Moises (Aug 18, 2006 at 22:13 GMT) |
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=10899
Edited on Aug 18, 2006 22:14 GMT
You must be a member and be logged in to either append comments or rate this resource.



Not Rated


