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 - rogerdv

#31
Hace un par de días hice un alto en mi proyecto principal para variar un poco y dediqué unas horas a implementar una cámara en tercera persona similar a la de Mass Effect/The Witcher 3. O sea, el mouse permite dirigir la cámara en cualquier dirección, y al avanzar el personaje se rota en la dirección que mira la cámara. Mi método quizás no sea el mejor, pero fue lo que se me ocurrió con mis modestos conocimientos de matemáticas y consiste en tener un gameobject pivote que es el padre de la cámara y se encarga de las rotaciones. El jugador es otro gameobject que a su vez se desplaza, arrastrando el pivote tras de sí.El freelook lo manejo con el siguiente código:
void Update () {
   GameObject go = GameObject.Find ("Label");
   
   if (Input.GetAxis ("Mouse X") != 0 || Input.GetAxis ("Mouse Y") != 0) {
      
      float rotationX = gameObject.transform.localEulerAngles.y + Input.GetAxis("Mouse X") * 2f;

      rotationY += Input.GetAxis("Mouse Y") * 5f;
      
      gameObject.transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
      RaycastHit hit;               
      Ray ray =  cam.ScreenPointToRay (Input.mousePosition);
      if (Physics.Raycast (ray, out hit, 100)) {
            
         var label = go.GetComponent<Text>();
         label.text = "Press E to interact with "+hit.collider.name;
      } else {
         var label = go.GetComponent<Text>();
         label.text = "";
      }
   }
}
Las cosas funcionan bien hasta la parte del control de la cámara. Donde se fastidia, es que no consigo implementar un raycasting preciso que me retorne los objetos que están en línea con el centro de la pantalla, donde supuestamente debería poner una cruz o algo así (al;go que aún no sé cómo hacer). Pensé que lo había conseguido aquí en la oficina, pero cuando lo probé en casa, para nada, el raycast me retorna objetos que están a la izquierda del personaje, o en cualquier dirección menos en la "línea central".Alguien me puede ayudar a corregir estos problemas?
#32
General (Antiguo) / A* para unity en 2d
Febrero 05, 2016, 06:16:17 PM
Me dediqué a confirmarlo, y el Navmesh no se puede usar en 2D. Hay soluciones en el Asset Store (bloqueado para mi país), así que la solución es implementar mi propio pathfinder en 2D.GSG3D, el algoritmo A* requiere dividir la escena en cuadriculas, de ahí mi pregunta. Desde el principio quería usar tilemaps, pero Unity 5.2 no los tiene y el beta que descargue no funciona si no tengo una licencia pro. 
#33
General (Antiguo) / A* para unity en 2d
Febrero 04, 2016, 03:04:55 PM
Bueno, en este caso me asalta una duda: cómo puedo dividir una escena compuesta por sprites en cuadrículas? Hay alguna forma de tomar todos esos sprites y meterlos en un array bidimensional, marcando los que son paredes como no pasables, etc? 
#34
General (Antiguo) / A* para unity en 2d
Febrero 03, 2016, 05:41:15 PM
Sí, es top view, pensé que navmesh no funcionaría ahí. Revisaré esos enlaces.
#35
General (Antiguo) / A* para unity en 2d
Febrero 03, 2016, 04:21:04 PM
 Necesito algún tutorial sobre cómo implementar el algoritmo A* en un proyecto 2d. He estado buscando, pero no encuentro nada que se ajuste a lo que necesito. Lo que estoy tratando de implementar es una IA básica que persiga al jugador por un laberinto cuando éste se acerque, creo que para eso la única solución es tener búsqueda de caminos, pero si alguien me puede sugerir algo más sencillo se lo agradecería.
#36
General (Antiguo) / generar un minimap
Enero 18, 2016, 06:58:17 PM
Alguien puede darme alguna sugerencia o enlaces atutoriales sobre cómo generar un mapa a partir de una escena? En este caso, la escena es un laberinto formado por sprites, necesito dar una vista completa al jugador y además mostrarle la posición donde se encuentra, junto con otros elementos como power ups que puede recoger, etc. 
#37
Estoy trabajando en mi primer juego para móviles, y además de eso tampoco tengo mucha experiencia como jugador en esa plataforma (siempre he jugado en PC, porque mi propio teléfono no es muy bueno). Mi proyecto es un juego de laberintos, y estoy valorando dos opciones para implementar el desplazamiento del jugador. El principio, solo es necesario moverse arriba/abajo/izquierda/derecha+disparo. Mi primera opción es poner cuatro botones de desplazamiento en la esquina superior derecha de la pantalla y un botón de disparo en la esquina inferior izquierda. Pero pensé que quizás para pantallas menores de 4 pulgadas eso ocuparía demasaido espacio, además de que los dedos del jugador podrían ocultar parcialmente el área de juego. Entonces elaboré una segunda opción: para desplazar presionar en la pantalla, "encima" del jugador para subir, debajo para bajar, y así sucesivamente. Persiste el problema de que las manos pueden ocultar la pantalla, pero supongo que eso sería inevitable. Qué método me recomiendan utilizar?
#38
Este es mi primer proyecto 2d, así que no sé si configuré la cámara correctamente. La puse en modo ortográfico y al principio pensé que estaba bien, pero al probar diferentes resoluciones en la vista previa del juego el área visible varía.
#39
Estoy haciendo un pequeño juego 2d para pc/android y quizás iOS más adelante, pero necesito que se vea igual en cualquier resolución. O sea, que no importa el tamaño de la pantalla, el jugador siempre vea la misma sección del laberinto, que estaría compuesto de 2x2 o 3x2 secciones. Cómo puedo conseguir esto?
#40
General (Antiguo) / dudas con colisiones 2d y triggers
Noviembre 25, 2015, 07:28:41 PM
Ayer dediqué un poco de tiempo a un proyecto "sencillo" en 2D que es un laberinto, pero me encontré con una situación que no logré resolver de inmediato. El caso es que el laberinto ocupa varias pantallas, y no sé cómo lograr que la cámara se desplace cuando el jugador alcance el límite visible. Pensé en utilizar un collider, pero descubrí que los colliders no me dejan avanzar el personaje (el sprite "rebota"), o sea, no he descubierto una forma de que solo se produzca el evento de la colisión pero que no me detenga el desplazamiento del personaje. Una solución que he estado valorando es que el personaje "salte" por encima del collider usando un translate, y desplazar la cámara. Hay alguna otra variante?Mi segunda duda es que también descubrí que cuando la esquina del sprite del personaje colisiona con algo, se le aplica una rotación. Hay alguna forma de evitar que las colisiones modifiquen la rotación del sprite? 
#41
General (Antiguo) / Tile maps
Noviembre 17, 2015, 05:16:49 PM
Sí, es completamente 2D, porque sería un remake de un viejo juego para MS-DOS que jugué a principios de los 90. Mi primera idea fue usar sprites, pero me pareció que no sería muy óptimo hacerlo así y quisiera que el juego funcionara en móviles viejos como el mío.Para la publicaicón tenemos que buscar a un intermediario, algún amigo de confianza que se encargue de subir a google Play o lo que sea y recibir el dinero. De momento no hay otra forma porque Cuba está como que desconectada de los mecanismos financieros normales, y los desarrrolladores estamos bastante desconectados también.
#42
General (Antiguo) / Tile maps
Noviembre 17, 2015, 04:26:49 PM
Y el mejor tabaco, para acompañarlo! Aunque están tan caros que ese es otro gusto que no me puedo dar a menudo.
#43
General (Antiguo) / Tile maps
Noviembre 17, 2015, 03:52:05 PM
El problema es que desde cuba el asset store es inacesible y además, el desarrollo es con presupuesto cero.
#44
General (Antiguo) / Tile maps
Noviembre 16, 2015, 09:39:16 PM
Estoy planificando un juego de laberintos y he dedicado un poco de tiempo a investigar cómo crear los mapas en Unity. Al parecer, el editor no cuenta con un modo para hacer tilemaps, lo más cercano que he encontrado implica generar la geometría a mano, metiendo los datos en el MeshFilter. No hay ninguna otra forma más cómoda de hacerlo? En mi caso, se trata de crear entre 20 o 30 laberintos distintos y necesito una forma sencilla de crearlos. Enb este caso no me interesa generarlos proceduralmente, porque la idea es que sean los mismos laberintos para todos los jugadores.
#45
General (Antiguo) / algun método para LOS o área visible
Noviembre 13, 2015, 03:27:06 PM
Alguien puede recomendarme alguna forma para determinar los GameObjects que están en frente de otro? La que quiero es saber qué personajes están dentro del cono de área visible de un personaje. Busqué en la documenbtación si se podía calcular un frustum o algo así, pero no encontré nada y Google tampoco me aclara (probablemente porque estoy usando mal los términos de búsqueda).