2020-02-11 18:33:25 +01:00
|
|
|
# Adds velocity, speed, and size data to `GSAIAgentLocation`.
|
2020-01-28 00:31:10 +01:00
|
|
|
#
|
|
|
|
# It is the character's responsibility to keep this information up to date for
|
|
|
|
# the steering toolkit to work correctly.
|
2020-04-03 02:31:59 +02:00
|
|
|
# @category - Base types
|
2020-02-11 18:33:25 +01:00
|
|
|
extends GSAIAgentLocation
|
|
|
|
class_name GSAISteeringAgent
|
2019-12-16 17:22:03 +01:00
|
|
|
|
2020-01-27 18:57:51 +01:00
|
|
|
# The amount of velocity to be considered effectively not moving.
|
2020-01-16 09:44:44 +01:00
|
|
|
var zero_linear_speed_threshold := 0.01
|
2020-01-28 00:31:10 +01:00
|
|
|
# The maximum speed at which the agent can move.
|
2020-01-22 17:55:49 +01:00
|
|
|
var linear_speed_max := 0.0
|
2020-01-28 00:31:10 +01:00
|
|
|
# The maximum amount of acceleration that any behavior can apply to the agent.
|
2020-01-22 17:55:49 +01:00
|
|
|
var linear_acceleration_max := 0.0
|
2020-01-28 00:31:10 +01:00
|
|
|
# The maximum amount of angular speed at which the agent can rotate.
|
2020-01-22 17:55:49 +01:00
|
|
|
var angular_speed_max := 0.0
|
2020-01-28 00:31:10 +01:00
|
|
|
# The maximum amount of angular acceleration that any behavior can apply to an
|
|
|
|
# agent.
|
2020-01-22 17:55:49 +01:00
|
|
|
var angular_acceleration_max := 0.0
|
2020-01-28 00:31:10 +01:00
|
|
|
# Current velocity of the agent.
|
2020-01-16 09:44:44 +01:00
|
|
|
var linear_velocity := Vector3.ZERO
|
2020-01-28 00:31:10 +01:00
|
|
|
# Current angular velocity of the agent.
|
2020-01-16 09:44:44 +01:00
|
|
|
var angular_velocity := 0.0
|
2020-01-27 18:57:51 +01:00
|
|
|
# The radius of the sphere that approximates the agent's size in space.
|
2020-01-16 09:44:44 +01:00
|
|
|
var bounding_radius := 0.0
|
2020-01-28 00:31:10 +01:00
|
|
|
# Used internally by group behaviors and proximities to mark the agent as already
|
|
|
|
# considered.
|
2020-01-29 22:53:57 +01:00
|
|
|
var is_tagged := false
|