El rincón de Unity

Gabrielk

#206 Si acabas usando Git, en Bitbucket tienes gratis todos los repositorios que quieras, tanto públicos como privados, con el único límite de que el equipo debe ser como máximo de 5 personas, ampliable a 8 mandando invitaciones, y no tiene ningún límite en cuanto al espacio que puedes usar.

Aunque más adelante podais trabajar juntos en vez de cada uno por su cuenta es muy recomendable utilizarlo, yo lo utilizo incluso cuando programo solo.

Srednuht

#204 como te dicen por alli arriba assembla+tortoise svn > all

11 días después
13500

Buscando información no logro concretar si es problema de Unity o de mi programación.

Alguien sabe si se puede evitar el microsalto de 10ms cuando se reinicia un loop infinito de una pista de sonido?

#214 pues puede ser una solución, la verdad es que solo probé con MP3 activando y desactivando la carga en ram (se puede cargar previamente o stremear del HD para usar menos recursos)

gracias :D

1 respuesta
Meleagant

#213 No tengo ni idea de el caso de Unity, pero programando un juego en XNA me pasó algo parecido, y la única solución fue poner la pista de sonido con loop en WAV en lugar de MP3.

Era una limitación del framework, estoy seguro de que aún siendo MP3 se tiene que poder hacer loop son pausa, pero bueno por si te sirve de algo.

1 respuesta
13500

Más sobre Unity 4.3 y su framework 2D

http://www.develop-online.net/tools-and-tech/key-release-unity-for-2d-games/0184310

#216 otoño es lo único que se conoce... la beta que distribuían a varios estudios ya no funciona así que la release tiene q estar la caer

1 respuesta
PiTiFiNi

#215 joder que ganas. No hay fecha aproximada o se sabe cada cuanto meten las actualizaciones?

1 respuesta
11 días después
mTr

Buenas de nuevo, vuelvo con mas dudas otra vez jajaja. Esta vez, quizás mas técnicas.

El caso es que nos hemos juntado 4 amigos en una oficina y estamos dedicando nuestro tiempo libre (que para algunos es mucho xD) a intentar desarrollar juegos para móviles. Y antes de empezar con un proyecto mas grande que tenemos en paralelo, en proceso de diseño y de bocetos, nos hemos dedicado a hacer pequeñas pruebas de equipo, para desengrasarnos y engrasar a los nuevos jeje.

Nos hemos puesto a hacer un pequeño tower defense bastante sencillo, pero a la vez con programación que pudiésemos aprovechar para los siguientes proyectos. Una vez acabe con la cuadricula y una pequeña IA para los bichos (soy uno de los programadores xD aunque novato como ya visteis), a un compañero se le ocurrió la idea de aprovechar y aprender a integrar la aplicación en Facebook, ya que en nuestro siguiente proyecto, vemos necesario su integración si o si. La meta era simplemente guardar la máxima puntuación de cada usuario, y ver la puntuación máxima de tus amigos.

Me baje el SDK de Facebook, instale el package, examine el ejemplo que venia con el package, corrí la escena, y todo correcto... O eso pensaba, pues solo lo corría en el editor, y al correrlo en web fallaba. El caso es que cree un proyecto a parte solo para aprender como funcionaba, y hacer mis pruebas. Seguí los tutoriales de Facebook, y me cree una cuenta de desarrollador, asigne la AppId en Unity, ademas de sacar el hashkey para debug con contraseña "android". Me di cuenta de que el código del ejemplo del SDK, era demasiado para lo que necesitaba, ademas de que al parecer no funcionaba correctamente. Así que busque por Internet uno mas simplificado, pego aquí el susodicho :

using UnityEngine;
using System.Collections;
using Facebook;        // Must be specified to use HTTpMethod class
 

