Noticias

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

Buenas, Necesito ayuda

Iniciado por sami188, Octubre 27, 2017, 12:39:04 PM

Tema anterior - Siguiente tema
Hola buenas, Soy samuel encantado.
 
Estaba pensando en hacer un juego en 2D con unity y estaba pensando en un plataformas o algo rollo Hack N Slash y me preguntaba si tenéis algún tutorial o manual por ahí a mano con el que poder comenzar, o algún consejo. Gracias adelantadas.
 
Un saludo

Cita de: sami188 date=1509100744o algún consejo
   


Hola Samuel, si es que no conocés nada de Unity (supongo, te pido disculpas si no es así) no empecés con Tutoriales, es un típico error que todo el mundo hace, acordate que esto no es el paint, o game Maker, esto es un motor, es el rejunte de todo los medios más complejos dentro de un gran programa (Video, graficos, Audio, Físicas, etc), no podés simplemente seguir a alguien que diga pone esto aca y aca y listo, ahí tenés tu juego 2D que siempre quisiste (obviamente existen cararrotas así, pero bueno...). Aún asi Unity es muy fácil de aprender. Voy a suponer que querés crear un juego de forma seria y no para pasar el rato.
 
Vamos a lo básico, como vas a mover tu personaje? fijate, con una quinta(?)... sexta(?) parte de un juego 2D ya tenés material para meses (sino años de perfeccionamiento). Aca tenés un tutorial (a modo de ejemplo)de un correcto controller 2D (no con un rigidbody dinámico pedorro que usan en cada tutorial):
 


   
eature=oembed" width="480">

 
Son 13 partes! todo para terminar el movimiento de un típico personaje 2D (tiene wall jump, y algunas cosas mas). En 3d Unity trae un controller, en 2D lo debés crear vos, o comprarlo. Podes usar un rigidbody y en 5 líneas mover tu personaje pero a cambio de muchos futuros inconvenientes, sobre todo si tu H&S está basado en plataformas. Si recién arrancas no vas a entender ni la parte 2, por lo que de lleno hacer un juego 2D estaría fuera de tu alcance, sea el tipo que sea, tenés que pensar de forma más realista e ir cubriendo aspectos del juego, poco a poco, por ej, algunas cosas a tener en cuenta y que podés investigarlas vos mismo, sin que nadie te guíe en un tutorial de tipo general (podés obviamente ver código ejemplo a modo de "reforzar" lo que aprendiste):
 


  •    controller de movimiento (arriba)


  •    sistema de guardado


  •    Interfaz de Usuario (UI)


  •    Managers (de juego, de escenas, etc)


  •    Programación en general (clases, herencia, polimorfismo, interfaces, propiedades, campos, etc), mientras más sepas esto mucho mejor.


  •    Físicas, cast's y Layers


  •    IA, en 2D como la haces? que tipo de enemigos tendrás? ya que no hay NavMesh como los vas a mover y setearles el path finding?


Esto como básico, para arrancar, ni hablar de los problemas que vendrán luego si es que te lo tomás en serio, ves como con un tutorial de (ponele)10 videos nadie te puede enseñar como hacer todo un juego H&S, ni si quiera el primer punto (el controller), y no hablo de "enseñar", en el video que te pase el autor supone que sabés lo que está haciendo... bueno, creo que entendés mi punto.
 
Es igual que estudiar cualquier cosa (ponele matemáticas), si querés saber primero lees el libro, luego con las herramientas aprendidas encarás el problema, pero nunca arrancas estudiando del solucionario del libro, para luego tratar de "adivinar" la solución del problema.
 
Saludos
 
 


hola, bienvenido!
 
@lightbug tiene razon, comenzar de "cero" en unity puede ser muy complejo....
 
yo comence a programar(como aficion) hace muuuuchos años... comenze en "basic" en un spectrum... y luego en un amstrad... habia muy pocas "ordenes" o comandos.... 
 
ahi (con tiempo) comence a comprender y "dominar" las partes "logicas" de la programacion:
 
-variables(int, float, string... )
 
condiciones/comprobaciones(if/else, switch...) 
 
-bucles(for, foreach, while....)
 
-input(KeyCode, mouse ...)
 
-output(mostrar imagenes/textos en pantalla)
 
 
 
....eso me llevo mi tiempo....
 
 
 
luego toque algo de c++ pero me pase a "java" ensegudia....
 
ahi aprendi:
 
-programacion orientada a objetos(class, new, Instantiate, Destroy...)
 
-funciones(void, corroutines... o funciones que devuelvan un valor...)
 
 
 
...y a la vez que java tambien probe "darkbasic" basado en basic, pero con funciones para simplificar el uso de 3d...
 
ahi aprendi sobre 3d(vertices, triangulos, normals, uv...) 
 
y aprendi bastante sobre trigonometria 3d y vectores(importante)
 
y fisicas y colisiones.... reproducir animaciones de modelos 3d... interactuar con los "bones/limb" a traves del codigo....
 
 
 
...y por fin me pase a unity y c#
 
...y aun asi(sabiendo de programacion...), al principio no me enteraba de nada con Unity...  y me costo un poco arrancar...
 
c# si que lo pille casi al momento al haber "trabajado" con c++ y java... pero unity trae muchas cosas aparte de un "editor de texto" para escribir codigo... y me costo habituarme a todo su "interfaz"... puesto que no habia "trabajado" con un motor asi.... pero una vez lo hice, ya no imagino mi vida sin este "motor", jeje
 
como dice @lightbug:
 
