Пример #1
0
    // Start is called before the first frame update
    void Start()
    {
        Random.InitState(42);
        randomSeed = new float[10];
        for (int i = 0; i < randomSeed.Length; i++)
        {
            randomSeed[i] = Random.Range(0, 5);
            Debug.Log(randomSeed[i]);
        }

        m_rotateObject = GetComponent <RotateObject>();
        avoidObstacle  = GetComponent <AvoidObstacle>();
    }
Пример #2
0
    // Vector3 aiDistance;

    //AvoidObstacle avoidObstacle;

    // Start is called before the first frame update
    void Start()
    {
        Random.InitState(42);
        randomSeed = new float[10];
        for (int i = 0; i < randomSeed.Length; i++)
        {
            randomSeed[i] = Random.Range(0, 5);
            //Debug.Log(randomSeed[i]);
        }

        //m_rotateObject = GetComponent<RotateObject>();
        m_moveTowardTarget = GetComponent <SensorAI>();
        avoidObstacle      = wallPosition.GetComponent <AvoidObstacle>();
        rttObject          = GetComponent <RotateObject>();
    }
Пример #3
0
    // Start is called before the first frame update
    void Start()
    {
        myMoveType           = new AvoidObstacle();
        myMoveType.character = this;
        myMoveType.target    = myTarget;
        myMoveType.flee      = flee;

        mySeekRotateType           = new Face();
        mySeekRotateType.character = this;
        mySeekRotateType.target    = myTarget;

        myFleeRotateType           = new LookWhereGoing();
        myFleeRotateType.character = this;
        myFleeRotateType.target    = myTarget;
    }
Пример #4
0
 // Start is called before the first frame update
 void Start()
 {
     myMoveType           = new AvoidObstacle();
     myMoveType.character = this;
     myMoveType.target    = myTarget;
 }
    private void Start()
    {
        //Separate
        Separation separation = new Separation();

        separation.character = this;
        GameObject[] goBirds = GameObject.FindGameObjectsWithTag("Bee");

        kBirds = new Kinematic[goBirds.Length - 1];

        int a = 0;

        for (int i = 0; i < goBirds.Length - 1; i++)
        {
            if (goBirds[i] == this)
            {
                continue;
            }
            kBirds[a++] = goBirds[i].GetComponent <Kinematic>();
        }
        separation.targets = kBirds;

        //Cohere
        Arrive cohere = new Arrive();

        cohere.character = this;
        cohere.target    = myCohereTarget;

        //Rotate
        LookWhereGoing myRotateType = new LookWhereGoing();

        myRotateType.character = this;

        blendedSteering                       = new BlendedSteering();
        blendedSteering.behaviors             = new WeightedBehavior[3];
        blendedSteering.behaviors[0]          = new WeightedBehavior();
        blendedSteering.behaviors[0].behavior = separation;
        blendedSteering.behaviors[0].weight   = 1f;
        blendedSteering.behaviors[1]          = new WeightedBehavior();
        blendedSteering.behaviors[1].behavior = cohere;
        blendedSteering.behaviors[1].weight   = 1f;
        blendedSteering.behaviors[2]          = new WeightedBehavior();
        blendedSteering.behaviors[2].behavior = myRotateType;
        blendedSteering.behaviors[2].weight   = 1f;

        //Priority Arbitration
        AvoidObstacle avoid = new AvoidObstacle();

        avoid.character = this;
        avoid.target    = myCohereTarget;
        avoid.flee      = false;
        BlendedSteering prioritySteering = new BlendedSteering();

        prioritySteering.behaviors             = new WeightedBehavior[1];
        prioritySteering.behaviors[0]          = new WeightedBehavior();
        prioritySteering.behaviors[0].behavior = avoid;
        prioritySteering.behaviors[0].weight   = 1f;

        advancedSteering             = new PrioritySteering();
        advancedSteering.myGroups    = new BlendedSteering[2];
        advancedSteering.myGroups[0] = new BlendedSteering();
        advancedSteering.myGroups[0] = prioritySteering;
        advancedSteering.myGroups[1] = new BlendedSteering();
        advancedSteering.myGroups[1] = blendedSteering;
    }