public class FacebookController : MonoBehaviour
{
 
public bool isEnabled;
public bool isLogged;
public string userId;

Texture pic;

void Awake()
{
    isEnabled = false;
    isLogged = false;
    userId = "not received";
}

private void SetInitFB()
{
    // This method method will be called withing the callback received by FB.Init()
    isEnabled = true;
}

 

private void SetAvailability(bool a_status)
{
    // This method method will be called withing the callback received each time Unity gets or looses Focus (True/false)
}

 

void LoginCallBack(FBResult result)
{
   if (result.Error != null)
    {
       Debug.Log("Receive callback login error :: " + result.Error.ToString());
   }
   else
   {
	  if (FB.IsLoggedIn)
      {
            // Case login was successful 
            isLogged = true;
            userId = FB.UserId; 

       }
       else
       {
           // Case login failed (because of cancelling for example)
            isLogged = false;
       }
    }
}

void GetProfilePicAnswer(FBResult response)
{
    // This method method will be called withing the callback received by FB.API()
    // You can add a control here for any kind of failure to print up a default picture for example
    if (response.Texture != null)
    {
        pic = response.Texture;
    }
} 

void Start()
{
    // Must call FB.Init Once
    FB.Init(SetInitFB, SetAvailability);
}
 
void OnGUI()
{
    if (isEnabled)
    {
        if (!isLogged)
        {
            if (GUI.Button(new Rect(5, 5, 100, 40), "Login FB"))
            {
                // In the string you are sending within the login process you can specify wich "permissions" you are asking for (in this case only to get the user's email)
                FB.Login("email", LoginCallBack);
            }
        }
        else
        {
            GUI.Label(new Rect(120, 5, 200, 40), userId);
            if (GUI.Button(new Rect(5, 5, 100, 40), "GetPic"))
            {
                FB.API("/me/picture", HttpMethod.GET, GetProfilePicAnswer);
            }
        }

        if (pic != null)
        {
            GUI.DrawTexture(new Rect((Screen.width - pic.width) / 2, (Screen.height - pic.height) / 2, pic.width, pic.height), pic);
        }
    }
}
}

Al darle al botón "Login FB" me dice que el usuario ya esta logueado, y no ocurre absolutamente nada. El ejemplo ahora también lo hace, y creo que es debido a que cambie el AppId, puesto que sin ello funcionaba bien.

El error en cuestión es este:

User is already logged in.  You don't need to call this again.
UnityEngine.Debug:LogWarning(Object)
FbDebug:Warn(String)
Facebook.EditorFacebook:Login(String, FacebookDelegate) (at Assets/Facebook/Scripts/EditorFacebook.cs:89)
FB:Login(String, FacebookDelegate) (at Assets/Facebook/Scripts/FB.cs:111)
FacebookController:OnGUI() (at Assets/SCRIPTS/FacebookController.cs:91)

A alguno os ha pasado lo mismo ? sera problema de configuración ? o es algo que se me ha pasado ? Estamos pensando incluso en buscar un asset que nos facilite la faena, porque el asset de Facebook estamos viendo que da bastante problemas. Incluso nos da problemas a la hora de compilar en Android, y no genera el .apk debido a la clase R de facebook.

Cualquier ayuda es bienvenida, ya que andamos un poco perdidos aun con este tema.. Gracias de antemano!

mTr

Hola de nuevo, espero no ponerme pesado con el tema jeje. Hemos adelantado con el tema de Facebook bastante. Conseguimos integrarlo en la pagina de Facebook, y usar su librería exportándolo para web. Pero nos ha surgido un problema de los gordos, y por mucho que busco, no encuentro la solución.

El problema es que desde que metimos el SDK de Facebook de Unity en el proyecto, no llega a compilar para Android. El error que da al intentar compilar es el siguiente :

Error building Player: Win32Exception: ApplicationName='C:\Program Files\Java\jre7\bin\javac.exe', CommandLine='-bootclasspath "F:/Documents and Settings/..../android-sdks/platforms/android-18\android.jar" -d "C:\Users\...\Pruebas Facebook\Temp\StagingArea\bin\classes" -source 1.6 -target 1.6 -encoding ascii "com\facebook\android\R.java" "com\unity3d\player\R.java"', CurrentDirectory='C:\Users\...\Pruebas Facebook\Temp\StagingArea\gen'

He probado de todo, y no encuentro la solución. Como borrar las carpetas "bin" y "gen" de "/Plugins/android/Facebook" por si el error venia de ahí, ya que el error apunta a la clase R de Facebook, pero el mismo error seguía saliendo. O incluso intente crear una .dll a partir del SDK, con resultados desastrosos.

Tengo la sensación de que nos estamos perdiendo algo, puesto que no veo errores del mismo tipo por Internet.

Espero que me podáis ayudar, gracias de antemano!

2 respuestas
Amazon

#218 tenéis alguna manera de hacerle un "clean" al proyecto? Por el código autogenerado. En Eclipse suele dar fallo y se arregla así (referencias nuevas que al generar el automático no se genera desde 0 y peta)

1 respuesta
13500

#218 tienes instalado el jdk version 64bits? prueba a instalar la x86

1 respuesta
mTr

#219 Creo que el clean se hace cada vez que se abre el proyecto, ya que la carpeta "Temp" desaparece del proyecto de Unity al cerrar el programa. Y si no me equivoco, es ahi donde se guardan y se recompilan las referencias.

#220 Respecto a lo del jdk, va a ser el siguiente paso que pruebe hoy, ya que se me ocurren pocas opciones mas con las que probar.

Gracias por las respuestas a los 2.

B

Empiezo a tener un dilema..

Me gustaría enzarzarme con el Networking en Unity, intentar hacer algún minijuego chorra multiplayer, la cosa es que no sé si usar el Networking de Unity (porque he estado leyendo y todo el mundo dice que es una mierda, además de no poder usarlo a modo de consola por si pillas un server dedicado y no soporta el entorno gráfico) o si usar Photon, o SmartFox, que son los más conocidos, creo.

¿Alguien ha hecho un juego multiplayer con Unity? Podríais contar experiencias, dar consejos y demás? Sería de muchísimo agradecer!

#223 Está bien..

2 respuestas
Potito

#222 Todas las alarmas se me han disparado.... Sigo vigilando el espacio tiempo, la continuidad y el destino.

MIDGARD NO LO VUELVAS A HACER

Termina algo antes de meterte en multiplayer.

1 1 respuesta
Selbryn

#222 Hay un montón de tutoriales por ahi, yo no he hecho ninguno, pero según tengo entendido es bastante fácil hacer un juego para jugar a través de una red local.

2 respuestas
B

#224 El objetivo no sería jugar en LAN, obviamente.. xD

B

#224 El objetivo no sería jugar en LAN, obviamente.. xD
#228 Mhm nop, mi intención no era hacer un WoW, era hacer un pequeño escenario y hacer que cualquiera pudiese entrar y mover un cubo con un texto encima con el nombre que hayan puesto al entrar.

2 respuestas
Selbryn

#226 Primero habrá que conseguir lo fácil no?

1
Srednuht

#226 Tu quieres hacer un Wow de entrada y luego un solitario no? jajaajj, que yo tambien querría, pero es dificil xD

1 respuesta
11 días después
YaW

Si tuvieseis que empezar ahora a hacer un juego 2D con unity que usaríais? Porque tengo entendido que la solución oficial para el 2D todavía no está implementada y que hay varios plugins en el store, no se cual será el más completo.

2 respuestas
R

El siguiente update, el 2.4 traerá herramientas incorporadas. Supuestamente está al caer

1 respuesta
Meleagant

#229 2D Toolkit.

Hace poco estuvo de oferta, yo lo compré por 30€ más o menos.

Te lo recomiendo incluso aún cuando salga la 2.4, ya que tiene muchas funcionalidades que la 2.4 no va a tener seguro como soporte para tile maps por ejemplo.

1 respuesta
sergilazaro

#229 Yo he usado Futile algunas veces, va bien si estás acostumbrado a hacerlo todo en código (no hay completamente nada en el editor excepto un GameObject que lo contiene todo). Por si es un juego que igualmente tampoco tendrá desarrollo en el editor de unity, rollo algo procedural y tal. Tiene para cargar atlases, lo optimiza todo para usar el mínimo de drawcalls, etc.

La 2.4 en principio está ya acabada, pero lleva en beta unas semanas y seguramente antes de finales de año la publiquen.

1 respuesta
grivcon

Tengo una dudilla, hace tiempo estuve curioseando por la web de Unity para cuando empezase a desarrollar juegos. La cosa es que no recuerdo y no loo encuentro ahora si en el Unity Free puedo exportar para HTML5 para navegadores (nada de Web Player, un .html + js de toda la vida quiero) e iOS con esa limitación de 100K en ventas al año.

P.D: para una aventura gráfica 2D de toda la vida (Monkey Island, etc...) me recomendais Unity, así aprendo? O el que?

Graxeee

1 respuesta
Meleagant

#233 Que yo sepa Unity no exporta HTML5, solo web player. Para eso yo usaría algun engine HTML5. Phaser es gratis y muy bueno.

1 1 respuesta
YaW

#230 #231 #232 gracias, probaré el 2D Toolkit que ya que hacemos el cambio de Unity quiero acostumbrarme a usar el editor y para la idea que tengo en mente vendrá bien.

grivcon

#234 que opinas de usar PhoneGap para hacer cross-platform usando algún engine como el que me has mencionado?

1 respuesta
B

Sabéis si las licencias de 2D Toolkit se pueden compartir? Voy a comprar una junto con un compañero y no se si vamos a poder usar los dos la misma, necesitamos una cada uno?

dr_Rouman

#236 Comparativamente va a ser peor experiencia siempre que una aplicación nativa, pero según el juego puede notarse más o menos.

Phaser funciona relativamente bien con móviles, de hecho creo que intentan ser "mobile-first" en cuanto a rendimiento

sergilazaro

Notición! Ya ha salido Unity 4.3!!

10 1 respuesta
YaW

Lel y yo preguntando hace dos días sobre qué extensión usar xDD

Pues nada, a bajarlo y probarlo se ha dicho.

1 respuesta
Tema cerrado