Tracks A guide to making Helicopter / Drone Cameras.

Assetto Corsa - Helicopter / Drone Camera Guide

I'm probably not the best at making tutorials / guides... But a few people have asked me how I've made my Helicopter / Drone Cameras for Assetto... so thought I'd have a go at doing a guide.
I'm assuming here, that you have at least some knowledge of how to make Track Cameras for Assetto Corsa.

Firstly you'll need to put a 'fake' helicam around the start / finish area
(or the cams will start tracking as soon as the replay starts)

To work out the spline (tracking) co-ordinates...
You'll need an A cam (START) and a B cam (FINISH) to get the 3D space co-ordinates.

Step 1
Get the A cam where you want the tracking to start from...
and look in the direction you want the camera to move along...
view_cam_A.jpg

use the 'set from here' button to save the direction... remember to do this if you tweak it.
set_from_here_CAM_A.jpg

Test fly along the path... using the ↑ key....To return to the A cam start point... double click in the list
view_cam_A_zoom.jpg

To fine tune the path... lower the FOV... to avoid scenery etc.
(Not really a problem with my Canyons track ATM) :D

Step 2
Fly along roughly to where you want the tracking to end....
view_cam_B.jpg

and click the 'add here' button. To add the spline finish (B cam) and get the co-ordinates.
add_from_here_CAM_B.jpg


When you get the A cam and B cam positions where you want them... save the Track Cameras....
You'll have something like this...
positions.jpg


Step 3
Create a Helicam1.csv file (or whatever you want to call it)...
using notepad or whatever you use... Like this...

spline_calc.jpg

Copying in Position A (A cam) and Position B (B cam) from the cameras.ini
Just for working out the spline end co-ordinates.

All that's needed in the Helicam1.csv file is... the top 2 lines.
So delete the working out bit.... and go into the cameras.ini and delete all the B cams...
Remembering to rename the [camera] numbers so they're consecutive...
seeing as you've removed all the B cams.

Then all that is needed is to get it tracking at the right speed...
This is done with the SPLINE_ANIMATION_LENGTH=
A value of around 90 - 100 is an ok starting point... But it all depends how far your camera will move... and you have to guess how fast cars will be moving along the section being covered.

Heli / Drone cams... don't respond to changes in FOV... so you'll have to go with one figure.

There were no guides or information when I started making these cams.... so this is just the method I used to get them working... There may be much better ways of doing things...

If you find any better ways... let other people know in this thread... cheers ;)
 
Last edited:
you just add those numbers to get the final result?
VD8xEkx.jpg

184.30+3373.5=3557.805 and so on with X,Y and Z. is that right?
should've put that as well on the mini tutorial
You've got to imagine the model space.... which goes into negative numbers in all 3 axis.
modelspace_01.png

Where the dark vertical and horizontal lines meet is 0,0,0 in model space...
(the above screen is just the x,y plane) anything West of the vertical line & anything South of the horizontal line is negative position.

If the spline starts at -184.... and goes to positive 3373.... then yes you add them, as the position in 3D space has moved positive 3557 units in that axis.

Not quite the same thing for the next axis... It starts at positive 111 and goes down to negative 53... So that axis loses 165 units... so negative 165...

And the next axis gains +1047 in it's translation.... It starts off at negative 3065...

Hey it's kind of complicated to explain.... and I had a football match to watch... and beer with my name on it :D
 
Last edited:
It does exist an updated or a more clear tutorial on how made this cam? I follow along the tutorial but yeah, probaly because i'm not so skilled on this thing, i pretty sure i miss something important :-/
 
Last edited:
it won't be any more clear than this. you have to try, then it's trial and error.
From what I understand is as follows:
you have Camera A and Camera B, you will go from A to B and you have 3 axis, x, y and z.
so in simple numbers it would be as follows:
rIBMCSG.jpg

your starting position in this example is 3 (or +3) and your ending position is -5, this is on the x axis.
so on the csv file you enter the travel distance, in this case from 3 to -5 equals 8 and since you end point is on the minus side you'd enter -8

csv file should be like this:
0,0,0
-8,y,z

just do the math for y and z position and you'll probably get there. If that even makes sense :)
right @Phoenix77 ?

Edit: honestly, I don't quite get it yet. But I'm trying
 
Last edited:
Or setup your camera at position 0,0,0 and use world coordinates in the csv (you can get these directly from your 3d application).
For consecutive fly-cameras your method might be better to keep track of all your cameras :p
Cheers... When I started making my HeliCams (Check my downloads I made more than a few)...
There were no guides, and no one else, that I noticed was making any... I also had no idea how to even open up 3DS Max and do anything in it. (This all changed with Pacific Coast & LA Canyons)
This method will help anyone with NO idea how to use any 3D Software what-so-ever.
(apart from the KsEditor, if you class that as 3D software)

I did see a spline to CSV conversion script somewhere on my internet travels...
But since I stopped making cams and started making tracks... Finding the script really hasn't been a priority!
 
it won't be any more clear than this. you have to try, then it's trial and error.
From what I understand is as follows:
you have Camera A and Camera B, you will go from A to B and you have 3 axis, x, y and z.
so in simple numbers it would be as follows:
rIBMCSG.jpg

