[quote author=pioj" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15389" data-ipsquote-contentcommentid="130558 date=1462436128]Se ha reducido el subforo de WindowsPhone/8/Store , comenzando así la fase de re-organización de los foros dedicados a Ports & Builds para dispositivos.La intención es distinguir correctamente lo que son consultas comunes de Unity (scripts, interfaz, assets, errores), de consultas específicas sobre una plataforma concreta.[/quote]No sé donde ponerlo para que lo veas. Bórralo después.Al entrar los tópics tarda bastante más que antes, pero creo que entran más de un topic a la vez. Hay entradas repetidas (3, 4, 5) en el mismo foro con lo idéntico contenido.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
#21
General (Antiguo) / Lentitud para acceder a algunos foros y Topics repetidos
Mayo 06, 2016, 06:43:55 PM #22
General (Antiguo) / Encriptar/Desencriptar clase y de/serializar a fichero
Abril 23, 2016, 01:35:42 AM
Dado un topic por aquí de alguien que le han pirateado el juego que ha colgado (luego coloco el link de este topic en el referido) he decidido hacer una par de funciones para poder serializar y deserializar cualquier clase a un fichero, pero con la diferencia que el fichero queda encriptado.La parte del encriptado no la he puesto, ya que al final cada uno hace el suyo a partir de las funciones de .NET. Lo único que requieren las funciones son chorreos de byte[] tanto de entrada como de salida. No es muy difícil de hacer y si os interesa lo puedo explicar más adelante. Pero vamos a lo que os comentaba:Para serializar la clase, que aquí se llama _parametersData (puede ser cualquier clase) y guardarla en el persistentPath, tenemos:
FileStream stream = File.Create(Application.persistentDataPath + "/" + this.PlayerDataFile);
using (MemoryStream mstream = new MemoryStream()) {
BinaryFormatter bf = new BinaryFormatter();
// Buffer 16Kb
byte[] buffer = new byte[16384];
// Encrypted bytes to be written
byte[] encrypted;
int bytesWrite;
// First serialize class
bf.Serialize(mstream, this._parametersData);
// Encrypt data
encrypted = cDataCryptManager.encryptBytes(mstream.ToArray());
using (MemoryStream msEncrypted = new MemoryStream(encrypted)) {
msEncrypted.Seek(0, SeekOrigin.Begin);
msEncrypted.Flush();
// Now write to file in chunks
while ((bytesWrite = msEncrypted.Read(buffer, 0, buffer.Length)) > 0) {
stream.Write(buffer, 0, bytesWrite);
}
}
}
// Close file stream
stream.Close();
- PlayerDataFile es el nombre del fichero con el cual vamos a guardar la clase.
- Serializamos la clase _parametersData en un memoryStream.
- La función static encryptBytes de la clase static cDataCryptManager es una función que recibe byte[] y devuelve byte[]. Lo único que tenéis que hacer es procesarlos con el algoritmo que más os guste y devolverlo igual en byte[].
- Luego procesamos en otro memoryStream los byte[] encriptados y los guardamos en el fichero en bloques de 16Kb en este caso.
#23
General (Antiguo) / Propuesta a Admin y Users
Marzo 31, 2016, 09:57:51 PM
Hola!He visto que en el GDC de este año han abierto una convocatoria para certificarse en Unity. Los lugares donde uno puede certificarse, el más cercano creo que está por el centro de Europa.Propongo a los admins del foro que se informen y puedan conseguir que podamos certificarnos en España. Además, podríamos crear un grupo de profesores certificados para certificar a otros, o a posibles alumnos. Montar una red por toda España. Tal vez hasta podríamos hacer la primera "pela" @jordi_boni, aunque hace tiempo que no te pasas por aquí, nos podrías informar sobre como conseguirlo?Qué os parece? Saludos
#24
General (Antiguo) / Código no utilizado y compilación
Marzo 29, 2016, 09:57:37 PM
Hola!Me acabo de dar cuenta de una cosa muy curiosa y que no había visto antes. Tengo un código y entre todo hay dos funciones: funcion1() y funcion2(). función1 llama a función 2. La función1 no se utiliza en todo el código. Es para más adelante. He cambiado función2 y le he añadido un parámetro, o sea, funcion2(a) que no es por defecto. El compilador de VS me da error, claro, pero Unity se da cuenta que no la utilizo y no da error porqué, NO LA COMPILA! Qué bueeeeeenooooooo.Probadlo, por ver si se me ha ido la pinza o es así. Es fantástico.Saludos
#25
General (Antiguo) / Componente UIRTMonitor
Marzo 23, 2016, 11:52:34 PM
Hola a todosComo el nuevo UI nos continúa atragantando a todos os traigo un componente que he hecho para poder ver como los cambios entre el nuevo UI y sus RectTransform's afectan a la position del vector, así como que valores son los adecuados para el anc***dPosition cuando cambiamos los anchor del Rect. Espero que os sirva a todos!Para probarlo tan solo arrastrad el componente a un componente del editor que tenga un RectTransform y podréis ver algunos de los valores internos.Saludos!
http://unityspain.com/applications/core/interface/file/attachment.php?id=9384">cUIRTMonitor.cs
http://unityspain.com/applications/core/interface/file/attachment.php?id=9384">cUIRTMonitor.cs
#26
General (Antiguo) / Firewatch 500.000 copias vendidas
Marzo 20, 2016, 01:58:41 AM
El juego indie Firewatch realizado en Unity ha vendido en un mes 500.000 copias entre PC y PS4. Han recaudado ya 10 millones de $. En la PSN de PS4 ha sido el juego más vendido este mes. El precio de venta ronda los 20 dólares.Una noticia inspiradora, no creéis?
#27
General (Antiguo) / Global Illumination fix en 5.3.2 p4
Febrero 20, 2016, 12:48:47 PM
Hola!Creo que había gente que tenía problemas con la global illumination y entre ellos la diferencia entre el modo edición y el playing. Mirad los fix de la p4:
- (http://issuetracker.unity3d.com/issues/graphics-linear-lighting-isnt-consistent-between-editor-and-standalone-player" rel="external nofollow">724426) - Global Illumination: Fix for linear lighting mode looking different between the player and Editor.
- (http://issuetracker.unity3d.com/issues/lighting-looks-much-darker-in-editor-than-in-build" rel="external nofollow">728595), (http://issuetracker.unity3d.com/issues/loadlevel-in-build-causes-baked-lightmaps-to-become-brighter" rel="external nofollow">738173) - Global Illumination: Fix for LoadLevel in the player causing lightmaps to become brighter when in Linear mode.
- (http://issuetracker.unity3d.com/issues/gi-lightmapping-artifacts" rel="external nofollow">765205), (http://issuetracker.unity3d.com/issues/directional-lightmaps-produce-green-slash-white-artefacts-for-specific-scene" rel="external nofollow">734187) - Global Illumination: Fixed brightly coloured (green/red/white/blue) pixels appearing in the directional lightmap caused by interpolation from invalid indirect lightmap data. Note: Need to clear the GI cache and rebake to get the fixed lightmaps.
- (756506) - Global Illumination: Fixed missing Ambient when "Baked GI" is disabled and "Ambient GI" is set to Baked.
#28
General (Antiguo) / Ejemplo de conversión de coroutine WWW
Febrero 11, 2016, 11:52:01 PM
Hola!Estoy convirtiendo parte de mi código a programación rx. La verdad es que el núcleo duro. Os dejo un ejemplo de como he pasado de esto:
public virtual IEnumerator webService(eAction action) {
cDebug.trace(this.debugLocal, this.name, "webService", "Begin");
// Includes http://
WWW www = new WWW(this.parameters.url + this.parameters.query);
cDebug.trace(cDebug.isDebug, this.name, "webService", www.url);
cDebug.redirect(this.txtDebugBig);
this.parameters.elapsedTime = 0.0f;
this.parameters.bError = false;
this.parameters.strError = "";
this.parameters.checksum = "";
while (!www.isDone) {
this.parameters.elapsedTime += Time.deltaTime;
if (this.parameters.elapsedTime >= this.parameters.timeOut) {
this.parameters.bError = true;
this.parameters.strError = "Timeout";
this.parameters.user.status = eStatus.timeOut;
break;
}
yield return null;
}
if (this.parameters.bError == false) {
if (!www.isDone || !string.IsNullOrEmpty(www.error)) {
this.onError(www.text, www.error);
} else {
cDebug.trace(this.debugLocal, this.name, "webService", "www.text = " + www.text);
cDebug.redirect(this.txtDebugBig);
// String can be null and no error
if (!string.IsNullOrEmpty(www.text)) {
// OK
this.sizeDownload(www.responseHeaders.Where(item => item.Key == "CONTENT-LENGTH").FirstOrDefault().Value, www.bytesDownloaded);
if (www.text.Contains("<!--") == true) {
int pos = www.text.IndexOf("<!--");
this.parameters.jsonResults = www.text.Substring(0, pos);
} else {
this.parameters.jsonResults = www.text;
}
this.onOK(action, this.parameters.jsonResults);
} else {
this.onError(null, "webService - www.text void");
}
}
}
cDebug.trace(this.debugLocal, this.name, "webService", "End");
}
A este código con rx: public IEnumerator rxWebService(eAction action, string url) {
cDebug.trace(cDebug.isDebug, this.name, "rxWebService", "Begin");
IObservable<WWW> rx = ObservableWWW.GetWWW(url)
.Select(www => {
cDebug.trace(cDebug.isDebug, this.name, "rxWebService", www.url);
cDebug.redirect(this.txtDebugBig);
this.parameters.jsonResults = www.text;
this.sizeDownload(www.responseHeaders.Where(item => item.Key == "CONTENT-LENGTH").FirstOrDefault().Value, www.bytesDownloaded);
this.onOK(action, this.parameters.jsonResults);
return (www);
})
.Timeout(System.TimeSpan.FromSeconds(this.parameters.timeOut))
.CatchIgnore((WWWErrorException ex) => {
this.onError("rxWebService", ex.RawErrorMessage);
})
.OnErrorRetry((System.Exception ex) => UnityEngine.Debug.LogException(ex), retryCount: 3, delay: System.TimeSpan.FromSeconds(1))
;
cDebug.trace(cDebug.isDebug, this.name, "rxWebService", "End");
return (rx.ToYieldInstruction());
}
Tengo que convertirlo a yields, para irlo integrando. A medida que la conversión "suba para arriba" los iré eliminando.Qué os parece?
#29
General (Antiguo) / UniRx, ReactiveExtensions, coroutines
Febrero 10, 2016, 09:04:06 PM
Buscando soluciones para otro topic mío, me he encontrado con esto. Una gran solución para las coroutines. Básicamente, en vez de esperar en yields la respuesta de una, se le asigna que acción realizar una vez terminado el proceso (observable). Además, es multithread real y acepta valores de retorno.Pegadle un ojo!https://github.com/neuecc/UniRx
#30
General (Antiguo) / System.IO.Compression
Febrero 10, 2016, 07:04:31 PM
Hola!Alguien sabe si en las versiones 5.3 de Unity ya funciona el System.IO.Compression? No he encontrado en Google nada que lo referencie y antes de utilizar una librería de terceros, me gustaría saberlo, ya que antes funcionaba dependiendo de una plataforma u otra. Es para implementar compresión a nivel de JSON contra un PHP server.Saludos
#31
General (Antiguo) / Unity 5.3
Diciembre 08, 2015, 04:46:07 PM
Madre mía, la de cambios y mejoras que hay. Id a mirarlo por vosotros mismos (http://unity3d.com/es/unity/whats-new/unity-5.3)Habrá bastante curro para realizar el upgrade y algunos known issues no me gustan. Esperaré al primer/segundo parche.
#32
General (Antiguo) / Gestionar tu propia librería de código
Diciembre 03, 2015, 02:46:11 PM
Hola a todos!Con el tiempo te vas creando tu propia librería de código, que se extiende en tamaño y dispersión entre diferentes proyectos. Y cuando ésto ya empieza a ser un problema, qué utilizáis y como lo hacéis vosotros para mantenerla?Saludos!
#33
General (Antiguo) / Atentados de París
Noviembre 14, 2015, 01:27:13 AM
Lanzo mi más intensa repulsa a lo acontecido hoy en París. Faltan palabras para definir la masacre de gente a decenas que se ha acometido hoy.Yo dejo de escribir comentarios por unos días.Robert
#34
General (Antiguo) / 5.2.2 p2
Noviembre 01, 2015, 03:03:25 PM- Entre las cosas, muchas, que incluye el patch he visto esta:
- (none) - GI: Fixed Enlighten saturating the command buffer and stalling because of it. Gives the biggest benefit in scenes with high rendering framerate and many animated realtime lights with non-zero bounce.
#35
General (Antiguo) / Problema en UI (solventado)
Octubre 27, 2015, 05:42:55 PM
Hola!Estoy haciendo un UI para mobile bastante complejo y bueno, al añadir las típicas flechitas derecha/izquierda que son estáticas, pues he puesto la derecha y la izquierda la he rotado 180 grados en Y. Para no tener dos gráficos vamos.Sorpresa, sorpresa. No os recogerá los eventos del Button. Claro, como ahora lo hacer por raycast, pues no lo pilla ya que estaría detrás de la cámara. Me he vuelto un poco loco, ya que al principio es como tener 100 botones exactamente iguales que funcionan y uno no, y no entiendes porqué.Espero que le sirva a alguien.SaludosNota: Con rotarlo en Z 180 en vez de en Y, todo solventado.
#36
General (Antiguo) / RsS Unity3D
Octubre 15, 2015, 04:25:35 PM
Holas!No sé donde publicar ésto. Intento acceder al rss de unity3D (tengo cuenta) y me da error de acceso continuamente diciendo que no tengo permisos.Debo hacer algo aparte de click?
#37
General (Antiguo) / Errores de UI en la 5.2.1
Octubre 10, 2015, 11:25:52 AM
Hola a todosA partir de la 5.2.1 se han detectado errores en el UI. Aparecen imágenes en negro. Yo lo he detectado en la DropDown cuando llevo la app a Android. En el editor no hay ningún problema. Después de estar toda la mañana removiendo, he podido solventarlo cambiando el ItemBackground del template a Tiled y la imagen a SliderHandle.Comentan en otros foros, por si os pasa con otros UI's, que cambiando el material de la imagen a Sprite-Default se solventa. En el caso de la dropdown no ha sido así.Dicen que lo arreglaran en la siguiente versión.Saludos!
#38
General (Antiguo) / Unity Tips
Octubre 08, 2015, 06:09:23 AM
Incluye un montón de tips organizadas por tipo:http://unitytip.com/" rel="external nofollow">http://unitytip.com/
#39
General (Antiguo) / Compass & Heading
Octubre 01, 2015, 07:36:21 PM
Hola a todos! Hacía tiempo que no planteaba una pregunta. Ya toca!Estoy tratando de conseguir el heading (true, orientado al N, no al magnético) a través de las funciones de Unity y me encuentro con un montón de problemas paralelos.Según la documentación y la puesta en práctica, el trueHeading es el valor en ángulos del vector respecto al N que surge de la parte superior del móvil puesto en vertical. Si yo apunto con él al N mirándolo de cara me da 0 grados. BienAhora bien, si yo muevo el teléfono en cualquier ángulo, rotándolo p.ej., al ser un vector respecto a, el valor de trueHeading comienza a cambiar ya que el vector cambia. Como es lógico.Según he estado encontrando por mil sitios, se recomienda utlizar el resto de sensores (gyro, acelerómetro) para compensar los valores y tratar de obtener un valor adecuado. Bueno vale, pensé, dicho y hecho. Pero es que los valores devuelven una cantidad de ruido de espanto. Desde otros sitios leo que recomiendan aplicar un filtro de Kalman a los resultados debido a esto. Otros sitios que los chipsets son tan sofisticados que ya lo llevan aplicado, con creces y mejores variaciones del algoritmo.Pues no sé por donde continuar. Si alguien ha trabajado con el valor del trueHeading en aplicaciones serias, me podría echar una mano? Una orientación de qué tipo de sensores utilizar y, si debo aplicar o no filtros y de qué tipo.Muchas gracias a todos!
#40
General (Antiguo) / Nueva versión 5.2!
Septiembre 10, 2015, 03:23:59 PM
Hay un montón de mejoras:de shaders, del ui (con una combo ahora), de optimización de sprites, de physics, de audio!!! que parecen una pasada, del editor, del lightmapping!Esta promete
Ya se integra Visual Studio de manera nativa (ya no tendré que copiar el asset por cada nuevo proyecto) y un montón de sdk's de los servicios de Unity.Es que me pongo nervioso y todo!
Ya se integra Visual Studio de manera nativa (ya no tendré que copiar el asset por cada nuevo proyecto) y un montón de sdk's de los servicios de Unity.Es que me pongo nervioso y todo!