Custom sweepcams before race start

Post suggestions regarding RVGL here in this subforum.
User avatar
Gotolei
Moderator
Posts: 52
From: The New Are

Custom sweepcams before race start

Unread post by Gotolei » Thu Oct 08, 2020 11:48 pm

TL;DR replicating the atmospheric pre-race sweeping cameras that seem to be a common thing for racing games

We've recently gotten the option to enable the stock sweeping camera on custom tracks, but this is an extension to that idea. So the start of a race, let's say an online one, goes through this process:
1. Loading screen (unless -sload)
2. Waiting for all players to load in
3. Countdown
4. Actual race start
During 2. the camera's just sitting there, either somewhere in front of the grid at the start of the default sweep or just behind the car. You can sit there. And watch ghosts, that are also sitting there. And I suppose there's a countdown timer as well. Truly riveting stuff.

So a thought about what might fill this time well: the ability to define two or three sweepcams to use during this sequence, chosen from at random. It could possibly be used in singleplayer as well, something along the lines of the championships' "press pause to continue" but maybe like "any key" or spacebar instead.
I don't recall if the music starts as soon as loading is finished or if it starts when the countdown does, but done correctly it could be a really neat way to establish the track's ambiance as well. It could also give track makers a way to show off the track from angles that cars never get to see.

Brainstorming time: how would it be implemented or configured? My first thought was a set of options in the .inf to tell it to beeline from cam node X to node Y, but that doesn't have any information about how fast to go, where to point the camera (unless they both happen to be the linked type of node), etc. And then if one sets up cam nodes for this purpose, then there isn't a way to tell tvtime and replays to not use them (unless it uses defined ones from the inf as a sort of blacklist but that could end up being non-intuitive, and still doesn't carry any speed/time information).
One of the better ideas I've been able to come up with so far is a thing in properties.txt. For something entirely defined by properties.txt, I'm imagining it could be done in one two ways: 1) give it two sets of coordinates and a speed to use to travel between them, or 2) give it one set of coordinates (start), a velocity vector, and how long to follow that vector. Either way, one would also probably want look vectors for start and end.
For a possible 3) option, custom animation objects could be used, with some property or another to tell that it's a sweepcam. Then it could just use the object's co-ordinates and rotation to start, and use the already-existing movement and rotation logic to make it move.

Something else that's only tangentially related to this but could still add to it would be a way to define exactly which phase of race start-up (and possibly an offset from there) a custom animation starts.
Image
Post Reply