Manual: Collision Settings — CollisionLayer and CollisionMask

ACTION GAME MAKER utiliza directamente el sistema de capas de colisión de Godot. Cuando se usa de manera efectiva, esto permite una amplia variedad de comportamientos e interacciones de colisión.


Dónde Configurar las Colisiones

Colisiones con Muros

Colisiones de Ataque

  • AttackArea2D: CollisionObject2D > Collision

Colisiones de Impacto

  • HitArea2D: CollisionObject2D > Collision

Comprensión de CollisionLayer y CollisionMask

  • Collision Layer: Indica a qué capa(s) pertenece el objeto.
  • Collision Mask: Indica con qué capa(s) desea colisionar el objeto.

Orden de las Verificaciones de Colisión y Grupo/AttackAttribute

  1. Procesamiento de colisión (Collision Layer / Collision Mask)
  2. Procesamiento de Grupo / AttackAttribute

Esto significa que las verificaciones de grupo o atributo solo se realizan después de que se ha detectado la colisión. Por lo tanto, si dos objetos o baldosas no colisionan, su procesamiento de grupo/atributo no se ejecutará.


Organización de los Nombres de las Capas de Colisión

Puede asignar nombres a las capas de colisión mediante:
Project Settings > General > Layer Names > 2D Physics

Una vez configurado, al pasar el cursor sobre el número de capa se mostrará el nombre asignado.


Colisiones Unidireccionales

Dado que CollisionMask es unidireccional, permite interacciones asimétricas:

Ejemplo:

  • Object A: Layer = 1, Mask = 1
  • Object B: Layer = 2, Mask = 1, 2

Object A no detectará a Object B, pero Object B detectará a Object A.

Esto conduce a un resultado único:

  • Object A puede empujar a Object B, pero
  • Object B no puede empujar a Object A

¿Por qué?

Esto se debe a un concepto ligeramente avanzado:

  • Object A no reconoce a Object B, pero se mueve.
  • Object B, que reconoce a Object A, intenta aplicar la física de retroceso.
  • Sin embargo, como Object A no reconoce la colisión, no responde y no se mueve ni 1px.

Plataformas Móviles Sobre las Que Puedes Pararte

Puede utilizar este comportamiento para crear plataformas que transporten personajes sin desplazarse por la colisión.

Para hacerlo:

  • Establezca la Collision Mask de la plataforma móvil en nada (vacía).
  • Esto hace que la plataforma sea inmune a ser empujada por cualquier cosa, pero aún capaz de transportar objetos sobre ella.