This page has been translated automatically.
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Drivers

A car's logic (a "Car" class) is controlled only by the car's physics and signals. It also has all functionality necessery to drive a car. Any car (user-controlled or AI-controlled) needs a "driver" to follow road regulations.

For this purpose, there is a special base class called "Driver". Each car should have an instance of this class to be controlled.

A "Driver" class implements the following:

  • Search for the road and road's direction.
  • Evaluation of the amount of lanes.
  • Recognition of the lane, along which a car is moving.

Crossroads logic can also influence the "Driver" class. When a driver enters the crossroads (no matter if it is a user-controlled or AI-controlled driver), it receives the crossroad driving spline and driving priority value. A spline is defined the following ways:

  • For user-controlled cars: based on activated turn signals.
  • For AI-controlled cars: chosen randomly.

All of the drivers make decisions for further movements based on these splines and driving priority values. Thus, "drivers" act like they do on real roads: they look around, look at other cars and their turn signals, look at stop signals, and look at crosswalks and let pedestrians pass by.

Control Keys

To control a car with a keyboard use the following keys:

Common

  • A / Left Arrow - turn left
  • D / Right Arrow - turn right
  • Space - brake
  • Shift - hand-brake
  • H - turn the headlights on/off
  • Q / Home - turn the left-turn signal on/off
  • E / PgUp - turn the right-turn signal on/off

Automatic Gearbox

  • W / Up Arrow - gas if moving forward (brake if moving backward)
  • S / Down Arrow - brake if moving forward (gas if moving backward)

Manual Gearbox

  • W / Up Arrow - gas
  • S / Down Arrow - brake
  • J - lower the gear
  • K - increase the gear

Other

  • F - enable the free-flying camera
  • G - enable the player camera
Notice
Joystick control is also supported. Check the driver_player.h file to see how its logic is implemented.
Last update: 2017-10-20
Build: ()