Skip to content

Add physics support for live2d models#6818

Open
ronchonbon wants to merge 5 commits into
renpy:masterfrom
ronchonbon:live2d-physics
Open

Add physics support for live2d models#6818
ronchonbon wants to merge 5 commits into
renpy:masterfrom
ronchonbon:live2d-physics

Conversation

@ronchonbon
Copy link
Copy Markdown
Contributor

Per #4614, re-implementation of Live2D physics support in Cython.

I use an alternate formulation of Live2DModel for my projects with a different flow, but I've placed the example call to evaluate_physics in I think a logical place within Live2D.render - as the last call after parameters have been updated by the update_function pipeline.

This placement does have a downside: because Live2D physics operates on parameters, any modification of a physics-affected parameter by update_function or an expression will be overridden by the physics engine, leading to glitchy movement. The most obvious workaround is to only manually set non-physics parameters. There are relatively simple alternate workflows if you want a parameter to have both physics and be manually settable, which I'm happy to discuss with anyone who's interested.

@Keinart
Copy link
Copy Markdown

Keinart commented Dec 27, 2025

Absolutely incredible implementation for all Live2D devs, almost obligatory since baking physics during the animation process usually lead to strange results. I really hope @renpytom checks it out and this goes live as soon as possible. Thank you so much for this.

@raspberry-soft
Copy link
Copy Markdown
Contributor

Wow! Waited so long for this! Any updates on this?

@ronchonbon
Copy link
Copy Markdown
Contributor Author

Probably not a priority while 8.5.3/8.6.0 are being worked up, but the changes are drop-in compatible with both master and fix so you can start using physics with your Live2D models as is if you wish.

@renpytom
Copy link
Copy Markdown
Member

I'd expect this to go in right after 8.5.3 is out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants