Home Technical Talk

Line/sweep workflow plus inclined bends

Hopefully some of the posters with driving game experience can give me some advice here.

First of all, simple question, what is your workflow like when creating a track?

Do you make sure the geometry is exactly how you want it, then collapse the line/sweep to an editable poly, or do you work with a stack, keeping the line there for editability?

Especially when working with multiple UVs for various parts of the track etc, I find working with a stack of edit polys and UV unwraps frustrating.

But after collapsing, editing/moving parts of the track is going to be more difficult obviously.

Secondly, how do you go about making sure inclined bends are smooth? Or rather bends of varying altitude.

Here are some screenshots of what I mean.

incline01.jpg

incline02.jpg


It seems like the bends need to be banked in some way. Enabling banking in sweep turns the track into a fairly twisted mess, so do you know of another method of somewhat automated banking.

IE something easier than manually adjusting the outside vertices on every bend, to create some slight banking :)

Cheers,
RumbleSushi

Replies

  • Eric Chadwick
    Options
    Offline / Send Message
    Most racing games I've read about use a dedicated track modeling system, not purely geometry out of a tool like 3ds Max. They use splines and their own meshing/UVing system, tuned to what they need.

    For the bumpiness there, have you tried reversing the triangulation, so the diagonals run the opposite direction in each quad? You may find the best diagonal direction needs to be dependent on which way the track is curving... diagonal to the right for right turns, diagonal to the left for left turns.

    Also you may want to approximate the collision with a heightmap instead of geometric collision, and simply draw the car always AFTER you draw the road, to avoid interpenetration.

    Maybe, just guessing.
  • rumblesushi
    Options
    Offline / Send Message
    Hey Eric,

    Your first suggestion would be ideal, and probably what I'll do for the sequel. For now though, Max can do everything I find, with this being the only niggle, so I'd rather do everything in Max, and concentrate on gameplay/physics rather than building a track editor etc.

    I don't want to use heightmaps, I don't really like them, I much prefer handling collisions with actual geometry. And I do know that most racing games have collidable geometry too, rather than heightmaps, at least since the PS1 era.

    Reverse Triangulation was my first thought too, but I tried that and it makes no difference. You still get very different normals per triangle, and inclined bends feel like a rally game.

    I'll have to keep trying, I'll update this thread when I figure out what to do.
  • MattLichy
    Options
    Offline / Send Message
    At work on Forza, they just using splines and do a sweep or make the spline renderable as a box and go from that. But we have to hand tweak basically all verts on the track to make it accurate.

    You might just have to do some manual labor, but I think Eric has some good ideas.
  • rumblesushi
    Options
    Offline / Send Message
    Wow, that's interesting Matt, thanks for the info.

    What kind of polycounts did forza have just for the base road with no BG objects etc.

    I didn't think polycount would make much difference and it doesn't. I tried dramatically ramping up the polycount of the corners so they were somewhere between PS2 and 360 counts, and it was still very bumpy, just smaller, more frequent bumps ;)

    I thought there might be some secret technique in the industry for inclinded bends that I hadn't figured out yet. I guess I'll have to do some manual labour.

    Do you have any tips on how to manually achieve smooth bends on an incline Matt?

    I had a play around yesterday moving vertices, and ended up making it worse. Manually "planarising" a load of quads on a twisted track is trickier than it looks.
  • Eric Chadwick
    Options
    Offline / Send Message
    What about averaging the Z collision over time, like across a few frames, to sponge out the little bumps?

    Did you ever play Carmageddon? It was super-low-poly, with very fun physics. I recall they had curves here and there, but they were very rough, like each quad being bigger than the vehicle. Might be worth getting the demo if you can. Also check out the early Need For Speed games, very similar mesh resolution.
  • rumblesushi
    Options
    Offline / Send Message
    Hey Erik, funnily enough when driving around on my track in normal perspective view it doesn't seem that low poly (it's 10,000 for the road and mountains) but damn, when viewing it from a distance like those screens above, you realise how low poly it is, with each quad being much bigger than the car ;)

    Also in regards to other games, I'll check out Carmageddon, I do remember it from absolute years ago, early 3D PC era. It was fun indeed. In fact I'm going to see what other games those devs have done, and I'll check out the tracks.

    I play DS games and N64 games for tips and inspiration, and I know some DS tracks look even lower poly than mine.

    But you know Eric, regarding your first suggestion of averaging the ground collision over a few frames, that's what I've been thinking today actually.

    I was thinking of making some quick and dirty suspension actually, that would absorb a lot of this bumpiness on inclinded bends.

    Plus I'm going to dampen the amount of altitude variation on bends, and make the heavy inclines straight.

    So with a combination of these 3 things, it should be pretty smooth.

    I realised that most games must do something like this instead of getting perfectly smooth geometry after extracting a Ridge Racer 64 model too (for educational purposes obviously).

    I extracted the bit of track from the original RR1 course, with the classic inclined bend going up into the mountains. The polycount is similar to my track, and the geometry is the same. The triangles do have different normals, I think there is simply no alternative. So games must use suspension/averaged ground height etc to make it seem smooth, and not like a Rally Game ;)

    Thanks for your advice, both of you.
  • rumblesushi
    Options
    Offline / Send Message
    Another quick question about splines - I figured out that holding shift enables you to control anchor points individually.

    However, it stays this way, even when not holding shift. How do you get them to return to the normal synced behaviour? I would have thought lock handles would do the trick, but it doesn't.
Sign In or Register to comment.