This commit is contained in:
MrTorex committed 2026-02-06 15:39:35 +03:00
1 parent e2c87a9ec8
commit 8151450cdc
12 files changed
+9769

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
using Code.Base;
namespace Code.Lab2
{
public class Arrive : AgentBehaviour
{
public float targetRadius;
public float slowRadius;
public float timeToTarget = 0.1f;
public override Steering GetSteering()
{
var steering = new Steering();
var direction = target.transform.position - transform.position;
var distance = direction.magnitude;
float targetSpeed;
if (distance < targetRadius)
return steering;
if (distance > slowRadius)
targetSpeed = Agent.maxSpeed;
else
targetSpeed = Agent.maxSpeed * distance / slowRadius;
var desiredVelocity = direction;
desiredVelocity.Normalize();
desiredVelocity *= targetSpeed;
steering.Linear = desiredVelocity - Agent.velocity;
steering.Linear /= timeToTarget;
if (!(steering.Linear.magnitude > Agent.maxAcceleration)) return steering;
steering.Linear.Normalize();
steering.Linear *= Agent.maxAcceleration;
return steering;
}
}
}
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a971b0661663493c886aaf7cb1b7c1a1
timeCreated: 1770375702
+42
View File
@@ -0,0 +1,42 @@
using Code.Base;
namespace Code.Lab2
{
public class Leave : AgentBehaviour
{
public float escapeRadius;
public float dangerRadius;
public float timeToTarget = 0.1f;
public override Steering GetSteering()
{
var steering = new Steering();
var direction = transform.position - target.transform.position;
var distance = direction.magnitude;
if (distance > dangerRadius) return steering;
float reduce;
if (distance < escapeRadius)
reduce = 0f;
else
reduce = distance / dangerRadius * Agent.maxSpeed;
var targetSpeed = Agent.maxSpeed - reduce;
var desiredVelocity = direction;
desiredVelocity.Normalize();
desiredVelocity *= targetSpeed;
steering.Linear = desiredVelocity - Agent.velocity;
steering.Linear /= timeToTarget;
if (!(steering.Linear.magnitude > Agent.maxAcceleration)) return steering;
steering.Linear.Normalize();
steering.Linear *= Agent.maxAcceleration;
return steering;
}
}
}
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 99c7dd3de75b4888b84e02afda7dcb8d
timeCreated: 1770375985