Examples: Combine multiple InstancedMesh into a single BatchedMesh #31944
+346
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When working in blender you can make linked copies of objects, so they all share the same geometry. Then when exporting to GLB you can enable GPU Instancing which will allow the file to be lighter, sharing a single geometry across many instances. Then when loading into Three these will be seen as InstancedMesh. But if these instances share the same materials we can combine them into a BatchedMesh to optimize performance even more.
In this example an environment is loaded that has many InstancedMeshes but they all share the same material, so they are combined into a single BatchedMesh.