public void crearObjeto(int x, int y, int z) { Vector3 posicion = new Vector3(espacio_cubo * x + xinicio, 0, espacio_cubo * z + zinicio); Vector3 posicionfacil = new Vector3(espacio_cubo * x, espacio_cubo * y, espacio_cubo * z); RaycastHit hit_arribaizquierda; RaycastHit hit_arribaderecha; RaycastHit hit_abajoizquierda; RaycastHit hit_abajoderecha; Listarayos.Clear(); if (Physics.Raycast(new Vector3(espacio_cubo * x + xinicio - 0.5f, espacio_cubo * y + yinicio, espacio_cubo * z + zinicio + 0.5f), Vector3.down, out hit_arribaizquierda, 600, layer)) { Listarayos.Add(hit_arribaizquierda.point.y); //posicion.y = hit.point.y +y*espacio_cubo + 1.5f; } if (Physics.Raycast(new Vector3(espacio_cubo * x + xinicio + 0.5f, espacio_cubo * y + yinicio, espacio_cubo * z + zinicio + 0.5f), Vector3.down, out hit_arribaderecha, 600, layer)) { Listarayos.Add(hit_arribaderecha.point.y); } if (Physics.Raycast(new Vector3(espacio_cubo * x + xinicio - 0.5f, espacio_cubo * y + yinicio, espacio_cubo * z + zinicio - 0.5f), Vector3.down, out hit_abajoizquierda, 600, layer)) { Listarayos.Add(hit_abajoizquierda.point.y); } if (Physics.Raycast(new Vector3(espacio_cubo * x + xinicio + 0.5f, espacio_cubo * y + yinicio, espacio_cubo * z + zinicio - 0.5f), Vector3.down, out hit_abajoderecha, 600, layer)) { Listarayos.Add(hit_abajoderecha.point.y); } posicion.y = Listarayos.Min() + y * espacio_cubo + 0.5f; Color color = new Color(Random.value, Random.value, Random.value); GameObject outobject; if (objectPool.TryGetNextObject(posicion, Quaternion.identity, out outobject)) { //instanciacubovirtual[x, y, z] = outobject; //instanciacubovirtual[x, y, z].name = string.Format("{0}.virtual", this.id); //setPropertyColor(color, instanciacubovirtual[x, y, z]); Instanciaobjetoprinciapl = new Objeto_principal(color, posicionfacil); //Objprincipal.Add(Instanciaobjetoprinciapl.id, Instanciaobjetoprinciapl); this.id = idAhora++; /* * if(idAhora > 1200 && Objeto_principal.idAhora > 1200) * { * idAhora = 0; * Objeto_principal.idAhora = 0; * } */ outobject.name = string.Format("{0}.virtual", this.id); setPropertyColor(color, outobject); Posicion.Add(posicionfacil, outobject); outobject.GetComponent <MeshRenderer>().enabled = true; } }