Conversation
add missing generate mipmap step allow mipmaps to be toggled
|
Been making a few significant architectural changes, since this refactor is all about making things fit the Godot design patterns. Refactorings are still a work in progress, but this is the direction I've been going
|
|
More refactoring adjustments
Due some features having been moved into Effects, such as Motions, the properties have been removed from GDCubismUserModel. I am contemplating encouraging accessing through nodes in the scene tree with |
users are less likely to override this behavior, so it is better than taking over the virtual functions
z-indexes are a bit broken for groups, in our case it's preferred to sort within the scene tree even if that's more expensive of an operation. Render order in most models no not extensively change from frame to frame so it should result in minimal operational overhead versus the other workaround of wrapping models in viewports.
|
Just an update on this, I've been using this branch for quite awhile in my own project, paired with #153 for improved binary distribution. I've gone and squashed other changes I had into it to overall make the performance and stability more predictable. Lots has been simplified with shaders, overall the approach has worked quite well for me allowing for dynamically loading models at runtime, as well as bundled as Godot managed importable resources. This branch should already be in a state that's good for anyone to use. |
This is a large refactor PR that I've been developing and testing in my own applications as I go.
Goal is to separate out standing up Live2D models purely at runtime or dynamic settings within the editor. Instead Models can now be treated as Resources, specifically PackedScenes, that can be instantiated and cached. This improves time to create instances of models, as we no longer need the SDK to rebuild the meshes and materials at runtime.
The front facing API of the GDCubismUserModel should be largely unaffected, but a lot has been changed under the hood
Key changes
Opening as a draft just to highlight that this is something I'm actively working on that people can try out. It is a bit comprehensive as it also includes and depends on other open PRs. I will be squashing and rebasing commits as I go and as other PRs get merged.
User experience may not be perfect until godotengine/godot#100086 is merged, as Godot currently detects
jsonas the extension for all Live2D files, which can cause an undesired importer match on unrelated files.