// Use this for initialization
    void Start()
    {
        cc         = GetComponent <CarControlScipt>();
        nn         = new NeuralNetwork(amount * 2 + outputs, neuronsInHiddenLayer, outputs);
        rayCasts   = new List <GameObject>();
        prevOutput = new double[outputs];

        for (int i = 0; i < outputs; i++)
        {
            prevOutput[i] = 0;
        }


        for (int i = 0; i < amount; i++)
        {
            GameObject newRay = Instantiate(rayCast) as GameObject;
            newRay.transform.SetParent(this.transform);
            newRay.transform.Rotate(0, angle / amount * i - angle / 2 + transform.rotation.y + 90, 0);
            newRay.transform.position = transform.position + transform.forward * 3f;

            newRay.GetComponentInChildren <ShooterRayCast>().parentCar = this.gameObject;
            rayCasts.Add(newRay);
        }
        double[] w = nn.GetWeights();
        for (int i = 0; i < w.Length; i++)
        {
            //Debug.Log(w[i]);
        }
    }
Exemple #2
0
    // Use this for initialization
    void Start()
    {
        nn       = GetComponent <Core>();
        cc       = GetComponent <CarControlScipt>();
        gatesIds = new List <int>();

        Renderer renderer = GetComponent <Renderer>();

        renderer.material.color = new Color(0.1f, 0.1f, 1f);
    }