Finalizing tweaks to various settings and influence factors

This commit is contained in:
Alex Stewart
2024-10-28 21:59:43 -07:00
parent 945da5a634
commit ae1b78e2b9
3 changed files with 72 additions and 101 deletions
+26 -9
View File
@@ -6,30 +6,41 @@ public class BoidManager : MonoBehaviour
{
[SerializeField] public BoidComponent boidTemplate;
[SerializeField] public int boidNum;
[SerializeField] [Range(0.0001f, 1)] public float boidCenterInfluence = 0.5f;
[SerializeField][Range(0.0001f, 1)] public float boidBoidInfluence = 0.5f;
[SerializeField][Range(1, 100)] public float boidSpeed = 1;
[SerializeField][Range(1, 180)] public float boidVisionCone;
[SerializeField] [Range(0.0001f, 100)] public float boidCenterInfluence = 0.5f;
[SerializeField][Range(0.0001f, 100)] public float boidAvoidInfluence = 0.5f;
[SerializeField][Range(0.0001f, 100)] public float boidAlignInfluence = 0.5f;
[SerializeField][Range(1, 500)] public float boidSpeed = 1;
[SerializeField][Range(0.0001f, 1f)] public float boidCorneringSpeed = 0.5f;
private float setSpeed;
private float setVisionConeAngle;
private float setCenterInfluence;
private float setBoidInfluence;
private float setAvoidInfluence;
private float setAlignInfluence;
private float setCornering;
private List<BoidComponent> boids = new List<BoidComponent>();
public Vector3 center;
// Start is called before the first frame update
void Start()
{
setSpeed = boidSpeed;
setVisionConeAngle = boidVisionCone;
setCornering = boidCorneringSpeed;
setCenterInfluence = boidCenterInfluence;
setBoidInfluence = boidBoidInfluence;
setAlignInfluence = boidAlignInfluence;
setAvoidInfluence = boidAvoidInfluence;
for(int i = 0; i < boidNum; i++)
{
BoidComponent tempBoid = BoidComponent.Instantiate(boidTemplate);
tempBoid.setCenterInfluence(boidCenterInfluence);
tempBoid.setSpeed(boidSpeed);
tempBoid.setVisionConeAngle(boidVisionCone);
tempBoid.setSpeed(boidSpeed);
tempBoid.setAvoidInfluence(boidAvoidInfluence);
tempBoid.setAlignInfluence(boidAlignInfluence);
tempBoid.setCorneringSpeed(boidCorneringSpeed);
tempBoid.transform.position = new Vector3(
Random.Range(0f, 100f), Random.Range(0f, 100f), Random.Range(0f, 100f));
boids.Add(tempBoid);
@@ -44,19 +55,25 @@ public class BoidManager : MonoBehaviour
boid.Move();
}
if (boidSpeed != setSpeed || boidCenterInfluence != setCenterInfluence ||
boidBoidInfluence != setBoidInfluence || boidCorneringSpeed != setCornering)
if (boidSpeed != setSpeed || setVisionConeAngle != boidVisionCone || boidCenterInfluence != setCenterInfluence ||
setAlignInfluence != boidAlignInfluence || setAvoidInfluence != boidAvoidInfluence|| boidCorneringSpeed != setCornering)
{
foreach (BoidComponent boid in boids)
{
boid.setSpeed(boidSpeed);
boid.setVisionConeAngle(boidVisionCone);
boid.setCorneringSpeed(boidCorneringSpeed);
boid.setCenterInfluence(boidCenterInfluence);
boid.setCorneringSpeed(boidCorneringSpeed);
boid.setAvoidInfluence(boidAvoidInfluence);
boid.setAlignInfluence(boidAlignInfluence);
}
setSpeed = boidSpeed;
setCenterInfluence = boidCenterInfluence;
setCornering = boidCorneringSpeed;
setCornering = boidCorneringSpeed;
setAvoidInfluence = boidAvoidInfluence;
setAlignInfluence = boidAlignInfluence;
}
}