N200 Escape

En esta sección se realizará el seguimiento de los proyectos de semestre, con los respectivos avances periódicos según lo definido en la metodología SCRUM.

Moderator: julianmartinez16

User avatar
jorovipe97
Posts: 48
Joined: Tue Jan 19, 2016 12:08 pm

Re: N200 Escape

Post by jorovipe97 » Sat Apr 09, 2016 10:47 am


User avatar
jorovipe97
Posts: 48
Joined: Tue Jan 19, 2016 12:08 pm

Re: N200 Escape

Post by jorovipe97 » Sat Apr 09, 2016 3:02 pm

Avance parcial
Image
El jugador ya se mueve mejor con la plataforma, pero aun tiene muchas impertfecciones :cry:

User avatar
juan.alvarez
Posts: 50
Joined: Tue Jan 19, 2016 12:14 pm

Re: N200 Escape

Post by juan.alvarez » Sun Apr 10, 2016 9:25 pm

Re-diseño del Fondo del nivel

Image

User avatar
jorovipe97
Posts: 48
Joined: Tue Jan 19, 2016 12:08 pm

Re: N200 Escape

Post by jorovipe97 » Sun Apr 10, 2016 9:58 pm

Proximo tema a estudiar

¿Iluminación y sombra en unity2D? esto sera importante para que el sistema de sigilo funcione, y para q el fondo no le robe el protagonismo a N200

User avatar
jorovipe97
Posts: 48
Joined: Tue Jan 19, 2016 12:08 pm

Re: N200 Escape

Post by jorovipe97 » Sun Apr 10, 2016 11:52 pm

Ayuda urgente profe

Estamos teniendo muchos problemas con el motor de físicas 2d de unity, el problema esta en los dos métodos siguientes:

Code: Select all

MonoBehaviour.OnCollisionEnter2D(Collision2D)

MonoBehaviour.OnCollisionExit2D(Collision2D)
No se estan invocando, por favor mira nuestro proyecto, el problema se esta dando en el script: PlayerController.cs y el script CollisionsLogic.cs que tienen las plataformas.

Hemos revisado y revisado pero no encontramos algo que estemos haciendo mal, tal vez ¿un bug del engine? y si es asi ¿como poder hackear el bug para lograr hacer lo que queremos?

Mensaje desalentador en reddit: Issues with BoxCollider2D

Ayudanos urgentemente profe :(

User avatar
xacarana
Site Admin
Posts: 1140
Joined: Fri Jan 15, 2016 6:13 pm

Re: N200 Escape

Post by xacarana » Mon Apr 11, 2016 7:54 am

Voy a revisar, pero seria bueno que pusieran la parte del código que esta fallando, para tener una mejor visión de lo que esta pasando. Pongan por favor la ruta del repositorio en el primer post, para que sea más rápido el acceso.
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
jorovipe97
Posts: 48
Joined: Tue Jan 19, 2016 12:08 pm

Re: N200 Escape

Post by jorovipe97 » Mon Apr 11, 2016 4:49 pm

xacarana wrote:Voy a revisar, pero seria bueno que pusieran la parte del código que esta fallando, para tener una mejor visión de lo que esta pasando. Pongan por favor la ruta del repositorio en el primer post, para que sea más rápido el acceso.
Tienes razón, profe, acá pongo el link del repositorio, y detallo mejor el problema

A continuación detallo el problema, este es el PlayerController script

Code: Select all

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour {
    public float AlturaSalto;
    
    // Saltos adicionales
    [Tooltip("El numero de saltos en el aire permitidos")]
    public int NumeroSaltos = 1; // 1 significa que puede saltar dos veces
    [HideInInspector]
    public bool TocoPiso; // true si esta tocando el piso (cualquier plataforma), false si no lo toca
    private int ContadorSaltos; // Para saber si puede hacer mas saltos en el aire
    
    /****
    Codigo sin importancia aca            
    ****/
    
    // Use this for initialization
    void Start () {
        rb = GetComponent<Rigidbody2D>();
        /****
        Codigo sin importancia aca            
        ****/
	}

    // Update is called once per frame
    void FixedUpdate () {
        // Logica del salto
        SaltoLogic();        
    }

    void SaltoLogic()
    {
        // Debug.Log("Toco piso?" + TocoPiso);
        if (Input.GetKeyDown(KeyCode.Space) || TocoPiso)
        {
            if (ContadorSaltos < NumeroSaltos)
            {
                rb.velocity = new Vector2(rb.velocity.x, AlturaSalto);
                ContadorSaltos++;
            }
        }
    }

    // Si toco el piso, entonces el contador de saltos vuelve a ser 0.
    void OnCollisionEnter2D(Collision2D c)
    {
        if (TocoPiso)
            ContadorSaltos = 0;
    }
}
El valor de la variable TocoPiso es asignado mediante un script que tienen todas las plataformas, así se reduce código.

Code: Select all

public class CollisionsLogic : MonoBehaviour {

    public GameObject player;
    private PlayerController playerCtrl;

    void Start () {
        playerCtrl = player.GetComponent<PlayerController>();
    }

    void OnTriggerStay2D(Collider2D c)
    {
        if (c.gameObject.tag.Equals("Player"))
        {
            playerCtrl.TocoPiso = true;
        }
    }

    void OnTriggerExit2D(Collider2D c)
    {
        if (c.gameObject.tag.Equals("Player"))
        {
            playerCtrl.TocoPiso = false;
        }
    }
}
Creamos un bug en el issue tracker, para poder dar seguimiento a este bug

User avatar
xacarana
Site Admin
Posts: 1140
Joined: Fri Jan 15, 2016 6:13 pm

Re: N200 Escape

Post by xacarana » Mon Apr 11, 2016 8:52 pm

El código se ve bien, el problema al parecer puede estar en el heroe o en las plataformas. En el video de esta semana doy algunas pistas sobre el uso del evento OnCollisionEnter2D, sin necesidad de usar el OnCollisionExit2D, yo también tenia problemas con el Exit, debido a la configuración de las plataformas móviles de mi proyecto de ejemplo.

Quedo pendiente.
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
juan.alvarez
Posts: 50
Joined: Tue Jan 19, 2016 12:14 pm

Re: N200 Escape

Post by juan.alvarez » Tue Apr 12, 2016 1:08 pm

Scrum weekly meetings

¿Qué hemos hecho?
  1. Re-diseño del fondo.
  2. Programado la colisión del personaje y la plataforma.
¿Qué vamos a hacer?
  1. Arreglar las colisiones.
  2. Estudiar sobre la iluminación en unity.
¿Qué problemas hemos tenido?
  1. Problema con las colisiones, hacer que el personaje se mueva con las plataformas.
  2. El fondo opaca un poco al jugador (problema próximo a solucionar con la iluminación).

User avatar
jorovipe97
Posts: 48
Joined: Tue Jan 19, 2016 12:08 pm

Re: N200 Escape

Post by jorovipe97 » Wed Apr 13, 2016 1:17 am

Salto y plataforma movil perfeccionadas

El salto ahora funciona como deberia funcionar, es mas fluida y tiene una logica mas robusta y correcta.

Ademas cuando el jugador se pone sobre la plataforma móvil, este se mueve con la plataforma, esto se soluciono usando el Transform.parent (Gracias profe :idea: )

Post Reply