your starting position in this example is 3 (or +3) and your ending position is -5, this is on the x axis.
so on the csv file you enter the travel distance, in this case from 3 to -5 equals 8 and since you end point is on the minus side you'd enter -8

csv file should be like this:
0,0,0
-8,y,z

just do the math for y and z position and you'll probably get there. If that even makes sense :)
right @Phoenix77 ?

Edit: honestly, I don't quite get it yet. But I'm trying

Yeah that's it mate... It's a long winded way of doing things... But that's how I did it a few years ago now. So it is what it is.
 
I have just made my first helicam that follows a non-linear path, thanks to your thread! :D

I just made a curved spline in 3ds max for the path I wanted the camera to follow
pRKc64j.jpg


Then I converted the spline to a mesh (because I found a script that will export a mesh as a .CSV file)
poUBilu.jpg


Then I modified a script to export the mesh's vert coordinates in an X Z -Y format
Code:
try (destroydialog ::gvp) catch()

rollout gvp "centreline"
(
Global obj, dir_path, outFile, sv
 
button c_path "Path Save"
button c "Stamp Vertex Pos. XY"
 
 
    on c_path pressed do
    (
        dir_path = getSaveFileName caption:"Name Save File" initialDir:(getDir #export) filename:"path.csv"
        outFile = createFile dir_path
    )
 
        on c pressed do
    (
        selection.count == 1 and classof selection[1].baseobject == Editable_Poly
            ---
        obj = selection[1].baseobject
sv = for i in $.selectedVerts do
(
    format "% % %\n" (i.pos.x) (i.pos.z) (i.pos.y*-1) to:outFile
)
            close outFile
    )
                            
)
createdialog gvp style:#(#style_titlebar, #style_sysmenu, #style_toolwindow, #style_sunkenedge)

I selected all the verts, exported the .CSV file, used 'data.text-to-columns' in excel to place each coordinate (X, Z and -Y) in its own column, and then used that .CSV file as a camera spline for AC. If you set the camera position to 0, 0, 0 then all the movement comes from the spline's world coordinates.

This is certainly going to make it much easier to make cameras for my 26km track - Thanks @Phoenix77 :thumbsup:
 
I have just made my first helicam that follows a non-linear path, thanks to your thread! :D

I just made a curved spline in 3ds max for the path I wanted the camera to follow
pRKc64j.jpg


Then I converted the spline to a mesh (because I found a script that will export a mesh as a .CSV file)
poUBilu.jpg


Then I modified a script to export the mesh's vert coordinates in an X Z -Y format
Code:
try (destroydialog ::gvp) catch()

rollout gvp "centreline"
(
Global obj, dir_path, outFile, sv
 
button c_path "Path Save"
button c "Stamp Vertex Pos. XY"
 
 
    on c_path pressed do
    (
        dir_path = getSaveFileName caption:"Name Save File" initialDir:(getDir #export) filename:"path.csv"
        outFile = createFile dir_path
    )
 
        on c pressed do
    (
        selection.count == 1 and classof selection[1].baseobject == Editable_Poly
            ---
        obj = selection[1].baseobject
sv = for i in $.selectedVerts do
(
    format "% % %\n" (i.pos.x) (i.pos.z) (i.pos.y*-1) to:outFile
)
            close outFile
    )
                           
)
createdialog gvp style:#(#style_titlebar, #style_sysmenu, #style_toolwindow, #style_sunkenedge)

I selected all the verts, exported the .CSV file, used 'data.text-to-columns' in excel to place each coordinate (X, Z and -Y) in its own column, and then used that .CSV file as a camera spline for AC. If you set the camera position to 0, 0, 0 then all the movement comes from the spline's world coordinates.

This is certainly going to make it much easier to make cameras for my 26km track - Thanks @Phoenix77 :thumbsup:
Now that's awesome, glad this thread has helped you out :)
If only Ilya could find some way to vary the tracking speed to the speed the focused car is travelling at... Then the HeliCams can really.... Take off (pun intended)

Also if Ilya could 'Unhook' the cameras aim... from the exact centre of the tracked car... That would blow AC's camera system into the modern day. Let the aim wander a little and then AC's replays will look phenomenal!

I will be looking forward to seeing where you take it... Feel free to post any test videos in this thread mate :thumbsup:
 
Here's my first test video. Only a single 'normal' camera at the start, and a single 'helicam', which covers about the first 1.7km. I only edited the XY shape of the path but not the height, so the camera gets a bit low towards the end of the scene :redface:

If I can make this work it's going to make it much easier to cover my long road tracks like Fonteny and Battenbergring :thumbsup:

 
  • Like
Reactions: THL
Here's my first test video. Only a single 'normal' camera at the start, and a single 'helicam', which covers about the first 1.7km. I only edited the XY shape of the path but not the height, so the camera gets a bit low towards the end of the scene :redface:

If I can make this work it's going to make it much easier to cover my long road tracks like Fonteny and Battenbergring :thumbsup:

Nice one mate... Ok they'll need the Z component obviously as your trees (however nice looking :) ) will get in the way of the flight path for the pilot :D

On a totally separate note... You might find this snap script useful for certain situations... Very useful to stitch/snap verts of one mesh... to the verts of another mesh...
Can be useful if a conform has gone wonky somewhere...
Beware though... it's not undo-able.
 
Back
Top