Menú

Mostrar Mensajes

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.

Mostrar Mensajes Menú

Mensajes - francoe1

#76
Scripting / Contador
Febrero 07, 2020, 01:27:24 PM
Cita de: nomoregames date=1581065298Gracias francoe, y la proxima vez tratare de pensar un poco mas antes de publicar la duda.... ahora me siento tan estupido 


Jajaja, suele pasar!
#77
Scripting / Contador
Febrero 06, 2020, 09:55:32 PM
Podría ser algo como VIDAS / 3
#78
Scripting / Descargar Imagenes servidor
Febrero 06, 2020, 03:36:20 PM
Hola @Jony existen varios modos de realizar esto, pero por lo general se trata de realizar mediante un API REST para que todas tus consultas sean genéricas.
 
Con API REST tu consulta sería tal que "https://host.com/api/fotos/2020/[ID DE LA FOTO]". esto te retorna un objeto  llamado "PAGINADOR" que contiene algunos datos importante como el ID de la siguiente y anterior foto y la URL de la IMAGEN La URL de la imagen seria tal que "https://host.com/api/fotos/2020/[ID DE LA FOTO]/source"
 
Esto se puede lograr con NODE.JS o en PHP con Laravel. 

En lo personal uso PHP y no me gusta utilizar librerías, de hecho tengo una libreria propia que uso para muchos proyectos y funciona como PSEUDO API REST, esto debido a que no me parece del todo buena idea los métodos extras al GET y POST.
 
¿Cómo puedes realizar esto con un simple PHP?

Puede crear un archivo index.php en el directorio de las fotos donde obtengas todos los archivos y lo agregue a un arreglo y te lo retorna como JSON_ENCODE
 

<?php
$files["files"] = new array();
foreach (new DirectoryIterator('./') as $fileInfo) {
    if($fileInfo->isDot()) continue;
    $files["files"][] = $fileInfo->getFilename();
}
echo json_encode($files);

 
Luego desde Unity recibes el objeto JSON y lo conviertes con JsonUtylitis a la clase mapeada para este objeto.
 

string json = WebRequest.Get("host/carpeta/fotos");
string[] files = JsonUtility.ToObject<PhotosCollectionJSON>(json).files;
[Serializable]
public class PhotosCollectionJSON
{
     public string[] files;
}

 
La variable FILES debería contener todas las URL de las imágenes que se encuentran dentro de la carpeta.
#80
Scripting / Ejes de rotación cambiados (SOLUCIONADO)
Febrero 06, 2020, 12:23:58 AM
Cita de: Jhonatan00_00 date=1580918229EL PROBLEMA ERA POR EL RIG DEL PERSONAJEEEEEE!!  jaajajajaj... 
   
      Para quien le ocurra esto: Hay que pinchar en el modelo de tu personaje, después en la pestaña Rig y donde pone Animation Type seleccionar Humanoide. Problablemente se te descoloquen todos los huesos de su sitio como me ha pasado a mi, pero puedes ir colocando uno por uno pinchando en Configure.
   
   
      Ahora la cabeza rota hacia el objeto, pero al Rig le faltan huesos por añadir y el personaje al correr hace movimientos muy raros y como si su eje de rotación central estuviese mal, así que tengo que arreglar aún eso.
   


Bienvenido al mundo de  los IK y los RIG... Es bastante complicado de encontrar el flujo de trabajo correcto, pero con el tiempo te vas acostumbrando a la forma de trabajar con RIG.
#81
Scripting / Ejes de rotación cambiados (SOLUCIONADO)
Febrero 05, 2020, 02:48:05 PM
¿Seguro que para que un personaje mire hacia un punto con la cabeza se usa IK? 

Claro que sí, rotar la cabeza calcula el movimiento de muchos huesos, por esa razón no vas a encontrar un IK_GOAL para este caso se utiliza una función.
https://docs.unity3d.com/ScriptReference/Animator.SetLookAtPosition.html
 
Simplemente le pasa la posición que quieras que el persona mire y Unity se encarga de calcular la rotación de la cabeza, puedes modificar el peso de algunos huesos para lograr un resultado personalizado.
#82
Yo tengo este tema de realidad aumentada pendiente, me sorprende bastante lo que se puede lograr
 
¡Buena idea de proyecto!
#83
Arte / Paleta de colores
Febrero 05, 2020, 12:29:33 PM
Tu pregunta es bastante complicada de explicar por lo genérica, deberias especificar Plataforma, estilo gráfico, Si es 2d, 3d, 2.5d, isométrico...
 
Pero en sí lograr gráficos homogéneos siempre lo dejo en las manos de los "diseñadores gráficos" ellos tienen o deberían tener la experiencia suficiente para mantener un estilo estable entre los recursos gráficos del juego, modelos, sprites, ui y todo lo relacionado.
 
Desde mi punto de vista te recomiendo que aprendas a utilizar cualquier software de diseño, Photoshop, Krita, Animator (Flash), Illustrator y empieces a experimentar, muchos efectos visuales se logran con "hacks" super simples y sabiendo manejar más o menos photoshop vas a lograr cosas bastante decentes. No te recomiendo que intentes crear personajes o ambientaciones si lo tuyo no es el diseño gráfico, esto puede ser bastante frustrante. Pero si te interesa el tema podes tomarte un curso que te enseñe lo básico para arrancar.
 
https://www.crehana.com/ar/carreras/carrera-de-diseno-grafico/
 
 
 
¿Se deben de optimizar las texturas para darles a todas una sola paleta de colores?

El concepto de optimizar esta mal aplicado en este contexto. ¿Se debe usar una paleta de colores para todas las texturas? No, simplemente se trata de un patrón de diseño. Por las dudas ¿no estás mezclando el concepto de textura con material? digamos que materializar un juego es bastante diferente a texturizar.
 
¿como realizan ustedes las texturas?

Si se trata de cosas que están dentro de mi conocimiento utilizo photoshop e intento que las cosas tengan un mismo estilo.

Si lo hace el diseñador gráfico tiene algunos pasos 
 


  1.    Boceto: se dibuja y pinta algo en papel para tener un concepto de cómo se va a ver.


  2.    Se modela 


  3.    Se diseña los materiales necesario dentro de Substance Designer


  4.    Se pasa el modelo a Substance Painter


  5.    Se pinta el modelo creando todo los mapas de textura


  6.    Se exporta de substance y se importa a Unity.


Solo se usa Substance en casos que los modelos sean complejos, para cosas simples se usa photoshop.
#84
Scripting / Tembleque al usar fisica
Febrero 04, 2020, 11:47:38 PM
Me gusto tu respuesta! con esa actitud deberías responder siempre.
 
Cita de: Jhonatan00_00 date=1580851590pero también me doy cuenta de que cuando alguien pregunta cualquier cosa suelen liarlo mucho.
   


Esto no es algo intencional, imaginate que vos no entendes ciertas cosas por lo cual tu contexto está basado en tus conocimientos, para darte una respuesta real debería conocerte y poder contextualizar las cosas. Es por esta razón que siempre intento contestar de la forma que creo más correcta, de esta manera puedes seguir buscando información relacionada y solucionar tus problemas.
 
Algo muy importante, si quieres aprender lo mejor es leer toda la documentación de Unity es corta y tiene información muy importante para entender muchos conceptos, yo la he leído varias veces, algunas en inglés y otras en español, mi ingles no es muy bueno y me costo baste pero mis ganas de entender superan esas limitaciones. 
 
Anímate a Leer, los videotutoriales son un arma de doble filo, si bien lograr un resultado más inmediato es muy dificil asimilar los concepto, sobre todo, por que mucha gente que hace tutoriales no sabe el porqué ni el concepto de las cosas.
 
 
 
Saludos.
#85
Scripting / Tembleque al usar fisica
Febrero 04, 2020, 03:18:10 PM
Cita de: Jhonatan00_00 date=1580821931Buenas tardes, he solucionado los problemas de los tembleques simplemente cambiando el método de actualización del proceso principal del script. No entendía a Lightbug porque no había dicho que la forma de actualización de un script no puede darse solo en un comando para por ejemplo desplazar un objeto con transform, si no en todo un proceso completo.
   
   
      Me  explico: Cuando creamos un script tenemos dos procesos ya creados, uno es void Start (para inicializar cualquier parámetro) y otro es void Update (el proceso que actualiza los frames). En este proceso que actualiza los frames tenemos que cambiar el Update por FixedUpdate para que actualice las físicas correctamente y listo.
   
   
      A mi me van bien ahora y no tiene mas complicación, aunque es un error por parte de Unity, ya que nosotros queremos un engine para crear videojuegos y listo, no para estar solucionando problemas que ya debería de solucionar por si solo, ¿por que crean el FixeUpdate cuando funciona igual que un Update pero sin errores en las físicas?, para eso usas siempre FixeUpdate y listo... no lo entiendo.
   
   
      Un saludo.
   


Te voy a contestar nuevamente intentando no herir tus sentimientos.
 
2 cosas importantes antes de empezar, la definición de comando está muy alejada de lo que realmente quieres expresar, en dicho caso deberias utilizar algo referente al código, por ejemplo, línea de código,  API, etc. Segundo, lo que estás llamando proceso se define como Función, son cosas demasiado diferentes para confundirlas. 
 
Ahora dejando claro lo anterior vamos al tema del ¿por qué se utiliza más de una función de actualización?, el por que es simple, Unity como todos los motores gráficos que existen tienen un variable que se conoce como GameTime esta variable Unity la llama deltaTime, no es más que el tiempo que pasó desde el último frame al actual, esto nos sirve para crear una lógica consistente. EJ. si intentas trasladar un objeto sin deltaTime este dependerá de cuantos FPS tengas en el momento, sin embargo si multiplicas esto por deltaTime entonces compensaras el movimiento entre diferentes FPS, esto es una simple regla de 3 simples.
 
¿Por que FixedUpdate?

La separación de Update y FixedUpdate se debe a una decisión de diseño y una solución a Physics Pass, mientras la función Update se llama en cada frame, la función FixedUpdate se puede llamar 1, 0, o varias veces todo depende del Physics Pass y la configuración del proyecto. Las físicas no solo hacen que tu Rigidbody se mueva, si no, tiene que calcular los Hitbox, contacts, triggers, joins y todos lo componentes físicos que existan en la escena.
 
¿Por qué no usar siempre FixedUpdate?

Por la misma razón que no colocas la lógica del Juego dentro de la función Start o Awake, por que no se trata de la función que deriva del Game Loop.
 
 
 
Si estás interesado en saber más te recomiendo LEER lo siguiente donde explica muy bien el ciclo de vida de un juego.
https://ir.lib.uwo.ca/cgi/viewcontent.cgi?referer=&httpsredir=1&article=1138&context=electricalpub
 
Suerte!
#86
Scripting / Ejes de rotación cambiados (SOLUCIONADO)
Febrero 04, 2020, 02:54:36 PM
@Jhonatan00_00 Buenos días.
 
¿Estás entendiendo cómo funcionan los IK?

Te recomiendo leer acerca del tema de forma aislada a la implementación en Unity.
 
Para realizar correctamente el bypass de los IK deberias tener un Animator Controller configurado correctamente, obviando este tema, te intentare ayudar. 
 


  1.    ¿Estás creando dos Layers en el Controlador?


  2.    ¿Estás aplicando el comportamiento IK sobre el Layer correcto?


  3.    ¿Estás aplicando la fuerza de rotación y posición al hueso correcto?


  4.    ¿Has probado realizar IK bypass sobre todo los IK?


Realmente es simple de lograr el resultado del comportamiento básico de un IK con Avatar Mask y Animator Controller, quizas no estas dando con el problema. Intenta empezar un proyecto de cero solo para aprender sobre este tema.
#87
Website / [OFICIAL] Dimisión como Admin de UnitySpain
Febrero 03, 2020, 04:03:06 PM
@pioj Que decisión tan grande te has tomado, pero los cambios siempre son buenos y necesarios, no queda más que agradecer el gran esfuerzo que has puesto para que el foro tenga hoy en día todo su reconocimiento, con mis más sinceros sentimientos te deseo lo mejor en este cambio.
 
En cuanto al foro, creo que somos pocos lo usuarios que desde hace aproximadamente 10 años estamos en la comunidad aportando y ayudando, no me gustaría que esto se pierda y de repente ya no contar con el foro, los que aún quedamos y con pasión disfrutamos lo que hacemos seguramente se nos hará un nudo en la garganta. 
 
Si no encuentras un reemplazo me gustaria hacerme cargo del legado de UnitySpain por algún tiempo, sería genial contar con la ayuda de @iRobb
 
Desde ya, gracias por tanto y suerte con el siguiente paso en tu vida! Un abrazo
#88
Scripting / incremento con while
Febrero 02, 2020, 10:07:38 PM
@Jocyf que compartía un material bastante llevadero, no se trataba de hacer una réplica del tutorial, si no, de la observación y la implementación de otras personas, luego, me di cuenta de la importancia del Open Source y lo gratificante que es empezar a apoyar proyectos en GIT.
 
En todo mi camino desarrolle para grandes y chicas empresas , proyectos fáciles, complicados hasta fracase un par de veces pero nunca nadie me explico absolutamente nada, nunca me dijeron el "Por qué" se realizaba algo de cierta manera, siempre tuve que buscar la explicación por mi parte, esto no quiere decir que no exista gente sin ganas de compartir, de hecho en el foro oficial de Unity hay personajes que me han ayudado bastante con problemas que en ese entonces creía complejos. 
 
Me termine dando cuenta de algo, los programadores nuevos (no quiero generalizar) simplemente aprender a repetir. La programación es un ARTE y PASIÓN quienes lo comprenden son las personas que pasan horas y horas escribiendo código, intentando entender, aprender y optimizar todo al máximo, no importa que sepas como funciona, lo que importa es la experiencia que tenes para implementar el conocimiento en diferentes contextos. 
 
Dando la explicación anterior se puede deducir porque decidi no perder tiempo en contestar a esta persona y aprovecharlo en algo mejor. (Aca invertí mi tiempo)
 
@Jhonatan00_00 No te lo tomes a mal, pero cuando no sabes de qué hablas, no tenes idea, es mejor no argumentar y menos aún intentar retrucar. Si quieres y realmente te gusta el desarrollo de juegos empieza por aprender y entender. En el topic hice 2 respuestas con soluciones, en la primera intente no invadir en la solución que el usuario encontró, esto es muy importante, cuando alguien te consulta algo tienes que responder siempre contextualizando el contenido según su conocimiento. La segunda respuesta es para ejemplificar que la problemática tiene una solución alternativa, más eficiente y la que se utiliza generalmente para resolver este problema, el incremento de una variable para este tipo de cosas es totalmente impracticable, inestable, inseguro, etc. Sin embargo, existen más formas aún, que se implementan en contextos diferentes, en conjunto con otros componentes que forman un sistema modular.
 
En resumen, no quiero que se mal entienda, me gusta ayudar y compartir mi conocimiento, me gusta leer a otros usuarios, pero me rompe mucho lo huevos que se intente discutir sin argumentos y/o conocimientos.
 
Saludos-
#89
Otros / Estancamiento
Febrero 02, 2020, 04:56:07 AM
Cita de: iRobb date=1580613783Que genial descubrimiento lo del openlibra.com @francoe1 Me he  ido directo a retrogaming y está... la Microhobby Jajajaja
   
   
      Gracias!
   


Lamentablemente en Argentina mucho contenido no entra o el valor es demasiado alto, por lo que OpenLibra es la solución a varios libros.. 
#90
Otros / Estancamiento
Febrero 01, 2020, 09:51:09 PM
Hola @nomoregames te aconsejo que antes de empezar a intentar realizar un juego al 100% aprendas, técnicas, formas, algoritmos que suelen utilizar los desarrolladores de juegos.
 
Aprendizaje Básico:
 


  •    Entender las estructuras de datos simples de C#


  •    Entender los delegados y eventos


  •    Aprender sobre NameSpace, Clases, Estructuras y Niveles de Accesibilidad.


  •    Aprender sobre Clases Abstractas


  •    Aprender sobre funciones Virtuales


  •    Aprender a utilizar Switch


  •    Aprender a utilizar Enumeradores


  •    Aprender a utilizar Linq, ventajas y desventajas


  •    Entender los vectores 


  •    Aprender y utilizar vectores de dirección


  •    Entender las posiciones, rotaciones, escalas tanto globales como locales


  •    Aprender el ciclo de vida de una objecto en C#


  •    Aprender el ciclo de vida de un componente


  •    Entender MonoBehaviour


  •    Aprender a realizar Herencias


  •    Aprender a serializar clases


  •    Aprender a utilizar BinaryWriter y BinaryReader.


  •    Aprender a trasladar objetos a diferentes velocidades.


  •    Aprender lo básico sobre componentes físicos (Rigidbody)


  •    Aprender fórmula de tiro parabólico.


  •    Aprender fórmula de curva bézier.


  •    Aprender sobre Raycast, Box , Sphere, Line, Ray y todas sus variantes.


  •    Aprender sobre prefabs y el nuevo flujo de trabajo con nested-prefabs. 


  •    Aprender a utilizar Singleton


  •    Aprender a utilizar Atributos de clases.


  •    Aprender a utilizar Scriptable Object para la fragmentación de comportamiento datos.


  •    Aprender sobre Listas, Arreglas


  •    Aprender sobre variables de sólo lectura


Aprendizaje Avanzado:
 


  •    Aprender sobre funciones arrow


  •    Aprender sobre funciones lambda 


  •    Aprender a utilizar correctamente Dispose y Garbage Collection


  •    Aprender a utilizar Dots.


  •    Aprender a utilizar HLSL (Surface Shaders)


  •    Aprender a utilizar Partículas


  •    Aprender a utilizar Sockets


  •    Aprender a utilizar WebClients


  •    Aprender a utilizar Threads


  •    Aprender algoritmos de búsquedas de camino Pathfinding como A*


Actividades:
 


  •    Crear un sistema simple de WayPoints


  •    Crear un sistema de seguimientos de WayPoints mediante direcciones y fuerza


  •    Hacer un seguimiento de cámara simple


  •    Simular la gravedad de una caja sin rigidbody.


  •    Calcular la fuerza exacta para lograr el salto de 1 unidad con rigidbody.


  •    Generar un Cubo mediante Código con MeshRenderer. 


  •    Guardar y Cargar datos en formato binario.


  •    Simulador de vuelo de un avión sin Rigidbody. 


  •    Simulador de vuelo de un helicóptero sin Rigidbody.


  •    Simulador de vuelo de un avión con Rigidbody. 


  •    Simulador de vuelo de un helicóptero con Rigidbody.


  •    Movimiento simple de jugador 2D sin rigidbody.


  •    Movimiento simple de jugador 2D con rigidbody.


  •    Movimiento simple de jugador 3D sin rigidbody.


  •    Movimiento simple de jugador 3D con rigidbody.


  •    Movimiento simple de jugador 3D con CharacterController.


  •    Detectar si el Jugador está en contacto con el suelo. 


  •    Calcular el tiempo que el jugador estuvo en el aire.


  •    Calcular el tiempo que el jugador estuvo en el suelo.


  •    Calcular la fuerza necesaria vertical y horizontal para que un objeto sin Rigidbody recorra 10 unidades con una fuerza gravitatoria de -10 en el eje Y.


  •    Detectar si el Jugador está en contacto con la pared (que se encuentre por delante).


  •    Detectar si el Jugador está en contacto o próximo a un objeto sobre su cabeza.


  •    Evitar que el Jugador salte si no tiene el espacio suficiente.


  •    Generar zonas con diferentes comportamientos físicos, como deslizarse, alentar, acelerar, rebotar.


  •    Controlar la velocidad de Jugador para que recorra 100 unidades en línea recta siempre al mismo tiempo. 


  •    Diseñar UI mediante editor (Edit Mode).


  •    Diseñar UI mediante código (Runtime).


Proyectos para aprender sobre mecánicas:

Intenta replicar las mecánicas de la forma más exacta posible, luego modificarlas para experimentar y entender el por que se llegó a la decisión de mantener esos valores.
 

Proyectos NO RECOMENDADOS:
 


  •    RPGs


  •    MMO


  •    ROL el clásico "GTA"


  •    Juegos Multiplayer como BF, Fornite, etc.. 


 
 
Links para estudio y practicar: son los que me acuerdo que leí en algún momento y me han servido, los de CEDV son muy buenos, lamentablemente ahora se pasaron a Unreal, pero siguen estando las ediciones del 2015
 
https://openlibra.com/es/book/download/desarrollo-de-videojuegos-un-enfoque-practico-3a-ed/
https://openlibra.com/es/book/download/desarrollo-de-videojuegos
https://openlibra.com/es/book/download/logica-del-videojuego
http://cedv.uclm.es/libro2015/M4.pdf
 
Esto está destinado a todos los usuarios que se encuentren estancados.