Cita de: lightbug date=1509135904acordate que esto no es el paint, o game Maker, esto es un motor, es el rejunte de todo los medios más complejos dentro de un gran programa (Video, graficos, Audio, Físicas, etc), ...
   
   
      ...Aún asi Unity es muy fácil de aprender.  
   
   
       
   


 

Vale, Muchas gracias @lightbug veo que tengo que comenzar por lo básico.
 
Estoy en un ciclo de Videojuegos y nos han encargado un juego 2D para el cual tengo 2 meses para hacerlo, tengo como compañero un artista grafico, asique recae sobre mi la parte de programacion, conociendo lo basico de c#, comenzare por lo basico que me comentas del movimiento del personaje, e intentare llegar a un hack n Slash o lo mas parecido que consiga.
 
Gracias por tus consejos.

A ver, si ya sabes programar, tienes conocimientos de orientación a objetos y conoces lo básico de C#, pero no conoces Unity, puedes empezar a  conocer lo básico del motor: Clases, Bucle de juego, Manejo de las físicas, Scripting con mensajes entre objetos, mani***ción de objetos, uso de Managers, Interfaz de usuario, algo de iluminación, herramientas que da Unity, etc.
 
Si es esta tu situación tienes muchos recursos para comenzar, ya si quieres hacer algo 2D o 3D depende de muchos factores, pero en cualquier caso yo no me tiraría a fuego, si no has hecho cosas mas simples, a hacer un plataformas, tiene muchas puñetitas que solventar. 
 
Yo primero empezaría por algún jueguecito simple y luego haría quizá un FPS muy básico, con eso ya te peleas un poco y a partir de ahí ya puedes pasar a mayores. Siempre en 3D para empezar, el 2D en Unity puede ser una guerra si utilizas ciertas cosas (las fisicas, por ejemplo y las colisiones en 2D para un plataformas son complicadas, no se si conoces el uso de raycast pero es esencial y muchas cosas mas)
 
No se si puedo hacer publicidad, pero recientemente ha salido un libro bastante bueno si estás en este punto 

Cita de: sami188 date=1509358315Vale, Muchas gracias @lightbug veo que tengo que comenzar por lo básico.
   
   
      Estoy en un ciclo de Videojuegos y nos han encargado un juego 2D para el cual tengo 2 meses para hacerlo, tengo como compañero un artista grafico, asique recae sobre mi la parte de programacion, conociendo lo basico de c#, comenzare por lo basico que me comentas del movimiento del personaje, e intentare llegar a un hack n Slash o lo mas parecido que consiga.
   
   
      Gracias por tus consejos.
   


Ah ok, entonces te diría que no hagas lo del video tutorial que te pasé, osea no se cuanto sabés de raycast, unity, layers, y demás, pero hacer un buen controller (o uno mas o menos rescatable) te puede llevar mucho. En ese caso deberías entregar tu alma al diablo por estos dos meses y usar un rigidbody dinámico, es mucho más sencillo para mover un personaje. Revisá el ejemplo del Robot 2D de Unity si querés una guía, o tenés muchisimos tutoriales por ahí.
 
saludos
 
 

Lo del RigidBody dinámico no se yo si es buena idea para un plataformas, quizá para uno en el que las físicas sean la base, pero no lo veo en un Hack n Slash donde el movimiento tiene que ser preciso y las físicas te pueden jugar malas pasadas. Yo creo que echarle tiempo a un buen controller es tener gran parte del juego hecho, siempre puede limitar las mecánicas, los tipos de enemigos, el número de fases y escenarios y presentar algo limitado pero funcional, ya que entiendo que el objetivo del proyecto no es hacer un juego grande, sino uno con un alcance limitado pero que funcione bien.
 
De todas formas te va a influir mucho como diseñes el juego, si no tienes mapas enrevesados con colisiones complicadas, por ejemplo si es un terreno plano de ir a izquierda y derecha con algún cambio de nivel puntual, sin plataformas móviles, ni enemigos que te ataquen por todas partes y solo salgan de los lados, puede no ser necesario  el uso de Raycast y usar colliders, incluso para los ataques melee puedes usar Distance. Piensa que en los juegos hay mucho "truco".

Cita de: FNP date=1509457080Lo del RigidBody dinámico no se yo si es buena idea para un plataformas, quizá para uno en el que las físicas sean la base, pero no lo veo en un Hack n Slash donde el movimiento tiene que ser preciso y las físicas te pueden jugar malas pasadas. Yo creo que echarle tiempo a un buen controller es tener gran parte del juego hecho, siempre puede limitar las mecánicas, los tipos de enemigos, el número de fases y escenarios y presentar algo limitado pero funcional, ya que entiendo que el objetivo del proyecto no es hacer un juego grande, sino uno con un alcance limitado pero que funcione bien.
   


No solo "no es una buena idea", es una pésima idea, pero si alguien que arranca quiere mover algo en 2D sin tener que dedicar tiempo a tener un buen controller, y además le piden el juego en dos meses, con tan solo algunas líneas de código podrá hacerlo.
 
Yo tengo mi propio controller 2D y me ha llevado años dejarlo tan lindo como está ahora (cuando puedo le meto "habilidades nuevas") y aún tiene algún que otro bug boludo dando vuelta, no tengo ni idea que lo ocasiona. Por eso, lleva tiempo tener algo aceptable, pero a la larga paga bien.
 
 

Por eso creo que debería montar algo sencillo aunque fuera con collliders y diseñar el juego limitando lo que da guerra, si quiere hacer un Hack'n Slash el tema de plataformas no es demasiado importante. Es que las físicas ya de por sí son un dolor, y si son en 2D, es de lo peor. Para hacer algo bueno en 2D, de este estilo y sin sorpresas tiene que ser kinematico.

Etiquetas: