Mientras buscaba esta solución, noté muchos usados, cannonBody.velocity.y = JUMP_VELOCITY
Pero en mi caso, funciona mientras el objeto ya está en movimiento, pero no una vez que se detiene. Entonces, me preguntaba si hay algunas condiciones que deben cumplirse para que salte.
También recomendaría un fragmento de demostración de cómo hacer que un objeto simple (una pelota) salte cuando se presiona la barra espaciadora.
Cambié a OimoPhysics y las cosas se despertaron correctamente. Utiliza las mismas convenciones. ¿Cómo reemplaza el mundo de la física en una configuración declarativa, no sé ...? Lo hice con Canon, donde estableces la tolerancia de configuración. Pero incluso con la configuración rápida en la que solo agrega un cuerpo o lo mueve, Oimo resolvió el problema del sueño de inmediato. ApplyForce sería más consistente y realista que un valor + y arbitrario. Creo que applyForce daría menos problemas.
Es fácil olvidar llamar a la actualización de la física después de mover la geometría. Si el bucle de renderizado pierde un paso, su geometría puede congelarse, perderse en el cuerpo físico. O si agrega otro cuerpo físico en su lugar, el puntero original puede perderse. Entonces, si otro cuerpo choca, se despertará de repente. Depende de las circunstancias y de la versión...