Noticias

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

Necesito ayuda en programación

Iniciado por ME VOY, Mayo 03, 2017, 05:59:32 PM

Tema anterior - Siguiente tema
Mayo 03, 2017, 05:59:32 PM Ultima modificación: Mayo 03, 2017, 11:04:24 PM por pioj
Hola buenas se que es un poco raro pedir esto en un foro, pero me gustaría saber si alguien me podría enseñar a programar en unity en c# ya que mis conocimientos son muy muy básicos y me gustaría poder aprender a programar.

Hola ***m, mira programar no es algo que se de de un dia para otro, si quizas se presente de un año para otro, por eso no creo que alguien se dedique a enseñarte exclusivamente progframación. Pero esa es la ventaja de la era de la informacion en la que vivimos, hoy todo esta en internet , y claro si sabes buscar y filtrar la info estas donde queres. Si queres aprender Unity (programacion) de pe a pa mi opinion acerca del orden de lo que tenes que aprender es el siguiente:
 


  •    Aprender como funciona cualquier lenguaje, te recomiendo C para arrancar, a parte es el (casi) creador de todo el resto de los lenguajes. Condicionales, saltos, bucles, variables y memoria. O podes irte derecho a estudiar diagramas de flujo, es basicamente lo mismo sin la sintaxis.


  •    Luego C++ o C#, basicamente entender el concepto de Programacion orientada a objetos, en resumen estudia clases, herencia, polimorfismo, bla,bla,bla. Te recomiendo una pagina llamada c con clase (http://c.conclase.net/curso/index.php) obvio si sabes C++ a C# lo dominas de taquito, salvo dos o tres cositas que tenes que incorporar, pero para el mundo Unity lo tenes super dominado.


  •    Luego Unity, es decir, como se mezcla C# (Fuira JS) con el framework de Unity. Cuando creas un script, que es lo que se esta creando? en donde se crea? cuales son sus assemblys? que es un motor basado en componentes (como Unity lo es)? que es un componente? como relacionar componentes via codigo? fisicas? algebra vectorial? etc...


O podes ser del tipo testarudo y arrancar alreves, podria funcionar, es mas, si ya te metes en Unity suele ser mas divertido, pero puede ser mucho mas frustrante.
 
Una vez tengas esto mas o menos molido vas a poder hacer cualquier cosa. Y tenes muuuuchos videos y sobre todo muchos libros para aprender. Los de Unity oficial son de los mejores tutoriales para aprender, pero si no sabes que es un if o una clase se te va a complicar mucho. Si tenes dudas puntuales tipias en google y la encontras en 5 segundos.
 
saludos
 
 

ya lo que pasa es que yo de internet ya e buscado información y e visto tutoriales y no me aclaro nada y los tutoriales la gran mayoria estan en ingles y yo de ingles se poco. Y nose que hacer.

Pensalo asi, vas a hacer tu juego, te vas a hacer millonario, te van a invitar al GDC 2018/2019, vas a dar una presentacion de tu juego, adivina en que idioma vas a dar la presentacion... . Aprende ingles y listo jajaj, de paso, toda la informacion que vas a necesitar esta en ingles, libros, videos, etc. El español usalo para ir al super o llamar a la Abuela.

Ya el tema también es que nose como aprender ingles xd
Y luego que me da corte hablar ingles al no saber hablarlo  

JAja olvidate del hablarlo, simplemente entender algo para nutrirte de los videos y libros. Tampoco es que TOODO este en ingles, hay cosas en español muy buenas:
 
http://csharp.com.es/
 
o el de c con clase que te pase.
 
Pero igual hay un grandisimo salto en la cantidad y calidad de informacion de un idioma a otro.

Mayo 03, 2017, 08:04:37 PM #6 Ultima modificación: Mayo 03, 2017, 08:07:18 PM por Horem
ya es cierto que hay diferencia de información
 
y yo lo que no entiendo es que diferencia hay entre programar c# y programar en un engine
 
porque claro es que uno cosa es programar supongo con las librerias y clases de unity para hacer juegos y lo otro programar con un programa de texto para escribir codigo
 
y que programa uso para programar en c# de manera independiente?
Y la ultima cosa que metedo me recomiendas para aprender ingles?

Unity te da Mono que es una IDE para C#, de eso no tenes que preocuparte. Entre programar una consola normal, tipico de todo ejemplo de programacion a programar juegos hay un salto grande, no en dificultad, pero entre medio hay muchas cosas. Yo te diria que vieras lo muy basico de Unity, y quizas te alcance con eso, hace lo siguiente:
 
- arranca abriendo Unity, crea un script, ponele "prueba.cs" --> Se va a crear un archivo c# con una clase publica dentro que hereda de monobehaviour, basicamnete es un objeto del runtime de Unity, algo que sera actualizado en el juego, por asi decirlo.
 
-  copia esto dentro del cuerpo de la clase que se crea:
 

void OnEnable()
{
Debug.Log("Soy OnEnable");
}
void Awake()
{
Debug.Log("Soy Awake");
}
void Start()
{
Debug.Log("Soy Start");
}
void Update()
{
Debug.Log("Soy Update");
}

 
Esto por mas simple que parezca es la base del orden de los metodos estos, te dicen cuando se ejecuta cada uno, con esto podes hacerte el call of duty 26 ya jaja

si de hecho lo del debug y todos menos los el void onEnable los conozco
 
