DOTS Traffic City
DOTS Traffic City is a powerful tool for creating city traffic based on any Asset Pack using a high performance DOTS Entities package.
by 604Spirit
★★★★ star rating
Price History +
DOTS Traffic City is a powerful tool for creating city traffic based on any Asset Pack using a high performance DOTS Entities package.
- Mobile friendly. Simulate thousands of interacting vehicles and pedestrians even on mobile.
- Performance. Try a demo project depending on your platform to test performance. View the latest screenshots to see performance results.
- Rapid integration. Integrate any city Asset Pack in 20 minutes using convenient templates and tools.
- Simulation. Simulate thousands of entities without using physics or raycasting (physics simulation is also available).
- Editor. Many flexible tools to create the city of your dreams.
- Demo. GTA like sample scene included!
- Sound. Integration of the FMOD sound engine into bursted jobs.
- Documentation. All components of DOTS City are linked to online documentation.
- Source code. All code included.
- Pre-made templates. Use pre-built road templates for your favourite cities (POLYGON City, City Pack 1, Toon City) in one click.
- 3rd party. More 3d party integrations in the near future.
- New sample scene coming soon.
- More info read the key features section below.
Demo
To get started
Contact me
Limitations
- Only works with Unity 2022.3.19 & Entities 1.1.0.pre-3 or higher.
- The project overwrites the settings, be sure to make a project backup before using tool.
- WebGL not supported.
- Roads can only be modified in the editor.
- Vehicles with trailers or wagons are not currently supported for NoPhysics.
- Animator with sceletal bone animation in pure DOTS space currently not available (available only hybrid entities with Animator approach or pure entities with GPU animations).
- NavMesh surface obstacles calculated only with NavMeshObstacle.
- Ragdoll is currently only supported with default colliders.
Key features
Traffic
- Physics. Vehicles can work with:
- Simple physics.
- Custom physics (custom physics controller included).
- No physics.
- Parking. Customizable parking lines and parking areas.
- Speed control. Automatic vehicle speed control depending on lane speed limit, traffic lights, other traffic.
- Lane changing. Auto-lane change based on traffic congestion or road type.
- Traffic group. Vehicles can only pass through lanes according to the selected traffic group type.
- Traffic public. Vehicles that can move through predefined road or randomly on the city. It can also pick up pedestrians at stop stations.
- Fast creation. Quick and easy tool to add any vehicle to the city.
- Avoidance. Avoidance system can resolve the situation if cars get stuck apart from each other.
- Priority. The vehicles pass through the intersections according to the priority of the road.
- Antistuck. Antistuck system that destroys the entity if they get stuck for a while and aren't in the player's camera.
- Jam. Cars won't enter crossroad if they can't get through to avoid causing a traffic jam.
- Culling. Vehicles will only spawn around the player.
- Combined physics. The cars closest to the player have their own physics, while the cars further away have no physics.
- LOD. LOD system for the vehicles depending on the distance to the camera.
- Tests. Traffic test scene where all parameters can be tested with a set of most traffic situations.
- Damage. Health & damage systems example included.
Pedestrian
- Rig type:
- Legacy pedestrian. Hybrid entities tied to the Unity Mechanim Animator.
- Pure GPU. Pure entities that animated by the GPU, can be useful for extreme amount of the entities.
- Simulation type:
- Physics. The pedestrian has a physics collider.
- No physics. A pedestrian doesn't have a physical collider, all interactions and collisions are calculated by custom jobs.
- Behaviour. Multiple behaviours (idle, walking, running, talking, sitting).
- Navigation:
- Local avoidance. Simple lightweight method to avoid vehicles.
- Navmesh avoidance. Calculate NavMesh paths on the NavMesh surfaces by bursted job.
- Culling. Pedestrian will only spawn around the player.
- Culling state. Only pedestrians in the player's line of sight are fully active.
- Ragdoll. Currently ragdoll supported only with default colliders (Ragdoll tool cloner to clone similar Ragdolls, included).
- Event triggering. Event impact on pedestrians by area.
- Tests. Pedestrian test scene where the workability of entities can be tested.
City
- Traffic road. Multiple road templates and custom road customization tools.
- Pedestrian road. Includes tool to quickly create routes for the pedestrians.
- Streaming. Create infinitely large cities by dividing 3D assets of the city and road entities into chunks for streaming at runtime.
- Culling. All entities in the city changed their behaviour depending on the culling state (including traffic and pedestrians).
- Physics culling. Only the physics objects closest to the player are involved in the physics evaluation.
- Traffic light. Quick and easy setting of traffic lights.
- Props. Examples of prop systems that handle the behaviour of props based on damage taken or distance from the player.
- Debug. Convenient visualisation of data on scene.
- Tests. Props test scene where the workability of entities can be tested.
Tools
- Road segment creator. Tool containing the most commonly used 9 Road templates, allowing you to quickly and easily set waypoints and route settings of any complexity.
- Parking builder. A tool is used to create parking lines or areas of any complexity.
- Pedestrian node creator. Tool to quickly create routes for the pedestrians.
- Car prefab creator. Tool to quickly convert 3d models of the vehicle to the traffic entities in just a few clicks.
- Global traffic light settings. A tool to connect traffic lights and traffic nodes, pedestrian nodes, crossroads, and visually display the timings of each traffic light on the scene.
- Path data viewer. Tool for quickly and conveniently viewing of paths and path's waypoints data.
- TrafficNode data viewer. Tool for quick and convenient viewing of traffic node data.
- Path creator. Tool for creating paths to connect traffic nodes.
- Animation baker. Tool to quickly create GPU animations for pedestrians.
- SubScene chunk creator. Tool for dividing the 3D assets of scene into chunks to load them in runtime.
- Ragdoll cloner. Tool cloner to clone similar Ragdolls already created.
Scenes
- Demo. GTA like sample scene.
- Traffic test scene. Traffic test scene where all parameters can be tested with a set of most traffic situations.
- Pedestrian test scene. Pedestrian test scene where the workability of entities can be tested.
- Props test scene. Props test scene where the workability of entities can be tested.
- City stress scene. Stress scene that combines thousands of vehicles and pedestrians.
- City stress scene mobile. Mobile version.
- Traffic stress scene. Stressed scene is extremely crowded with vehicles.
- Traffic stress scene mobile. Mobile version.
- Pedestrian stress scene. Stressed scene is extremely crowded with pedestrians.
- Pedestrian stress scene mobile. Mobile version.
- Pedestrian animation stress scene. Performance scene comparison between Unity Animator animations and GPU animations.
- Vehicle physics stress scene. Stress scene for the thousands cars with custom vehicle controller.
- Vehicle custom physics test scene. Scene for testing various parameters of the custom vehicle controller.
Assets
- 15 vehicles (including LOD0, LOD1, LOD2).
- 8 animated humanoid pedestrians.
- 1 player humanoid npc.
- 5 houses.
- 4 types of traffic lights.
- 29 ground tiles.
- 10 props.
- 2 guns.
- 2 walls.
- All models are lowpoly and created on a texture atlas.
Tutorial Playlist:
- Getting started
- Vehicle integration
- Vehicle custom adjusment
- Legacy pedestrian integration
- GPU pedestrian integration
- City configuration general overview
- RoadSegment creator general overview
- RoadSegment light settings
- RoadSegment custom straight road
- RoadSegment custom segment
- RoadSegment parking builder mode
- RoadSegment custom traffic area
- RoadSegment Placer
- Road final steps
- Traffic public setup
- Pedestrian node general overview
- Pedestrian node creator
- Road streaming integration
- Streaming entity scene
- Entity debug tools
- Road debug tools
- Traffic test scene
- Pedestrian test scene
Third-party usage:
Projects:
- Reese's path demo fork under the MIT license
- NaughtyAttributes (git version) under the MIT license
- Extenject (upm version) under the MIT license
- Custom Physics Authoring
For more information read the Third-Party Notices.txt