Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revisit performance, especially in relation to how geometry is passed from Blender to libsm64 #17

Open
soup587 opened this issue Mar 13, 2022 · 2 comments

Comments

@soup587
Copy link

soup587 commented Mar 13, 2022

I'm assuming the addon works by building collision based off of existing meshes?
Sometimes with relatively simple scenes it can take minutes to build everything and unfreeze Blender.
As an example, try placing the laptop from the cube_diorama demo file, which takes about 1-2 minutes on my 2600x to setup

@jaburns
Copy link
Collaborator

jaburns commented Mar 15, 2022

Yeah there hasn't been much time spent on optimization of anything yet.

@jaburns jaburns changed the title Build optimizations? Revisit performance, especially in relation to how geometry is passed from Blender to libsm64 Mar 15, 2022
@JamesO2x
Copy link
Contributor

Something related to this that I think would improve performance a lot: The option to select a specific Collection in blender to let LibSM64 define as the collision geometry. This way LibSM64 doesn't attempt to process the ENTIRE blender file's geometry all at once,

This actually would solve multiple problems:

  • Improve performance, as less geometry needs processing.
  • Allows the user to create their own lower-poly collision mesh that would have a higher-poly non-collision geometry over it, without needing any new complex data structure.
  • Since the collision geometry and visible geometry would now be separate, the user can now create "fake walls" without collision geometry, or decorations such as bushes, grass, and other geometry that Mario should just pass through.
  • Using a Collection as the collision geometry would allow the user to very easily switch objects from solid to non-solid by simply moving them in/out of the collection.

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

No branches or pull requests

3 participants