tambien se lo del if y el else que si le das a un boton hara tal cosa y sino hara otra, los inputs para que el teclado te detecte cuando le das una tecla que haga algo. 
 
Lo que pasa que lo que son las clases, el enum, los switch, y las librerias, lo de crear voids, las animaciones, los shaders, los ajustes de graficos eso es lo que no se hacer y más cosas.
 
como por ejemplo lo de cojer un elemento de unity para que haga alguna accion que tu quieres que haga eso tampoco se hacerlo
lo que se mas es lo del if, el else, lo de variable publica privada, las variables float y string, el los void start, void update y el de ontriggerenter

Si quieres aprender a programar en C# para Unity lo mejor son los tutoriales oficiales  ...
 
https://unity3d.com/es/learn/tutorials/s/scripting
 
Lo se esta en ingles ... podes activar los subtitulos en Español ...
 
(Subo imagen del primer tutorial con subtitulos)
 
Si te tomas el tiempo de realizarlos tendras el conocimiento necesario para crear lo que desees en Unity y entender cualquier tutorial ...
 
Es lo mejor ... una vez que termines de realizar todos los tutoriales de scripts sabras programar y no solo en C# sino en C# aplicado a Unity
 
..
 
 
 
 
 
 
 

Tenes que separar dos cosas, una es que el motor va a tomar componente por componetne (internamente) y va a hacer lo suyo... y la otra es que vos cuadro a cuadro vas a modificar los valores de dicho componente.
 
 

   Todo se maneja asi, queres mover algo, busca en el componente Transfrom la posicion (un Vector3), queres aplicar una fuerza, busca el compoente rigidbody que tiene una funcion para agregar una fuerza. Esa es la ventaja de que sea orientado o basado en componentes. Vas a darte cuenta de que cuando buscas GameObject y Transform no usas GetComponent, eso es porque todo gameObject si o si tiene un transform, no se puede eliminar, el resto de los componentes Si.

 
Quizas te tengas que estudiar toda la jerarquia de como se manejan los objetos dentro de tu escena, arranca por aca:
 
https://docs.unity3d.com/ScriptReference/Object.html
 
O si queres el manual (q me olvide de mencionarte antes) esta aca:
 
https://docs.unity3d.com/es/current/Manual/UnityOverview.html
 
 
 
Los enum switch y demas es algo basico de todo lenguaje, no tiene nada que ver con Unity.
 
Los shaders te diria que ni te metas, usa los que te trae Unity y listo, es un mundo muy dificil.
 
 

ya gracias lo que pasa es que los substitulos no suelen ser muy buenos
 
Cita de: Luis_arg date=1493837496Si quieres aprender a programar en C# para Unity lo mejor son los tutoriales oficiales  ...
   
   
      https://unity3d.com/es/learn/tutorials/s/scripting
   
   
      Lo se esta en ingles ... podes activar los subtitulos en Español ...
   
   
      (Subo imagen del primer tutorial con subtitulos)
   
   
      Si te tomas el tiempo de realizarlos tendras el conocimiento necesario para crear lo que desees en Unity y entender cualquier tutorial ...
   
   
      Es lo mejor ... una vez que termines de realizar todos los tutoriales de scripts sabras programar y no solo en C# sino en C# aplicado a Unity
   
   
      ..
   
   
       
   
   
       
   
   
       
   
   
      
   


 
 
Cita de: lightbug date=1493837619Tenes que separar dos cosas, una es que el motor va a tomar componente por componetne (internamente) y va a hacer lo suyo... y la otra es que vos cuadro a cuadro vas a modificar los valores de dicho componente.
   
   
       
   
   
      Todo se maneja asi, queres mover algo, busca en el componente Transfrom la posicion (un Vector3), queres aplicar una fuerza, busca el compoente rigidbody que tiene una funcion para agregar una fuerza. Esa es la ventaja de que sea orientado o basado en componentes. Vas a darte cuenta de que cuando buscas GameObject y Transform no usas GetComponent, eso es porque todo gameObject si o si tiene un transform, no se puede eliminar, el resto de los componentes Si.
   
   
      Quizas te tengas que estudiar toda la jerarquia de como se manejan los objetos dentro de tu escena, arranca por aca:
   
   
      https://docs.unity3d.com/ScriptReference/Object.html
   
   
      O si queres el manual (q me olvide de mencionarte antes) esta aca:
   
   
      https://docs.unity3d.com/es/current/Manual/UnityOverview.html
   
   
       
   
   
      Los enum switch y demas es algo basico de todo lenguaje, no tiene nada que ver con Unity.
   
   
      Los shaders te diria que ni te metas, usa los que te trae Unity y listo, es un mundo muy dificil.
   
   
       
   


el problema es lo que comentamos antes que todo lo explican mejor en inlges y como no lo entiendo
 
luego otro problema que me salen de este color los substitulos y no se ven, nose si se pueden cambiar 
 
 
 

bueno ya esta creo que si mirare los videos con substitulos por ahora se entienden ya que pude arreglar eso de que me salieran en color blanco

Mira, yo seguía a este señor. Tiene un montón de vídeos sobre lo básico de C#, en Spanish.
 


   
" width="480">

 


Revisa también en sus otras listas de reproducción, tiene más sobre C#.

Aunque no se enfoca en Unity, pero aún así te ayudará a refinar lo que sabes de programación.


Es que yo estaba igual que tú, que no sabía hacer nada. Pero con el tiempo tus dedos volarán por el teclado de un lado para otro xD

Etiquetas: