- Unity 2022.3.13f1 (other versions are not tested)
- git clone https://github.com/MarcherGA/AutonomousVehicle.git
- Run Unity Editor and open AutonomousVehicle folder as a project
- In Assets folder open
Scenes/Simulation.scenefile - Modify
config.jsonfor your own configuration - Press
Play
- Create Build folder In inside the project folder, If not already created
- Create Simulation folder inside Build folder
- In Unity Editor, Select
File -> Build Settings - In Platforms window, Select
Windows, Mac, Linux(tested on Windows only) from Platforms - Select your platform on
Target PlatformDropdown list - Check
Scenes/Simulationin Scenes In Build and uncheck other scenes - Press
Build And Runand select Simulation folder - The build will be inside
Build/Simulation, and will run automatically
- Create Build folder In inside the project folder, If not already created
- Create Monitor folder inside Build folder
- In Unity Editor, Select
File -> Build Settings - In Platforms window, Select
Windows, Mac, Linux(tested on Windows only) from Platforms - Select your platform on
Target PlatformDropdown list - Check
Scenes/Monitorin Scenes In Build and uncheck other scenes - Press
Build And Runand select Monitor folder - The build will be inside
Build/Monitor, and will run automatically
SimulationManager- Manages the simulation, manipulating the simulation components according to user inputSimulationManagerUI- Manages the user interface for the simulationAutonomousVehicle- Conrols the movement of the test car, moving it along a set of waypointsObjectDetector- Attached to a camera, detecting entities visible and within the camera's frustum. Requires detectable entities to have a collider, and be on a selected Detection Layer, using their tag for categorizingDetectionObserver- Observes anObjectDetectorand sends detection data via UDP
MessageDisplay- Manages the display of messages in a scroll view.UDPDetectedEntityObserver- InheritsUDPMessageObserver, checks if message is Detected Entity message, and displays it usingMessageDisplayif so
UDPSender- Sends UDP messages to a remote endpoint, getting the target IP address and Port from configUDPReciever- Receives UDP messages and invokes an event when data is received, getting the target Port from configUDPMessageObserver- Abstract class representing observer which listenes to UDP messages, and use it
ConfigLoader- Loads configuration data from a JSON fileConfigData- Respresents Config structure
"SimplePoly City" package - https://assetstore.unity.com/packages/3d/environments/simplepoly-city-low-poly-assets-58899