Chipmunk2D с буксировкой соединений, которая воссоздает динамическую мягкую динамику тела для поверхностного и поверхностного натяжения, с ограничением на «растяжение», которое отличается от нижнего уровня вверх, так что волны, создаваемые при снятии поверхностного натяжения, образуют гребни, когда рыба поднимается, но ничто так резко, когда рыба погружается.
Я думаю, он использует поддельные объекты рыбы, чтобы «сломать» поверхность, как вверх, так и вниз. В тот момент, когда эти объекты отскакивают из-за того, что они достигли пределов диапазона движения «мягкого тела», он, вероятно, удаляет их и дает fishSprite ожидаемую скорость прорыва. Или какой-то другой «хакерский» способ создать впечатление нарушения поверхности.
Гармоники движения по всей цепочке поверхностных блоков через их соединение в качестве поддельной мягкой цепи тела нуждаются в тонком повороте, чтобы получить то, что вы желаете.
Плюс плавучесть для любых и всех плавающих объектов.
Наверное, это не так быстро, как в любой точке видимости, видимой в этой игре.
Если вы хотите попробовать более творческий подход, чем точной репликации, можно использовать подход, подобный этому:
http://google.github.io/liquidfun/
Другой способ сделать это также с помощью Google:
https://www.youtube.com/watch?v=Ss89OpQ_u54
А вот еще вдохновляющее видео о том, как возможно сделать это трудный путь:
https://www.youtube.com/watch?v=_rCowyFle6c
Я бы хотел увидеть это сам, но если никто не решит опубликовать, самый простой результат, вероятно, будет заключаться в создании ряда физических тел, имитирующих пружины, которые ограничены суставами, чтобы создать волну. Затем тщательно продублированные узлы эмиттера будут использоваться для эффектов всплеска ... – MaxKargin