-
Notifications
You must be signed in to change notification settings - Fork 2
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
Optimization: Modularize asset kit for buildings #12
Comments
Proposal: Builder AppThere's a ton of building asset kits already: https://sketchfab.com/search?q=building+kit&type=models Instead of making a new asset kit, reinventing the wheel, I think our efforts would be better spent tapping into the power of real-time collaborative world building that Hyperfy enables with an app that allows us to load asset kits and use them with poweruser keyboard / mouse shortcuts.
User should be able to drag and drop into the world, and have snapping so that pieces can fit perfectly next to each other. This can be done with some keyboard shortcuts as well:
We'll be able to tap into the power of open standards like this gltf-extension for GPU instancing, making bigger worlds that are more performant, and other platforms that utilize this extension will be able to load these worlds in and be performant as well. |
tldr steps to get instancing to work
can use an asset pallet (see https://github.com/M3-org/base-meshes) to test with, and go from there |
there's a cost involved in making something instanced because in threejs you have to specify the amount of instances need to be smart about how to go about it in a way that makes sense, like some kind of heuristic that counts how many times an object spawned and shove things >2 into instance perhaps could add ?instance=true in the asset pallete url so the platform knows to instance? or detect objects after spawning in some kind of manual optimization step for worlds |
To make a bigger world, we need to modularize assets so that we can use gltf-extension for instancing that hyperfy now supports. Here is an example architecture kit from mozilla hubs: https://hubs.mozilla.com/docs/spoke-architecture-kit.html
This way we can save on draw calls. Things we want to reuse:
The text was updated successfully, but these errors were encountered: