This package includes a toolchain for the generating synthetic data for autonomous driving perception systems in Unity
To install the SimViz package, follow the instructions in the Package Manager.
In addition, you need to install the following resources:
- Render Pipelines Core : To install, open Window > Render Pipelines Core
Below illustrates a basic use case of preparing a scene to be used for creating scenarios using procedural placement.
- A set of assets to be used for placement
- A road map in OpenDrive (.xodr) format
Ensure that assets adhere to the requirements (AssetImportRequirements.pdf in Documentation~ directory) for importing with SimViz. Asset categorization is configured via a .txn file, which is a json file that maps a category to a folder of assets. To set up your configuration file:
- In your assets folder, structure your assets such that each asset type is in a specific folder, for instance, trees should go in a "Trees" folder. While not required, this will make it easier to create your configuration file.
- Create a .txn file in your assets folder using a json or plain text editor. See an example of the txn file format (SimpleAssets.txn in Documentation~ directory). It is a fairly simple mapping of an asset category to a list of paths which contain prefabs of that asset category. Your txn file will be imported and a number of PlacementCategory assets will be created under the .txn file in your project window.
To import your OpenDrive road map, simply place the .xodr in your assets folder. The map will then be imported into the project and ready for use.
- Select the .xodr file in your project window
- Select Tri->Lanes -> Lines from the menu This will create a number of game objects in your active scene that will show you where the lanes of your OpenDrive network are. These lanes are the reference for the placement algorithms.
- Select Assets->Create->Content->PolygonSoupPlacementParameters. This will create a new asset for defining placement parameters.
- Select the newly-created placement parameters asset in your project window.
- In the placement parameters, select .xodr file as the Road Network Description, select and the placement category object (created by Importing Assets above) and parameters for each category. A good starting point is to have spacing and offset at least at 2 for all objects you are placing.
- Select the "Run Pipeline" button This will populate your active scene with the imported objects along your road network.
This version of SimViz; is compatible with the following versions of the Unity Editor:
- 2019.3 and later (recommended)
SimViz version 0.1 Alpha includes the following known limitations:
- XODR maps larger than 50MB are extremely slow and difficult to use in the editor
Content | Contains data samples, tests, and tools for procedural scene creation |
---|---|
Clipper |
OpenSource library for polygon clipping |
MapElements |
Contains elements used for creating roads i.e. lanes and networks |
Poly2Tri |
Contains more utilities for Triangulation Algorithm's and other utilities |
Sampling |
Implementation of road network lane/line sampling |
Ground Truth | Captures RGB channels and segmentation data from a camera |
---|---|
Labeling | Script object that labels an asset for target taxonomy |
Labeling Configuration | Captures all the labeling and adds the data to the corresponding pixels |
Scenario Manager | Contains different sample scenarios of driving conditions for a car to operate in |
---|---|
QuickGraph |
graphing calculator for 2D, 3D spatial coordinate systems |
Procedural Placement | Allows you to procedural create cities based on OpenDRIVE files |
---|---|
Polygon Soup | Helps create a city using a road mesh network and assets using the data pipeline |
2019-12-3 | Updated SimViz for public release |
---|---|
2019-12-3 | Updated SimViz documentation for Alpha release v2 |
--- | --- |
2019-10-30 | Updated SimViz documentation for Alpha release |
--- | --- |
2019-09-13 | Document edited from template for SimViz |
--- | --- |
2019-06-10 | Unedited. Published to package. |