Noticias

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

Por que utilizo Unity 3d

Iniciado por robinson, Agosto 19, 2017, 04:03:47 AM

Tema anterior - Siguiente tema
se, lo que mas me motiva es plantear bien el proyecto y ir aprendiendo mientras intente llegar a la meta.
 
Creo que si terminas un proyecto y no as aprendido nada nuevo, es que algo as echo mal xD

Cita de: Kvashir date=1504005554se, lo que mas me motiva es plantear bien el proyecto y ir aprendiendo mientras intente llegar a la meta.
   


Si, siempre y cuando el planteo este un 90% hecho (podes inventar el 10% mientras tanto) y aprendas un 20% del 100% que sabes al finalizar. El problema es que muchas veces uno arranca con el 50% del diseño y actualmente sabe un 50% de lo que debe saber al final  entonces nunca lo terminas. (Aunque podes...)
 
me acuerdo cuando empece estuve en mi mejor momento mi planteo era--> un personaje primera persona, caminar y saltar, con jumpscares(si ya se, muy barato y malo) y agarrar items, nada mas. De eso sabia un 80% ponele y el planteo lo tenia un 100% (muy simple) + las ganas que suman.
 
Ahora tengo el diseño de cualquier cosa que hago por la mitad porque claro soy mucho mas ambicioso ahora + muchas veces no tengo en claro cual es la meta .....en la parte de conocimiento estoy bien. Entonces estas en el loop peligroso de cambiar todo el diseño (simplemente por falta de progreso o pro falta de motivacion) vs posible peligro de que no salga algo como debe salir (por problemas tecnicos, planificacion, de performance, de arte).
 
Por eso la mayoria de la gente como yo que esta cansada de este ciclo (fijate que en la red hay muchas, creeme) un dia dice, "hoy voy a hacer un Tic Tac Toe y lo voy a publicar", listo

pues riete, pero incluso el juego mas absurdo del mundo con algo diferente hoy en dia puede darte dinero

por que utilizo unity 3d... por las fisicas realistas
 

yo lo utilizo porque es comodo e intuitivo, por su facilidad y documentacion, por el entorno de trabajo (editor) que esta muy bien,
 
y me pareze lo suficientemente potente para la mier* de proyectos que hago, jeje, y, aunque como lightbug,y muchos otros, nunca he terminado nada, no es por culpa de unity, ni mia, es simplemente que mis proyectos no son proyectos en si, sino mas bien exprerimentos, pruebas, y cachos de codigo sin un objetivo en concreto mas que aprender y mejorar




   

      
         no se, pero estaría bien que un experto en ese tema nos respondiera con total seguridad xD 
      
   

[/quote]
 
¡Por supuesto, faltaría más!
 
 
 
Vamos allá (así en plan rápido):
 
Pros:
 


  •    Facilidad de aprendizaje y facilidad de uso.


  •    Documentación abundante.


  •    Multitud de plataformas posibles incluyendo consolas.


  •    Herramientas cada vez más avanzadas (profiler, oclusión y GI, probes de iluminación/reflexion). Algunas llevan años, pero lo cierto es que siguen siendo una maravilla.


  •    Herramientas 2D y Partículas (poco a poco parece que el 2D va mejor y las partículas shuriken están avanzando a marchas forzadas).


  •    Posibilidades muy interesantes al alcance de tu bolsillo con las Asset Store (hay autenticas maravillas).


Cons:
 


  •    Renderer por debajo de la competencia (las imágenes posibles con unreal o Cryengine superan con bastante a Unity).


  •    Terrain y sistema de arboles/vegetación de chiste (a ver quién es el guapo que se hace un bosque en plan Skyrym con Unity o hace una cueva. No sé a que están esperando para hacerlo voxel based).


  •    Orientado a grupos pequeños/medianos (en entornos grandes otros engines están mejor pensados, aunque con GIT la cosa poco a poco cambia).


  •    GIT centralizado NO funcional usando tu propio server (una cagada en toda regla el tener que usar Unity connect con los servidores remotos de Unity). Es lo que tiene pivotar el negocio hacia servicios por suscripción, que te van cortando posibilidades con ésta.


  •    No hay IA integrada (aunque si pathfinding). una IA integrada con programación visual por nodos es algo que debería ser hasta nativo del propio Unity. Los hay de pago en la Asset Store, pero muchos otros engines tienen soluciones nativas).


  •    Falta de editores avanzados de shaders, carreteras para terrain, etc...


  •    Compilador base, Garbage Collector del año de la pera. Están en ello y poco a poco lo van actualizando, pero led verdad que hay que seguir con NET 2.0 / 3.5 ??? Juas!  Ahora por fin vamos a la 4.6, pero llega tarde, muy tarde...


 
 
Algunas de las cosas que están en Cons, pueden solucionarse comprando algo en la Asset Store (IA, Editor de shaders, editores de terrain avanzados, etc...) pero otros no (terrain avanzado con vegetación como Dios manda, CG avanzado y no la mierda que tenemos).

