A plugin for Grand Theft Auto V that generates a labeled LiDAR point cloud form the game environment.
- Grand Theft Auto V
- ScriptHookV by Alexander Blade
- VAutodrive (optional)
- GTA 5 LauncherBypass (Optional)
- Install ScriptHookV following its accompanying instructions.
- Copy-paste LiDAR GTA V.asi and the LiDAR GTA V folder found in bin/Release into your GTA-V directory (the folder containing GTAV.exe)
- Install VAutodrive for automated driving and log data over the night.
- Install GTA 5 LauncherBypass to bypass the loading screen and go directly into story mode. Trust me you will need this.
- If you are seeing the error below when building the solution try changing the VS configuration to Release Mode and x64 configuration.
LINK : fatal error LNK1561: entry point must be defined
- Navigate to #your_game_directory#/LiDAR GTA V/LIDAR GTA V.cfg and edit the parameters as needed. The parameters include: Horizontal FOV, Vertical FOV, Range, Density and Output Filename.
- If everything works correctly, the game should directly take you to story mode.
- Get inside a car of your choice manually.
- Press G to start the automatic driving script from VAutodrive.
- Press F6 to start logging the data. Note this will store one every 30/40 seconds. Watch ur storage.
- Output files are point cloud data and the respective labels like KITTI LiDAR dataset.
- These files are then processed with the python kitti_like_data_generator.py file in /gta_util.
- This will generate point cloud files with labels of objects in it similar to KITTI dataset format.
- You will need Visual Studio 2017 or higher to open the project.
- Any contributions to the project are welcomed, it's recommended to use GitHub Pull requests.
- This script was tested on GTA 5 version 1.0.1737.6.
- Modified the point cloud data to have similar values like real LiDAR data. Shifted the world origin to source of ray cast.
- Added 3D bounding box labels similar to KITTI for vehicles with rotations.
- Added funtionality for logging large amount of data with automated driving.
- Fix the bug for wrong rotations of the bounding boxes for some of the LiDAR samples.
- The generated files contain excessive repetitive data. Optimize it.
- Add the camera snapshots for each LiDAR snapshot as well.
- Shift this plugin to client server based implementation similar to DeepGTA 5.
- This repository is build on top of the repository from the author @UsmanJafri and is only intended for educational research purpose.
- Native Trainer (a ScriptHookV sample) was used as base project to import configuration.
- Some functions were inspired from DeepGTA 5 as well.