Estaba a punto de publicar un enlace al blog de la Base de Asteroides en el enemigo Walker cuando noté que Karmington ya estaba vinculado al artículo de Gamasutra en un comentario.
Sin embargo, probablemente valga la pena dar a esto un poco más de visibilidad y explicación como respuesta.
El truco son los rayos . Estos permiten que su código escanee a lo largo de una línea en busca de una colisión.
Para que el Walker se alinee bien con las superficies, disparan dos rayos hacia el terreno, uno desde el lado izquierdo del Walker y otro desde la derecha (líneas rojas y amarillas arriba).
De cada objeto RaycastHit2D, puede obtener un vector normal que apunta perpendicular a la superficie (líneas magenta y verde). Al promediar las normales de los dos golpes, obtienes una orientación adecuada para tu personaje que refleja razonablemente el terreno subyacente (línea cian).
Puede aplicar una fuerza hacia abajo a lo largo de esta línea de orientación para mantener al personaje pegado al terreno (aunque esto puede causar cierto deslizamiento si la fricción es baja), o posicionar manualmente el personaje en el punto de intersección de rayos promedio como se hace con el Caminante.
Querrás mezclar la orientación del personaje gradualmente para evitar que tu personaje vibre o se vea robótico (mira cómo la normalidad cambia bruscamente cuando el Caminante cruza la esquina, pero el cuerpo se mueve suavemente).
Si tiene esquinas afiladas en su terreno, es probable que desee inclinar ligeramente estos rayos hacia adentro, de modo que si la araña pasa por el borde de un acantilado de 90 grados, el rayo que sobresale golpeará la cara del acantilado.
El equipo de la Base de Asteroides también dispara un rayo corto en la dirección del movimiento del Caminante (no se muestra), que anula el rayo de ese lado si toca el terreno. Eso asegura que el caminante no se atasque al caminar en una esquina cóncava de 90 grados.
Según los documentos, la emisión de rayos 2D difiere de la de 3D en que detecta colisionadores dentro de los cuales comienza el rayo. Eso me parece sospechoso, pero si sus pruebas lo confirman, querrá usar una máscara de capa para limitar los rayos para detectar solo colisionadores de terreno escalables.