AICarSteeringComponent – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Config

class AICarSteeringComponent
{
	// controls working parameters of steering PID controller (Kp, Ki, Kd)
	steeringPIDWeights[] = { 1.2, 0.1, 0.2 };
	// controls working parameters of speed PID controller (Kp, Ki, Kd)
	speedPIDWeights[] = { 0.7, 0.2, 0.0 };

	// remapping of maxSpeed of vehicle, for fast vehicles we want to lower the used speed
	doRemapSpeed = true;
	remapSpeedRange[] = { 30.0, 70.0 };
	remapSpeedScalar[] = { 1.0, 0.35 };

	// prediction ahead is used for both steering and analysing of shape to modify the speed
	doPredictForward = true;
	predictForwardRange[] = { 1, 20 };
	// steer ahead is a point to steer to, saturated down to given range, in meters
	steerAheadSaturation[] = { 0.01, 0.4 };

	// set method of predicting safe speed
	 
	speedPredictionMethod = 2;
	// 0 - three angles method
	// 1 - wheel direction method
	// 2 - combined method
	// three coef's to determine how much given angle should influence slowing down
	wheelAngleCoef = 0.7;
	forwardAngleCoef = 0.7;
	steeringAngleCoef = 1.0;
	differenceAngleCoef = 1.0;

	// for how long we allow to be not moving, before we consider us stuck
	stuckMaxTime = 3.0;
				 
	// overtaking is part of collision avoidance
	allowOvertaking = true;
	allowCollisionAvoidance = true;
	// allow using movement vector as direction
	allowDrifting = false;

	// parameters of predictionMethod = 1
	maxWheelAngleDiff = 0.2616;
	minSpeedToKeep = 0.1;

	// how strong AI will turn when commanded left/right
	commandTurnFactor = 1.0;
};

Scripting commands

useAISteeringComponent true/false

  • enable or disable new ai driving across all vehicles driven locally on the machine.


vehicle forceFollowRoad true/false

  • forces AI driver to stick to immediate road, as long as the path is near the road


vehicle setConvoySeparation 20

  • sets distance between following vehicles, should be set for all vehicles in convoy with the same value.


vehicle setDriveOnPath [[1000,10,1000],[1100,10,1000]]

  • sets a custom path for a vehicle, behaves like Move command but with ability to send path through list of points. Accepts array of arrays (3 or 4 elements). Either (x,y,z) or (x,y,z,wantedSpeed)