Customizing track cameras

Discussion in 'General Discussion' started by rad, Aug 19, 2018.

  1. rad

    rad Well-Known Member

    Joined:
    Jan 29, 2015
    Ratings:
    +458 / 0 / -0
    I played a bit with track camera files to achieve more natural look and here's example:


    How to do it by yourself? It's quite easy, but might be time consuming as you edit files through notepad and need to reload track each time to see results. Of course, it depends what you want to achieve :)

    I just like to point out that there is no official documentation for this, so this is all based on my observations and experience of modifying cameras for rFactor and Race07 (since RaceRoom is based on same game engine, most rules still applies here).

    So let's go!

    Firstly, you need to go to directory of camera files for your track of choice *Location of Steam or SteamLibrary*\steamapps\common\raceroom racing experience\Game\GameData\Locations\Tracks\*Track Name*\*Layout*\Cameras\
    Here you should find 4 files, each representing one of groups which you can cycle by pressing End key. I recommend you to backup original files, but even if you don't, you can restore them by checking RaceRoom's file integrity in Steam. Files might also be overwritten during game updates, so keep backup of modified files as well :p

    Choose one of them and open it in Text Editor of you're choice - I personally recommend Notepad++ but Windows' Notepad will be enough.

    You'll see something like this
    Code:
    CameraType=CameraName001
    {
      parameters
    }
    CameraType=CameraName002
    {
      parameters
    }
    ...
    
    There are 2 camera types in RaceRoom - TrackingCam and StaticCam and that's what you'll see under CameraType. First one will track movement of your car, while second will be, well... static. CameraName will be related to type, but I think you can put anything there as long as it will be unique in the file. From what I've seen, Standard TV cameras will be named TRACKING001 to TRACKING0XX. Order of them doesn't affect how they work for the most part but usually they will be placed in same order as on track. There are also additional cameras for pitlane and "cinematic" ones which are shown during presentation (those slowly moving while you watch for example championship standings at the beginning of weekend)

    Camera parameters
    I just focus here on the ones that I understand how they work and on those which are worth modifying.

    Position=(-108.325874, 21.640726, 404.871033)
    Location of camera on the track. I think numbers represent meters, first and third one move camera horizontally, but unfortunately there is no clear definition of to which direction it applies (like North-South) it will probably vary from track to track. For Hungaroring it happens that first number moves camera in parallel to main straight and third one perpendicularly. Second number modifies on which height camera is located, but it's reversed (higher numbers means it's lower, can be negative).

    Orientation=(-0.004667, -1.626879, 0.000000)
    Angle at which camera points, applies only to static ones. First is up/down, second left/right and third changes lean. Not sure what is the scale here as I didn't play with them too much.

    Fov=(45.000000, 33.750000)

    Field of view. Don't know if first number do anything in RR, but second control how wide is lens.

    ActivationLocation=(-426.031067, 27.962919, 377.585693)
    ActivationRadius=(0.000000)

    Not sure how exactly this works in RR, but it controls when to switch to this camera depending on track position of watched car (it chooses closest one i think). It represents sphere where location is a center of it (works the same as for position) and radius is self-explanatory.

    TrackingHeightAdjust=(0.000000)

    Offsets point of focus to be above or below watched car.

    GroupID=(0)
    GroupName=
    GroupWeight=(1.000000)
    GroupCycled=(0)

    You can use two or more different cameras that activate in the same place and they will cycle between each-other every lap or you can cycle them manually by pressing Page Down again.
    If you don't want to use it, leave GroupID=(0) for all cameras. Otherwise cameras won't activate properly.
    But if you want to use it, you'll need to give all default cameras unique GroupID. Then you give your alternative camera the same GroupID as from the one you want to use interchangeably. For example if you want to have two cameras at start/finish line, but only one for each corner for the rest of track, you give them GroupID=(1) and rest gets GroupID=(2), GroupID=(3), GroupID=(4), etc. I hope I explained it clearly :p GroupCycled set to 1 means, that they will cycle between each-other every lap, 0 means that only the one that is first in file will activate by default and to change to second you need to press Page Down. GroupName doesn't work at all and I don't know how GroupWeight works (I assumed it could set probability of activation for each camera, but it doesn't seem to be the case).

    TrackingRate=(5.000000)
    TrackingLag=(0.500000)
    TrackingInstability=(1.000000)

    This is probably coolest part, but unfortunately it's bugged and it can make the screen stutter horribly. Luckily I found what causes it - unstable framerate (doesn't matter if high or low) and workaround for it - enabling V-Sync (just make sure you don't drop below the value of refresh rate).
    TrackingRate changes how fast camera tracks you're car and smoothens it's movemnent. Lower number (above 1) means it slower, higher - faster, to the point that works like what we have by default in RaceRoom which is 0 - disabled. Lower numbers work better for slower cars, far or wide angle shots, otherwise it could make car "escape" frame.
    TrackingLag adds a little delay to reaction of camera, which can make it overshot the car, similar to how it looks in iRacing. Works in 0.000000 to 1.000000 range.
    TrackingInstability makes the camera shake a bit. I wouldn't set it to too high.

    Flags1=(1)
    0 - all flags disabled
    1 - enables zoom (more on this below)
    2 - changes so the movement of camera is related to car speed
    4 - enables shaking
    32 - camera triggers only in pitlane
    64 - cinematic camera (while you watch for example championship standings at the beginning of weekend or between sessions)
    You can add them together to enable multiple funtions, for example 5 (1+4) will enable zooming and shaking

    ShakeRadius=(0.000000)
    ShakeMinMagnitude=(0.000000)
    ShakeMaxMagnitude=(30.000000)
    ShakeMinTargetSpeed=(0.000000)
    ShakeMaxTargetSpeed=(100.000000)

    Makes the camera shake when car comes close. Didn't test this feature so can't give you precise how those parameters work.

    MinZoomDist=(35.000000)
    MaxZoomDist=(350.000000)
    MinZoomFactor=(2.000000)
    MaxZoomFactor=(13.000000)
    ZoomSpeed=(0.250000)

    Controls how the camera zooms. MinZoomFactor sets the amount of zoom at MinZoomDist, same for the other. ZoomSpeed defines how fast camera can zoom.

    MovementRate=(20.000000)
    MovementPath
    {
    ControlPoint=(-531.292694, -16.570036, -836.476074)
    ControlPoint=(-548.215485, -17.407488, -496.308136)
    ControlPoint=(-565.138275, -18.244940, -156.140198)
    ControlPoint=(-582.061035, -19.082392, 184.027725)
    ControlPoint=(-598.983826, -19.919844, 524.195618)
    ControlPoint=(-615.906616, -20.757296, 864.363525)
    }

    MovementRate controls the speed at which camera moves. If you enable speed relative to car through Flags, then "1" means that it moves at a speed of a car, anything higher or lower is multiplier of that speed. MovementPath is pretty obvious.

    AmbientSoundFile=GameData/Locations/Shared/Sound/Triggers/helicopter.wav
    Plays the sound in the background. I assume it needs to be in wav, but feel free to experiment :)

    That's all for now :) If you have any questions feel free to ask, maybe I know the answer.

    By the way I would really like to have something like this tool for Assetto Corsa once we move to UE4 :)


    I also attached my files for Hungaroring. Set i used for video replaced Action cameras
     

    Attached Files:

    • Like Like x 5
    • Agree Agree x 1
    • Love it! Love it! x 1
    • Creative Creative x 1