Tengo un controlador de personaje básico configurado para un juego de plataformas en 2D con Box2D, y estoy empezando a modificarlo para tratar de que se sienta bien. Los motores de física tienen muchas perillas para ajustar, y no me queda claro, escribiendo con un motor de física por primera vez, cuáles debo usar. ¿Debería el salto aplicar una fuerza para varias garrapatas? Un impulso? Establecer directamente la velocidad? ¿Cómo evito que el avatar se pegue a las paredes sin eliminar toda su fricción (o elimino toda la fricción, pero solo en el aire)? ¿Debo modelar el personaje como una cápsula? ¿Una caja con esquinas redondeadas? ¿Una caja con dos ruedas? ¿Solo una gran rueda? ¡Siento que alguien debe haber hecho esto antes!
Parece que hay muy pocos recursos disponibles en la web que no sean "la primera física del bebé", que se cortaron donde espero que alguien ya haya resuelto los problemas. La mayoría de los ejemplos de motores de física para plataformas tienen controles de sensación de flotación, saltos en el aire o comportamiento fácilmente explotable cuando la penetración temporal es demasiado alta, etc.
Algunos ejemplos de lo que quiero decir:
- Un pequeño toque de salto salta una corta distancia; Un largo toque salta más alto.
- Patinaje corto al parar o invertir direcciones a alta velocidad.
- Pararse de manera estable en pendientes (pero tal vez deslizarse hacia abajo al agacharse).
- Velocidad analógica cuando se usa un controlador analógico.
- Todas las otras cosas que separan a los buenos plataformas de los malos.
- ¿Me atrevo a sugerir, plataformas móviles estables?
Realmente no estoy buscando "hey, haz esto". Obviamente, lo correcto depende de lo que quiero en el juego. Pero espero que alguien en algún lugar haya pasado por las posibilidades y haya dicho "bien, la técnica A sí presenta X bien, la técnica B sí hace bien Y, pero eso no funciona con C", o tiene algunos ejemplos más allá de "if (key = = espacio) character.impulse (0, 1) "