Voxel-Based Object Destruction in Godot 4 – Suggestions & Feature Ideas?

Hey everyone,

I’ve been working on a voxel-based object destruction plugin in Godot 4.3 using Meshinstance3D, and I wanted to start a discussion on optimizations and potential features. My plugin allows for real-time GridMap-based voxel object destruction and a darkening effect as voxel health goes down. It can import .vox files, but I’m looking for ways to improve efficiency and expand functionality.

Optimizations for Voxel Destruction

For those who’ve worked with Voxel Destruction in any Project, what are the best ways to:

  1. Efficiently remove or modify multiple voxels at once without causing performance spikes?
  2. Optimize physics and collision handling for destroyed voxel chunks?
  3. Add Voxel Object physics

I also want to make voxel object destruction more dynamic and fun. What features would make a voxel destruction more engaging?

If you have experience with voxel destruction in Godot or ideas on how to push performance and realism further, I’d love to hear your thoughts!

Thanks!

I guess i would want to ask if you have profiled performance of your systems, especially with a flame graph or some detailed breakdown?

It will be easier to focus on the slow parts once this is done.

Im sceptical that gridmap can actually be efficient for this in general.

Here is an interesting analysis it seems like it heavily realize on the GPU with a custom engine too.

I switched to MultimeshInstance3D because of it’s ability to render many instances of the same mesh with different colors.

I published the addon! You can find at: https://godotengine.org/asset-library/asset/3743

2 Likes