Hello, i using these two code,
for (int i = 0; i < pop; i++) {
GameObject clone = (GameObject)Instantiate (arac, baslangic.transform.position, arac.transform.rotation);
clone.AddComponent<aracKod>();
clone.transform.SetParent (hareket.transform);
clone.GetComponent<aracKod>().katmanlaraDegerAta(100);
clone.GetComponent<aracKod>().carpma = 0;
}
katmanlaraDegerAra(100) assign random values to variables and it is works perfect
for(int i =0;i<pop;i++) {
GameObject clone2 = (GameObject)Instantiate(arac,baslangic.transform.position,arac.transform.rotation);
clone2.transform.SetParent (hareket.transform);
clone2.AddComponent<aracKod>();
float[,] tmp1 = bestKatman1;
clone2.GetComponent<aracKod>().girisKatman = tmp1;
float[,] tmp2 = bestKatman2;
clone2.GetComponent<aracKod>().araKatman1 = tmp2;
float[,] tmp3 = bestKatman3;
clone2.GetComponent<aracKod>().araKatman2 = tmp3;
float[,] tmp4 = bestKatman4;
clone2.GetComponent<aracKod>().cikisKatman = tmp4;
clone2.GetComponent<aracKod>().katmanlaraDegerAta(100);
clone2.GetComponent<aracKod>().carpma = 0;
}
but when I use this , all instantiated object get same values not random. I am working on this for 2 days and can not find the problem.
This is the randomize code but they are any changing on them.
public void katmanlaraDegerAta(float oran) {
girisKatman = katmanDegerDegis(girisKatman,oran);
araKatman1 = katmanDegerDegis(araKatman1,oran);
araKatman2 = katmanDegerDegis(araKatman2,oran);
cikisKatman = katmanDegerDegis(cikisKatman,oran);
}
float[,] katmanDegerDegis(float[,] agirlik,float oran) {
float[,] tmpCikis = agirlik;
if(oran > 1) {
for(int i = 0;i<agirlik.GetLength(0);i++) {
for(int j = 0;j<agirlik.GetLength(1);j++) {
tmpCikis[i,j] = Random.Range(-1.0f,1.0f);
}
}
}
else {
for(int i = 0;i<agirlik.GetLength(0);i++) {
for(int j = 0;j<agirlik.GetLength(1);j++) {
float ustLimit = Mathf.Clamp((agirlik[i,j] + oran),-1f,1f);
float altLimit = Mathf.Clamp((agirlik[i,j] - oran),-1f,1f);
tmpCikis[i,j] = Random.Range(altLimit,ustLimit);
}
}
}
return tmpCikis;
}