Estou tentando realizar um comportamento físico deformador para superfícies niveladas, mas não tenho nenhuma idéia de como começar com a implementação até agora.
Independentemente da forma da superfície (planos, cubos, esferas ...), quero ter pequenos recuos nas posições das entidades do jogo (jogadores, inimigos, objetos ...).
É meio complicado de explicar, então ilustrei do que estou falando. Aqui está um exemplo com uma esfera:
Portanto, as superfícies devem poder se deformar um pouco (para parecer uma cama ou um sofá muito macio). Minhas superfícies provavelmente precisam de uma alta contagem de vértices para obter uma deformação suave, mas meu grande problema é a matemática para calcular essa deformação.
Estou programando em C / C ++ com OpenGL, mas qualquer conselho na direção certa será bom.