Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

[APORTE] Object Pool

Iniciado por Ilie, Enero 06, 2014, 06:57:20 AM

Tema anterior - Siguiente tema
esta mañana actualicé a la ultima versión de unity y me empezó a salir un error,todo sigue funcionando perfectamente así que no sé a que se debe:


"Serialization depth limit exceeded at 'PoolGroup'. There may be an object composition cycle in one or more of your serialized classes."


en PoolGroup no tengo nada

El sistema esta diseñado para que puedas anidar de forma ilimitada y unity solamente va a serializar hasta ocho niveles, evidentemente dudo mucho que se de el caso en el que tenga alguien que anidar mas de tres niveles, el error ese lo unico que hace es avisarte de que es posible que excedas el limite de profundidad en cuyo caso, se perderan esos datos pero es inofensivo. en principio no tengo intencion de modificar el comportamiento ya que no creo que nadie llegue a montar un dios como para que no lo serialice, yo hago uso extensivo de ello y ya te digo que maximo 3 niveles a modo de prueba, en produccion solo 2


   Pain-T: A free FPS browser game




   http://www.paintemall.com




   




   Hilo en unity3d.com



Febrero 12, 2015, 04:37:13 PM #62 Ultima modificación: Febrero 12, 2015, 04:42:05 PM por dr4
perfecto, gracias, y como puedo quitar esos avisos? he rebuscado por encima del código y no encontré el lugar desde el cual se emiten solo la causa por la que lo hace (que es a donde me envía al hacer doble click sobre el aviso).
 
también tengo esta advertencia que me está saltando y yo en la imagen ya tengo el setparent así que me gustaría quitarlo porque me los envía a cientos desde el pool: 
Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.

Dificilmete, es el serializador de unity el que los lanza, habría que cambiar como funciona, sinceramente a mi también me molesta bastante tener rojos en la consola, pero, es quitarle funcionalidades... No se, le daré alguna vuelta, si es que saco tiempo


   Pain-T: A free FPS browser game




   http://www.paintemall.com




   




   Hilo en unity3d.com



Febrero 12, 2015, 10:09:58 PM #64 Ultima modificación: Febrero 12, 2015, 10:26:15 PM por Ilie
He subido nueva "mini-version" quitando los warnings en el unity5. lo de los "rojos" lo dejamos para otra ocasion
 
 
por si no apetece bajarla para tan poca cosa
 
reemplazar la linea 34 de PoolItem de:
    trans.parent=transform;
a:

    trans.SetParent(transform,false);
 
Descarga donde siempre
https://github.com/euriarte/Unity-Simple-Pool" rel="external nofollow">https://github.com/euriarte/Unity-Simple-Pool
 
EDITO: por cierto con esta tonteria deja de ser compatible con la version 3 de unity
 
EDITO2: a la mierda!!! ya sigue siendo compatible por si alguien lo tiene en algun proyecto perdido por ahi O:)


   Pain-T: A free FPS browser game




   http://www.paintemall.com




   




   Hilo en unity3d.com



Gracias por el curro, se agradece mucho. Tenia problemas con un sistema pool y me acordé del tuyo, bastante completo, es genial.
Me lanza también el error "Serialization depth Limit exceed at 'Pool'"......
Enviado desde mi SM-N910F mediante Tapatalk

La vida llega a lo que existiò. Què maravilla!

Septiembre 14, 2015, 04:01:04 PM #67 Ultima modificación: Septiembre 14, 2015, 06:06:47 PM por mrpacogp
Solucionado.  

Septiembre 28, 2015, 11:06:44 AM #68 Ultima modificación: Septiembre 28, 2015, 11:21:59 AM por mrpacogp
Buenos días.No se porque motivo, si uso este comando:PoolManager.ReciclePool ("Zombie");Me funciona en un determinado momento, pero luego no.Solo se puede usar una vez por escena o que pasa? XD Vale, la segunda vez los instancia por gameobject en lugar de string, eh ahí la mubi xDGrats!

Octubre 30, 2015, 09:48:10 PM #69 Ultima modificación: Octubre 30, 2015, 10:15:47 PM por Ilie
Bueno, ante todo hola de nuevo, sigo vivo y esas cosas


   Pain-T: A free FPS browser game




   http://www.paintemall.com




   




   Hilo en unity3d.com



Octubre 30, 2015, 10:30:13 PM #70 Ultima modificación: Octubre 30, 2015, 10:30:52 PM por mrpacogp
No recuerdo muy bien donde lo ví, pero si añades 
#pragma warning disable warning-list" o 
#pragma warning disable 414, 3021
https://msdn.microsoft.com/en-us/library/441722ys.aspx" rel="external nofollow">https://msdn.microsoft.com/en-us/library/441722ys.aspxNo sé exactamente como es porque no lo mire.Tendrias la opción de ocultar el error, ese sería un modo genérico, pero si lo usas en el script principal estaría resuelto.Por cierto un saludo, se lo dije a Ion, a ver cuando puedo acudir yo a una.

Jajaja ya,Lo he probado y me ha mandado a hacer gárgaras, de hecho le he indicado que deshabilitar todos los warnings, pero nada, ahí siguen dando la tabarra...


   Pain-T: A free FPS browser game




   http://www.paintemall.com




   




   Hilo en unity3d.com



Llie, ¿si capturas las excepciones?, creo que la solución en este caso seria utilizar try-cacth, cuando tenga un tiempo trato de ver como solucionarlo

No, el problema no es mi código... bueno... o si, en cierta manera... no se lleva del todo bien con el serializador de unity, y es este último el que lanza la excepción, lo que he intentado es engañar al serializador para que no manche la consola pero he fracasado estrepitosamente, repito, esos errores son totalmente inofensivos pero molestan.Está reportado como bug desde la versión 4 pero al parecer supone realizar modificaciones serias y no hay intención de fijarlo ya que no es problemático.En última instancia el único problema que puede tener es que unity no te va a dejar anidar más de 8 niveles cosa que como ya dije en su momento dudo que nadie necesite hacer, es más dudo que nadie necesite anidar 4 o 3 si me apuras.Saludos


   Pain-T: A free FPS browser game




   http://www.paintemall.com




   




   Hilo en unity3d.com



Nada, no te preocupes en absoluto, no lo veo yo necesario tampoco.Por cierto, el pool es buenisimo y muy comodo de usar. Pero lo que todavía no he logrado usar es el pool group, lo tienes enfocado para partículas? Bueno, de momento siempre uso el pool simple, no se la finalidad ni como usar el pool group.

Etiquetas: