Resultados 1 al 2 de 2

Tema: Personaje no toca suelo con checkground en Unity 2d

  1. #1
    Fecha de ingreso
    Dec 2021
    Mensajes
    1

    Personaje no toca suelo con checkground en Unity 2d

    Hola, estoy empezando con un juego y tengo un problema, estoy haciendo un plataformas y tengo un checkground en el jugador para comprobar que esté en el suelo, (esto lo estoy comprobando con un tag).

    Hasta ahora funcionaba bien pero me encontré con un problema, agregué cajas para empujar, pero al momento de estar en contacto con la caja, el checkground deja de funcionar correctamente.

    Para ver si estaba detectando el piso correctamente le pedí a Unity que me dijera si esta tocando "piso" o no, todo funciona hasta tocar la caja, en donde me dice que no esta tocando piso y se queda en ese estado, para dar una referencia, este es el jugador y la caja:

    Clic en la imagen para ver su versión completa. 

Nombre: Screenshot_2.png 
Visitas: 197 
Tamaño: 7.3 KB 
ID: 241489

    El código que uso para saber si estoy en el piso es el siguiente:

    Código:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    
    public class CheckGround : MonoBehaviour
    {
        GameObject Player;
        public static bool isGrounded;
        
        void Start()
        {
            Player = gameObject.transform.parent.gameObject;
        }
    
    
        // Update is called once per frame
        void Update()
        {
            
        }
    
    
        private void OnTriggerEnter2D(Collider2D collision)
        {
            if (collision.tag == "Ground")
            {
                isGrounded = true;
                print("true");
            }
        }
         private void OnTriggerExit2D(Collider2D collision)
         {
              isGrounded = false;
              print("false");
         }
    
    
    }
    Para aclarar, al momento de tocar la caja, isGrounded queda en false y no cambia aunque esté tocando algo con el tag "Ground".

  2. #2
    Fecha de ingreso
    Jul 2004
    Mensajes
    304
    Tienes varias cajas puestas y no entiendo para qué, pero bueno, tendrás tu sistema, creo que el problema viene porque las cajas las tendrás marcadas como collider. Esto puede llevar a dos situaciones: que Unity interprete que es el collider del player y lo suba hasta que el collider más bajo se quede tocando el ground, con lo que en tu caso el collider real del player nunca lo tocará.

    También puede ser que no interprete nada y lo deje todo como está, quedando dos colliders, uno de los que has puesto y el del terreno, superponiéndose, lo cual hará que no puedas mover al player por la fricción.

Temas similares

  1. Respuestas: 1
    : 13-04-2023, 08:15
  2. No avanza mi personaje en Unity
    Por isaackmexicali en el foro Videojuegos
    Respuestas: 5
    : 02-05-2022, 16:55
  3. Mi modelo en Unreal no toca el suelo
    Por ROGELIO LOZANO en el foro Videojuegos
    Respuestas: 0
    : 04-08-2020, 21:09
  4. Rotar personaje sin que avance Unity SOLUCIONADO
    Por Jhonatan00_00 en el foro Programación y Scripts
    Respuestas: 3
    : 07-02-2019, 11:19
  5. 3dsMax Personaje estático con el animator de Unity
    Por heromen en el foro Animación y Rigging
    Respuestas: 4
    : 16-05-2017, 00:13