Finalizing tweaks to various settings and influence factors
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user