puaj yo me eh topado con esto hoy en youtube
 


   
eature=oembed" width="480">

 
 
 
fijarse al final cuando programa con c++, (me da mucho asco C y C++, me da ganas de potar jaja. prefiero C# mil veces no se vosotros

Cita de: Kvashir date=1506112625fijarse al final cuando programa con c++, (me da mucho asco C y C++, me da ganas de potar jaja. prefiero C# mil veces no se vosotros
   


C# es hermoso, la verdad es quizas uno de los lenguajes mas comodo y complejo que hay, pero nada le gana a la libertad que tenes de un lenguaje compilado y orientado al bajo nivel como C/C++ (si lo vas a usar bien para lo que lo debes usar) y no te creas que es tan feo hacer algo parecido, en Unreal lo feo es que tenes que aprender "Unreal C++", hay cosas y definiciones y maneras de hacerlas que solo unreal conoce, por eso las partes feas que mencionas. Mira asi movia a mi personaje en el motor que me habia hecho yo en c++ con sfml:
 

void Player::Update()
{
m_horizontal = Core::GetInstance()->InputManager()->GetAxis(InputManager::AxisType::Horizontal) * m_walkSpeed * Core::GetInstance()->DeltaTime();

//gravity
m_vertical -= 9.8f * powf(Core::GetInstance()->DeltaTime(), 2);
   
//Jump
if (Core::GetInstance()->InputManager()->GetKeyDown(Key_Space)) {
   m_vertical = 0;
   m_vertical += 10 * Core::GetInstance()->DeltaTime();
}

m_object->GetComponent<Transform2D>()->Move(m_horizontal , m_vertical);
   
}

 
si ves es muy parecido a C#, (salvo las "->" y los "::") obvio hay muchos getinstance y getcomponent se podia haber cacheado varias cosas, pero era a modo de prueba, y andaba de maravilla. todo va en como te organices.

lo de tener que indicar si pasas por valor o por referencia me parece un asco (los -> y * )
mas tener que hacer headers...

Cita de: Kvashir date=1506115225lo de tener que indicar si pasas por valor o por referencia me parece un asco (los -> y * )
   
   
      mas tener que hacer headers...
   


Bueno depende cual es la opinion que buscas, si me parece feo, no amo esos * y las ->. Si me parecen innecesarios, es obvio que no, si me gustaria que todo fuera tan sencillo como C#... ojala, pero la realidad impide que sea asi. Y ni hablar que en C es mas rebuscado que C++ para muchas cosas.
 
Eso que no te gusta de C++ es lo lindo que tiene, si vas a usar el lenguaje para lo que es, con un puntero podes direccionar de otra forma que por valor no (en C# tener los out y ref creo), podes hacer trucos a la hora de pasar un argumento para no recrear el valor ni el mismo puntero, sino tomar la referencia (const reference), podes usar headers para definir un monton de cosas que en C# no podes o quedan feas, podes manejar memoria directamente que en C# no podes, esta dedicado a la plataforma, es universal (com***doras, sistemas embebidos,etc) y mas.... Pero es entendible que si estas acostumbrado a crear una clase en C# vs C++ es un poquito mas enliada, tardas un poco mas, y es algo frustrante al principio, por eso la IDE orientada a la comodidad es clave tambien.
 
Igual me parece que hay muchos post en todos lados de esto y que hay confusion en general, C++ en Unreal no fue metido para que se compare directamente con la "contraparte" de C# en Unity (el vid si tenia esta intencion esta mal), a ver...nada le gana a un buen C++ , por eso es util y vital a la hora de comparar (como sugiere el vid...supongo) de diferenciar scripting language de programming language, en el scripting lo ideal es que sea un lenguaje visual o muy simplificado, por eso se entiende blueprint y es genial para esto (lastima que Unreal no opto por algo como C#), y para lo complejo o todo lo de bajo nivel es recomendable bajar al sotano de C++ y tocar ahí. Es obvio nunca podes dejar contentos a todos (los altos y bajos niveles) por eso me parece algo injusta la comparacion, es como decir que esa madre de 40 años (tiene un atractivo promedio, 8 hijos, cocina, lava, plancha, mantiene la casa, trabaja, etc) se ve menos atractiva que esta otra (muy guapa, sin hijos, va al gym, no sabe hacer nada )  me entendes es injusto "generalizarlo asi", y decirlo a los cuatro vientos (no lo digo por vos, lo digo porque en muchas lados estan con el vs este, cual es mas lindo, cual mas feo, cual mas rapido, cual mas facil, mas dificil, etc).
 
 
 
Fuera de tema (mas o menos) te dejo este ejemplito interesante ya que mencionaste Unreal y C++, y yo mencione blueprints. (ya ni me acuerdo si ya lo subi antes pero bueno...)(un simple for ---- C++ vs C++ metido en Blueprintvs Blueprint):
 


   
eature=oembed" width="480">

 
 

Etiquetas: